diff options
| author | Remko Tronçon <git@el-tramo.be> | 2013-05-15 19:44:37 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2013-05-17 19:00:55 (GMT) | 
| commit | de39ce6ec44647cee92853e2928cf5475af992e6 (patch) | |
| tree | 1f86dd075900aeeb9b91cdd120d71052458ca6ff /Swift/Controllers/Roster/TableRoster.h | |
| parent | 927d62cc54c8a5087dba6b61afa9ad30dc528a23 (diff) | |
| download | swift-de39ce6ec44647cee92853e2928cf5475af992e6.zip swift-de39ce6ec44647cee92853e2928cf5475af992e6.tar.bz2 | |
Fixed unicode path handling.
- Use boost::filesystem::path consistently for referring to files.
- Use boost::filesystem streams for I/O, such that paths are always handled
  correctly.
- Use stringToPath and pathToString for conversion between strings and
  boost::filesystem::path, to ensure we have consistent unicode handling
  across platforms and environments. The default constructor and string
  conversion uses platform-dependent encoding, depending on the global
  locale set in the application, which causes problems. So, unless you are
  in platform dependent code, the default constructor and string() function
  should not be used. When constructing paths from other paths (e.g. using
  operator/), also use stringToPath (instead of string arguments) if the path
  can contain unicode characters.
Change-Id: If286bd9e71c8414afc0b24ba67e26ab7608ef6ea
Diffstat (limited to 'Swift/Controllers/Roster/TableRoster.h')
| -rw-r--r-- | Swift/Controllers/Roster/TableRoster.h | 5 | 
1 files changed, 3 insertions, 2 deletions
| 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 { | 
 Swift
 Swift