diff options
Diffstat (limited to 'Swift/Controllers')
| -rw-r--r-- | Swift/Controllers/Chat/ChatController.cpp | 2 | ||||
| -rw-r--r-- | Swift/Controllers/Chat/ChatControllerBase.cpp | 9 | ||||
| -rw-r--r-- | Swift/Controllers/Chat/ChatControllerBase.h | 4 | ||||
| -rw-r--r-- | Swift/Controllers/Chat/MUCController.cpp | 9 | ||||
| -rw-r--r-- | Swift/Controllers/HistoryViewController.cpp | 16 | ||||
| -rw-r--r-- | Swift/Controllers/Roster/ContactRosterItem.cpp | 4 | ||||
| -rw-r--r-- | Swift/Controllers/Roster/ContactRosterItem.h | 9 | ||||
| -rw-r--r-- | Swift/Controllers/Roster/Roster.cpp | 4 | ||||
| -rw-r--r-- | Swift/Controllers/Roster/Roster.h | 4 | ||||
| -rw-r--r-- | Swift/Controllers/Roster/RosterController.cpp | 15 | ||||
| -rw-r--r-- | Swift/Controllers/Roster/SetAvatar.h | 7 | ||||
| -rw-r--r-- | Swift/Controllers/Roster/TableRoster.h | 5 | ||||
| -rw-r--r-- | Swift/Controllers/StatusCache.cpp | 2 | ||||
| -rw-r--r-- | Swift/Controllers/Storages/AvatarFileStorage.cpp | 2 | ||||
| -rw-r--r-- | Swift/Controllers/Storages/CertificateFileStorage.cpp | 2 | ||||
| -rw-r--r-- | Swift/Controllers/Storages/FileStorages.cpp | 5 | ||||
| -rw-r--r-- | Swift/Controllers/Storages/VCardFileStorage.cpp | 3 | 
17 files changed, 57 insertions, 45 deletions
| diff --git a/Swift/Controllers/Chat/ChatController.cpp b/Swift/Controllers/Chat/ChatController.cpp index 1fb45a9..f5c690c 100644 --- a/Swift/Controllers/Chat/ChatController.cpp +++ b/Swift/Controllers/Chat/ChatController.cpp @@ -285,7 +285,7 @@ void ChatController::postSendMessage(const std::string& body, boost::shared_ptr<  		eraseIf(unackedStanzas_, PairSecondEquals<boost::shared_ptr<Stanza>, std::string>(myLastMessageUIID_));  		replaceMessage(body, myLastMessageUIID_, boost::posix_time::microsec_clock::universal_time(), HighlightAction());  	} else { -		myLastMessageUIID_ = addMessage(body, QT_TRANSLATE_NOOP("", "me"), true, labelsEnabled_ ? chatWindow_->getSelectedSecurityLabel().getLabel() : boost::shared_ptr<SecurityLabel>(), std::string(avatarManager_->getAvatarPath(selfJID_).string()), boost::posix_time::microsec_clock::universal_time(), HighlightAction()); +		myLastMessageUIID_ = addMessage(body, QT_TRANSLATE_NOOP("", "me"), true, labelsEnabled_ ? chatWindow_->getSelectedSecurityLabel().getLabel() : boost::shared_ptr<SecurityLabel>(), avatarManager_->getAvatarPath(selfJID_), boost::posix_time::microsec_clock::universal_time(), HighlightAction());  	}  	if (stanzaChannel_->getStreamManagementEnabled() && !myLastMessageUIID_.empty() ) { diff --git a/Swift/Controllers/Chat/ChatControllerBase.cpp b/Swift/Controllers/Chat/ChatControllerBase.cpp index e469637..621fd2d 100644 --- a/Swift/Controllers/Chat/ChatControllerBase.cpp +++ b/Swift/Controllers/Chat/ChatControllerBase.cpp @@ -18,6 +18,7 @@  #include <Swift/Controllers/Intl.h>  #include <Swiften/Base/format.h> +#include <Swiften/Base/Path.h>  #include <Swiften/Base/String.h>  #include <Swiften/Client/StanzaChannel.h>  #include <Swiften/Elements/Delay.h> @@ -179,11 +180,11 @@ void ChatControllerBase::activateChatWindow() {  	chatWindow_->activate();  } -std::string ChatControllerBase::addMessage(const std::string& message, const std::string& senderName, bool senderIsSelf, const boost::shared_ptr<SecurityLabel> label, const std::string& avatarPath, const boost::posix_time::ptime& time, const HighlightAction& highlight) { +std::string ChatControllerBase::addMessage(const std::string& message, const std::string& senderName, bool senderIsSelf, const boost::shared_ptr<SecurityLabel> label, const boost::filesystem::path& avatarPath, const boost::posix_time::ptime& time, const HighlightAction& highlight) {  	if (boost::starts_with(message, "/me ")) { -		return chatWindow_->addAction(String::getSplittedAtFirst(message, ' ').second, senderName, senderIsSelf, label, avatarPath, time, highlight); +		return chatWindow_->addAction(String::getSplittedAtFirst(message, ' ').second, senderName, senderIsSelf, label, pathToString(avatarPath), time, highlight);  	} else { -		return chatWindow_->addMessage(message, senderName, senderIsSelf, label, avatarPath, time, highlight); +		return chatWindow_->addMessage(message, senderName, senderIsSelf, label, pathToString(avatarPath), time, highlight);  	}  } @@ -266,7 +267,7 @@ void ChatControllerBase::handleIncomingMessage(boost::shared_ptr<MessageEvent> m  			}  		}  		else { -			lastMessagesUIID_[from] = addMessage(body, senderDisplayNameFromMessage(from), isIncomingMessageFromMe(message), label, std::string(avatarManager_->getAvatarPath(from).string()), timeStamp, highlight); +			lastMessagesUIID_[from] = addMessage(body, senderDisplayNameFromMessage(from), isIncomingMessageFromMe(message), label, avatarManager_->getAvatarPath(from), timeStamp, highlight);  		}  		logMessage(body, from, selfJID_, timeStamp, true); diff --git a/Swift/Controllers/Chat/ChatControllerBase.h b/Swift/Controllers/Chat/ChatControllerBase.h index 84bd06a..0199142 100644 --- a/Swift/Controllers/Chat/ChatControllerBase.h +++ b/Swift/Controllers/Chat/ChatControllerBase.h @@ -10,7 +10,7 @@  #include <vector>  #include <boost/shared_ptr.hpp>  #include "Swiften/Base/boost_bsignals.h" -#include <boost/filesystem.hpp> +#include <boost/filesystem/path.hpp>  #include <boost/optional.hpp>  #include <boost/date_time/posix_time/posix_time.hpp> @@ -50,7 +50,7 @@ namespace Swift {  			void activateChatWindow();  			virtual void setAvailableServerFeatures(boost::shared_ptr<DiscoInfo> info);  			void handleIncomingMessage(boost::shared_ptr<MessageEvent> message); -			std::string addMessage(const std::string& message, const std::string& senderName, bool senderIsSelf, boost::shared_ptr<SecurityLabel> label, const std::string& avatarPath, const boost::posix_time::ptime& time, const HighlightAction& highlight); +			std::string addMessage(const std::string& message, const std::string& senderName, bool senderIsSelf, boost::shared_ptr<SecurityLabel> label, const boost::filesystem::path& avatarPath, const boost::posix_time::ptime& time, const HighlightAction& highlight);  			void replaceMessage(const std::string& message, const std::string& id, const boost::posix_time::ptime& time, const HighlightAction& highlight);  			virtual void setOnline(bool online);  			virtual void setEnabled(bool enabled); diff --git a/Swift/Controllers/Chat/MUCController.cpp b/Swift/Controllers/Chat/MUCController.cpp index b964bad..6bf3e5f 100644 --- a/Swift/Controllers/Chat/MUCController.cpp +++ b/Swift/Controllers/Chat/MUCController.cpp @@ -312,8 +312,7 @@ void MUCController::handleAvatarChanged(const JID& jid) {  	if (parting_ || !jid.equals(toJID_, JID::WithoutResource)) {  		return;  	} -	std::string path = avatarManager_->getAvatarPath(jid).string(); -	roster_->applyOnItems(SetAvatar(jid, path, JID::WithResource)); +	roster_->applyOnItems(SetAvatar(jid, avatarManager_->getAvatarPath(jid), JID::WithResource));  }  void MUCController::handleWindowClosed() { @@ -337,7 +336,7 @@ void MUCController::handleOccupantJoined(const MUCOccupant& occupant) {  	NickJoinPart event(occupant.getNick(), Join);  	appendToJoinParts(joinParts_, event);  	std::string groupName(roleToGroupName(occupant.getRole())); -	roster_->addContact(jid, realJID, occupant.getNick(), groupName, avatarManager_->getAvatarPath(jid).string()); +	roster_->addContact(jid, realJID, occupant.getNick(), groupName, avatarManager_->getAvatarPath(jid));  	roster_->getGroup(groupName)->setManualSort(roleToSortName(occupant.getRole()));  	if (joined_) {  		std::string joinString; @@ -483,7 +482,7 @@ void MUCController::handleOccupantRoleChanged(const std::string& nick, const MUC  		realJID = occupant.getRealJID().get();  	}  	std::string group(roleToGroupName(occupant.getRole())); -	roster_->addContact(jid, realJID, nick, group, avatarManager_->getAvatarPath(jid).string()); +	roster_->addContact(jid, realJID, nick, group, avatarManager_->getAvatarPath(jid));  	roster_->getGroup(group)->setManualSort(roleToSortName(occupant.getRole()));  	chatWindow_->addSystemMessage(str(format(QT_TRANSLATE_NOOP("", "%1% is now a %2%")) % nick % roleToFriendlyName(occupant.getRole())), ChatWindow::DefaultDirection);  	if (nick == nick_) { @@ -830,7 +829,7 @@ void MUCController::addRecentLogs() {  		bool senderIsSelf = nick_ == message.getFromJID().getResource();  		// the chatWindow uses utc timestamps -		addMessage(message.getMessage(), senderDisplayNameFromMessage(message.getFromJID()), senderIsSelf, boost::shared_ptr<SecurityLabel>(new SecurityLabel()), std::string(avatarManager_->getAvatarPath(message.getFromJID()).string()), message.getTime() - boost::posix_time::hours(message.getOffset()), HighlightAction()); +		addMessage(message.getMessage(), senderDisplayNameFromMessage(message.getFromJID()), senderIsSelf, boost::shared_ptr<SecurityLabel>(new SecurityLabel()), avatarManager_->getAvatarPath(message.getFromJID()), message.getTime() - boost::posix_time::hours(message.getOffset()), HighlightAction());  	}  } diff --git a/Swift/Controllers/HistoryViewController.cpp b/Swift/Controllers/HistoryViewController.cpp index 9343017..cfa2482 100644 --- a/Swift/Controllers/HistoryViewController.cpp +++ b/Swift/Controllers/HistoryViewController.cpp @@ -4,6 +4,12 @@   * See Documentation/Licenses/BSD-simplified.txt for more information.   */ +/* + * Copyright (c) 2013 Remko Tronçon + * Licensed under the GNU General Public License. + * See the COPYING file for more information. + */ +  #include <Swift/Controllers/HistoryViewController.h>  #include <Swift/Controllers/UIInterfaces/HistoryWindowFactory.h> @@ -15,6 +21,7 @@  #include <Swiften/Avatars/AvatarManager.h>  #include <Swift/Controllers/Roster/SetPresence.h>  #include <Swift/Controllers/Roster/SetAvatar.h> +#include <Swiften/Base/Path.h>  namespace Swift {  	static const std::string category[] = { "Contacts", "MUC", "Contacts" }; @@ -146,7 +153,7 @@ void HistoryViewController::handleNewMessage(const HistoryMessage& message) {  	// update contacts  	if (!contacts_[message.getType()].count(displayJID)) { -		roster_->addContact(displayJID, displayJID, nickResolver_->jidToNick(displayJID), category[message.getType()], avatarManager_->getAvatarPath(displayJID).string()); +		roster_->addContact(displayJID, displayJID, nickResolver_->jidToNick(displayJID), category[message.getType()], avatarManager_->getAvatarPath(displayJID));  	}  	contacts_[message.getType()][displayJID].insert(message.getTime().date()); @@ -154,7 +161,7 @@ void HistoryViewController::handleNewMessage(const HistoryMessage& message) {  void HistoryViewController::addNewMessage(const HistoryMessage& message, bool addAtTheTop) {  	bool senderIsSelf = message.getFromJID().toBare() == selfJID_; -	std::string avatarPath = avatarManager_->getAvatarPath(message.getFromJID()).string(); +	std::string avatarPath = pathToString(avatarManager_->getAvatarPath(message.getFromJID()));  	std::string nick = message.getType() != HistoryMessage::Groupchat ? nickResolver_->jidToNick(message.getFromJID()) : message.getFromJID().getResource();  	historyWindow_->addMessage(message.getMessage(), nick, senderIsSelf, avatarPath, message.getTime(), addAtTheTop); @@ -177,7 +184,7 @@ void HistoryViewController::handleReturnPressed(const std::string& keyword) {  			else {  				nick = nickResolver_->jidToNick(jid);  			} -			roster_->addContact(jid, jid, nick, category[type], avatarManager_->getAvatarPath(jid).string()); +			roster_->addContact(jid, jid, nick, category[type], avatarManager_->getAvatarPath(jid));  			Presence::ref presence = getPresence(jid, type == HistoryMessage::Groupchat); @@ -323,8 +330,7 @@ void HistoryViewController::handlePresenceChanged(Presence::ref presence) {  }  void HistoryViewController::handleAvatarChanged(const JID& jid) { -	std::string path = avatarManager_->getAvatarPath(jid).string(); -	roster_->applyOnItems(SetAvatar(jid, path)); +	roster_->applyOnItems(SetAvatar(jid, avatarManager_->getAvatarPath(jid)));  }  Presence::ref HistoryViewController::getPresence(const JID& jid, bool isMUC) { diff --git a/Swift/Controllers/Roster/ContactRosterItem.cpp b/Swift/Controllers/Roster/ContactRosterItem.cpp index bf85167..70b4a1b 100644 --- a/Swift/Controllers/Roster/ContactRosterItem.cpp +++ b/Swift/Controllers/Roster/ContactRosterItem.cpp @@ -52,11 +52,11 @@ std::string ContactRosterItem::getIdleText() const {  	}  } -void ContactRosterItem::setAvatarPath(const std::string& path) { +void ContactRosterItem::setAvatarPath(const boost::filesystem::path& path) {  	avatarPath_ = path;  	onDataChanged();  } -const std::string& ContactRosterItem::getAvatarPath() const { +const boost::filesystem::path& ContactRosterItem::getAvatarPath() const {  	return avatarPath_;  } diff --git a/Swift/Controllers/Roster/ContactRosterItem.h b/Swift/Controllers/Roster/ContactRosterItem.h index fc65d6d..67a9722 100644 --- a/Swift/Controllers/Roster/ContactRosterItem.h +++ b/Swift/Controllers/Roster/ContactRosterItem.h @@ -1,5 +1,5 @@  /* - * Copyright (c) 2010 Kevin Smith + * Copyright (c) 2010-2013 Kevin Smith   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */ @@ -18,6 +18,7 @@  #include "Swiften/Base/boost_bsignals.h"  #include <boost/shared_ptr.hpp>  #include <boost/date_time/posix_time/ptime.hpp> +#include <boost/filesystem/path.hpp>  namespace Swift { @@ -43,8 +44,8 @@ class ContactRosterItem : public RosterItem {  		StatusShow::Type getSimplifiedStatusShow() const;  		std::string getStatusText() const;  		std::string getIdleText() const; -		void setAvatarPath(const std::string& path); -		const std::string& getAvatarPath() const; +		void setAvatarPath(const boost::filesystem::path& path); +		const boost::filesystem::path& getAvatarPath() const;  		const JID& getJID() const;  		void setDisplayJID(const JID& jid);  		const JID& getDisplayJID() const; @@ -66,7 +67,7 @@ class ContactRosterItem : public RosterItem {  		JID jid_;  		JID displayJID_;  		boost::posix_time::ptime lastAvailableTime_; -		std::string avatarPath_; +		boost::filesystem::path avatarPath_;  		std::map<std::string, boost::shared_ptr<Presence> > presences_;  		boost::shared_ptr<Presence> offlinePresence_;  		boost::shared_ptr<Presence> shownPresence_; diff --git a/Swift/Controllers/Roster/Roster.cpp b/Swift/Controllers/Roster/Roster.cpp index 3d0ca2e..9b45b63 100644 --- a/Swift/Controllers/Roster/Roster.cpp +++ b/Swift/Controllers/Roster/Roster.cpp @@ -1,5 +1,5 @@  /* - * Copyright (c) 2010 Remko Tronçon + * Copyright (c) 2010-2013 Remko Tronçon   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */ @@ -105,7 +105,7 @@ void Roster::handleChildrenChanged(GroupRosterItem* item) {  	onChildrenChanged(item);  } -void Roster::addContact(const JID& jid, const JID& displayJID, const std::string& name, const std::string& groupName, const std::string& avatarPath) { +void Roster::addContact(const JID& jid, const JID& displayJID, const std::string& name, const std::string& groupName, const boost::filesystem::path& avatarPath) {  	GroupRosterItem* group(getGroup(groupName));  	ContactRosterItem *item = new ContactRosterItem(jid, displayJID, name, group);	  	item->setAvatarPath(avatarPath); diff --git a/Swift/Controllers/Roster/Roster.h b/Swift/Controllers/Roster/Roster.h index 91a152f..a4c8b99 100644 --- a/Swift/Controllers/Roster/Roster.h +++ b/Swift/Controllers/Roster/Roster.h @@ -1,5 +1,5 @@  /* - * Copyright (c) 2010 Remko Tronçon + * Copyright (c) 2010-2013 Remko Tronçon   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */ @@ -28,7 +28,7 @@ class Roster {  		Roster(bool sortByStatus = true, bool fullJIDMapping = false);  		~Roster(); -		void addContact(const JID& jid, const JID& displayJID, const std::string& name, const std::string& group, const std::string& avatarPath); +		void addContact(const JID& jid, const JID& displayJID, const std::string& name, const std::string& group, const boost::filesystem::path& avatarPath);  		void removeContact(const JID& jid);  		void removeContactFromGroup(const JID& jid, const std::string& group);  		void removeGroup(const std::string& group); diff --git a/Swift/Controllers/Roster/RosterController.cpp b/Swift/Controllers/Roster/RosterController.cpp index d09ef4c..d277799 100644 --- a/Swift/Controllers/Roster/RosterController.cpp +++ b/Swift/Controllers/Roster/RosterController.cpp @@ -1,5 +1,5 @@  /* - * Copyright (c) 2010-2012 Kevin Smith + * Copyright (c) 2010-2013 Kevin Smith   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */ @@ -40,6 +40,7 @@  #include <Swiften/Client/NickManager.h>  #include <Swift/Controllers/Intl.h>  #include <Swiften/Base/format.h> +#include <Swiften/Base/Path.h>  #include <Swiften/Elements/DiscoInfo.h>  #include <Swiften/Disco/EntityCapsManager.h>  #include <Swiften/Jingle/JingleSessionManager.h> @@ -73,7 +74,7 @@ RosterController::RosterController(const JID& jid, XMPPRoster* xmppRoster, Avata  	uiEventConnection_ = uiEventStream->onUIEvent.connect(boost::bind(&RosterController::handleUIEvent, this, _1));  	avatarManager_ = avatarManager;  	avatarManager_->onAvatarChanged.connect(boost::bind(&RosterController::handleAvatarChanged, this, _1)); -	mainWindow_->setMyAvatarPath(avatarManager_->getAvatarPath(myJID_).string()); +	mainWindow_->setMyAvatarPath(pathToString(avatarManager_->getAvatarPath(myJID_)));  	nickManager_->onOwnNickChanged.connect(boost::bind(&MainWindow::setMyNick, mainWindow_, _1));  	mainWindow_->setMyJID(jid); @@ -125,11 +126,11 @@ void RosterController::handleOnJIDAdded(const JID& jid) {  	std::string name = nickResolver_->jidToNick(jid);  	if (!groups.empty()) {  		foreach(const std::string& group, groups) { -			roster_->addContact(jid, jid, name, group, avatarManager_->getAvatarPath(jid).string()); +			roster_->addContact(jid, jid, name, group, avatarManager_->getAvatarPath(jid));  		}  	}   	else { -		roster_->addContact(jid, jid, name, QT_TRANSLATE_NOOP("", "Contacts"), avatarManager_->getAvatarPath(jid).string()); +		roster_->addContact(jid, jid, name, QT_TRANSLATE_NOOP("", "Contacts"), avatarManager_->getAvatarPath(jid));  	}  	applyAllPresenceTo(jid);  } @@ -164,7 +165,7 @@ void RosterController::handleOnJIDUpdated(const JID& jid, const std::string& old  	}  	foreach(const std::string& group, groups) {  		if (std::find(oldGroups.begin(), oldGroups.end(), group) == oldGroups.end()) { -			roster_->addContact(jid, jid, name, group, avatarManager_->getAvatarPath(jid).string()); +			roster_->addContact(jid, jid, name, group, avatarManager_->getAvatarPath(jid));  		}  	}   	foreach(const std::string& group, oldGroups) { @@ -326,10 +327,10 @@ void RosterController::handleSubscriptionRequestDeclined(SubscriptionRequestEven  }  void RosterController::handleAvatarChanged(const JID& jid) { -	std::string path = avatarManager_->getAvatarPath(jid).string(); +	boost::filesystem::path path = avatarManager_->getAvatarPath(jid);  	roster_->applyOnItems(SetAvatar(jid, path));  	if (jid.equals(myJID_, JID::WithoutResource)) { -		mainWindow_->setMyAvatarPath(path); +		mainWindow_->setMyAvatarPath(pathToString(path));  	}  } diff --git a/Swift/Controllers/Roster/SetAvatar.h b/Swift/Controllers/Roster/SetAvatar.h index 241b741..424f0b3 100644 --- a/Swift/Controllers/Roster/SetAvatar.h +++ b/Swift/Controllers/Roster/SetAvatar.h @@ -1,5 +1,5 @@  /* - * Copyright (c) 2010 Remko Tronçon + * Copyright (c) 2010-2013 Remko Tronçon   * Licensed under the GNU General Public License v3.   * See Documentation/Licenses/GPLv3.txt for more information.   */ @@ -10,6 +10,7 @@  #include "Swiften/JID/JID.h"  #include "Swift/Controllers/Roster/RosterItemOperation.h"  #include "Swift/Controllers/Roster/ContactRosterItem.h" +#include <boost/filesystem/path.hpp>  namespace Swift { @@ -17,7 +18,7 @@ class RosterItem;  class SetAvatar : public RosterItemOperation {  	public: -		SetAvatar(const JID& jid, const std::string& path, JID::CompareType compareType = JID::WithoutResource) : RosterItemOperation(true, jid), jid_(jid), path_(path), compareType_(compareType) { +		SetAvatar(const JID& jid, const boost::filesystem::path& path, JID::CompareType compareType = JID::WithoutResource) : RosterItemOperation(true, jid), jid_(jid), path_(path), compareType_(compareType) {  		}  		virtual void operator() (RosterItem* item) const { @@ -29,7 +30,7 @@ class SetAvatar : public RosterItemOperation {  	private:  		JID jid_; -		std::string path_; +		boost::filesystem::path path_;  		JID::CompareType compareType_;  }; diff --git a/Swift/Controllers/Roster/TableRoster.h b/Swift/Controllers/Roster/TableRoster.h index d4612ed..f447760 100644 --- a/Swift/Controllers/Roster/TableRoster.h +++ b/Swift/Controllers/Roster/TableRoster.h @@ -12,6 +12,7 @@  #include <Swiften/JID/JID.h>  #include <Swiften/Elements/StatusShow.h> +#include <boost/filesystem/path.hpp>  namespace Swift {  	class Roster; @@ -21,13 +22,13 @@ namespace Swift {  	class TableRoster {  		public:  			struct Item { -				Item(const std::string& name, const std::string& description, const JID& jid, StatusShow::Type status, const std::string& avatarPath) : name(name), description(description), jid(jid), status(status), avatarPath(avatarPath) { +				Item(const std::string& name, const std::string& description, const JID& jid, StatusShow::Type status, const boost::filesystem::path& avatarPath) : name(name), description(description), jid(jid), status(status), avatarPath(avatarPath) {  				}  				std::string name;  				std::string description;  				JID jid;  				StatusShow::Type status; -				std::string avatarPath; +				boost::filesystem::path avatarPath;  			};  			struct Index { diff --git a/Swift/Controllers/StatusCache.cpp b/Swift/Controllers/StatusCache.cpp index 1569e26..3444189 100644 --- a/Swift/Controllers/StatusCache.cpp +++ b/Swift/Controllers/StatusCache.cpp @@ -61,7 +61,7 @@ void StatusCache::loadRecents() {  	try {  		if (boost::filesystem::exists(path_)) {  			ByteArray data; -			readByteArrayFromFile(data, path_.string()); +			readByteArrayFromFile(data, path_);  			std::string stringData = byteArrayToString(data);  			std::vector<std::string> lines;  			boost::split(lines, stringData, boost::is_any_of("\n")); diff --git a/Swift/Controllers/Storages/AvatarFileStorage.cpp b/Swift/Controllers/Storages/AvatarFileStorage.cpp index 792b77b..671e0cb 100644 --- a/Swift/Controllers/Storages/AvatarFileStorage.cpp +++ b/Swift/Controllers/Storages/AvatarFileStorage.cpp @@ -69,7 +69,7 @@ boost::filesystem::path AvatarFileStorage::getAvatarPath(const std::string& hash  ByteArray AvatarFileStorage::getAvatar(const std::string& hash) const {  	ByteArray data; -	readByteArrayFromFile(data, getAvatarPath(hash).string()); +	readByteArrayFromFile(data, getAvatarPath(hash));  	return data;  } diff --git a/Swift/Controllers/Storages/CertificateFileStorage.cpp b/Swift/Controllers/Storages/CertificateFileStorage.cpp index b5e85d2..34d1f76 100644 --- a/Swift/Controllers/Storages/CertificateFileStorage.cpp +++ b/Swift/Controllers/Storages/CertificateFileStorage.cpp @@ -24,7 +24,7 @@ bool CertificateFileStorage::hasCertificate(Certificate::ref certificate) const  	boost::filesystem::path certificatePath = getCertificatePath(certificate);  	if (boost::filesystem::exists(certificatePath)) {  		ByteArray data; -		readByteArrayFromFile(data, certificatePath.string()); +		readByteArrayFromFile(data, certificatePath);  		Certificate::ref storedCertificate = certificateFactory->createCertificateFromDER(data);  		if (storedCertificate && storedCertificate->toDER() == certificate->toDER()) {  			return true; diff --git a/Swift/Controllers/Storages/FileStorages.cpp b/Swift/Controllers/Storages/FileStorages.cpp index 357c213..52a5e00 100644 --- a/Swift/Controllers/Storages/FileStorages.cpp +++ b/Swift/Controllers/Storages/FileStorages.cpp @@ -10,17 +10,18 @@  #include "Swift/Controllers/Storages/CapsFileStorage.h"  #include "Swift/Controllers/Storages/RosterFileStorage.h"  #include <Swiften/History/SQLiteHistoryStorage.h> +#include <Swiften/Base/Path.h>  namespace Swift {  FileStorages::FileStorages(const boost::filesystem::path& baseDir, const JID& jid, CryptoProvider* crypto) { -	std::string profile = jid.toBare(); +	boost::filesystem::path profile = stringToPath(jid.toBare());  	vcardStorage = new VCardFileStorage(baseDir / profile / "vcards", crypto);  	capsStorage = new CapsFileStorage(baseDir / "caps");  	avatarStorage = new AvatarFileStorage(baseDir / "avatars", baseDir / profile / "avatars", crypto);  	rosterStorage = new RosterFileStorage(baseDir / profile / "roster.xml");  #ifdef SWIFT_EXPERIMENTAL_HISTORY -	historyStorage = new SQLiteHistoryStorage((baseDir / "history.db").string()); +	historyStorage = new SQLiteHistoryStorage(baseDir / "history.db");  #endif  } diff --git a/Swift/Controllers/Storages/VCardFileStorage.cpp b/Swift/Controllers/Storages/VCardFileStorage.cpp index 633ed58..b22e235 100644 --- a/Swift/Controllers/Storages/VCardFileStorage.cpp +++ b/Swift/Controllers/Storages/VCardFileStorage.cpp @@ -14,6 +14,7 @@  #include <Swiften/Base/String.h>  #include <Swiften/StringCodecs/Hexify.h>  #include <Swiften/Base/foreach.h> +#include <Swiften/Base/Path.h>  #include <Swiften/Crypto/CryptoProvider.h>  #include "Swiften/JID/JID.h"  #include "Swiften/Elements/VCard.h" @@ -66,7 +67,7 @@ boost::filesystem::path VCardFileStorage::getVCardPath(const JID& jid) const {  	try {  		std::string file(jid.toString());  		String::replaceAll(file, '/', "%2f"); -		return boost::filesystem::path(vcardsPath / (file + ".xml")); +		return boost::filesystem::path(vcardsPath / stringToPath(file + ".xml"));  	}  	catch (const boost::filesystem::filesystem_error& e) {  		std::cerr << "ERROR: " << e.what() << std::endl; | 
 Swift
 Swift