Browse Source

BUGFIX: Properly display torrents with one file in subfolder(s)

adaptive-webui-19844
Christophe Dumez 15 years ago
parent
commit
126230ad08
  1. 10
      src/eventmanager.cpp
  2. 9
      src/torrentfilesmodel.h

10
src/eventmanager.cpp

@ -103,13 +103,9 @@ QList<QVariantMap> EventManager::getPropFilesInfo(QString hash) const {
int i=0; int i=0;
for(fi=t.begin_files(); fi != t.end_files(); fi++) { for(fi=t.begin_files(); fi != t.end_files(); fi++) {
QVariantMap file; QVariantMap file;
if(h.num_files() == 1) { QString path = QDir::cleanPath(misc::toQString(fi->path.string()));
file["name"] = h.name(); QString name = path.split('/').last();
} else { file["name"] = name;
QString path = QDir::cleanPath(misc::toQString(fi->path.string()));
QString name = path.split('/').last();
file["name"] = name;
}
file["size"] = misc::friendlyUnit((double)fi->size); file["size"] = misc::friendlyUnit((double)fi->size);
if(fi->size > 0) if(fi->size > 0)
file["progress"] = fp[i]/(double)fi->size; file["progress"] = fp[i]/(double)fi->size;

9
src/torrentfilesmodel.h

@ -498,7 +498,14 @@ public:
files_index = new TreeItem*[t.num_files()]; files_index = new TreeItem*[t.num_files()];
TreeItem *parent = this->rootItem; TreeItem *parent = this->rootItem;
if(t.num_files() ==1) { if(t.num_files() == 1) {
// Create possible parent folder
QStringList path_parts = misc::toQString(t.file_at(0).path.string()).split(QDir::separator());
path_parts.removeLast();
foreach(const QString &part, path_parts) {
TreeItem *folder = new TreeItem(part, parent);
parent = folder;
}
TreeItem *f = new TreeItem(t.file_at(0), parent, 0); TreeItem *f = new TreeItem(t.file_at(0), parent, 0);
//parent->appendChild(f); //parent->appendChild(f);
files_index[0] = f; files_index[0] = f;

Loading…
Cancel
Save