Fix a lot of String encoding issues on non-unicode systems

Renaming a folder causes the old folder to be removed
Fix some path separator issues on Win32
Fix file/folder opening in file browser on Win32
This commit is contained in:
Christophe Dumez
2010-06-03 19:41:32 +00:00
parent 2d57d9d32c
commit 4b2d09a07b
8 changed files with 65 additions and 24 deletions

View File

@@ -61,7 +61,7 @@ public:
parentItem = parent;
type = TFILE;
file_index = _file_index;
QString name = misc::toQString(f.path.string()).split("/").last();
QString name = misc::toQStringU(f.path.string()).split("/").last();
// Do not display incomplete extensions
if(name.endsWith(".!qB"))
name.chop(4);
@@ -507,7 +507,7 @@ public:
TreeItem *parent = this->rootItem;
if(t.num_files() == 1) {
// Create possible parent folder
QStringList path_parts = misc::toQString(t.file_at(0).path.string()).split("/");
QStringList path_parts = misc::toQStringU(t.file_at(0).path.string()).split("/");
path_parts.removeLast();
foreach(const QString &part, path_parts) {
TreeItem *folder = new TreeItem(part, parent);
@@ -520,7 +520,7 @@ public:
return;
}
// Create parent folder
QString root_name = misc::toQString(t.file_at(0).path.string()).split("/").first();
QString root_name = misc::toQStringU(t.file_at(0).path.string()).split("/").first();
TreeItem *current_parent = new TreeItem(root_name, parent);
//parent->appendChild(current_parent);
TreeItem *root_folder = current_parent;
@@ -530,7 +530,7 @@ public:
torrent_info::file_iterator fi = t.begin_files();
while(fi != t.end_files()) {
current_parent = root_folder;
QString path = QDir::cleanPath(misc::toQString(fi->path.string()));
QString path = QDir::cleanPath(misc::toQStringU(fi->path.string()));
// Iterate of parts of the path to create necessary folders
QStringList pathFolders = path.split("/");
Q_ASSERT(pathFolders.size() >= 2);