Browse Source

Fix file filtering in complex torrent files

adaptive-webui-19844
Christophe Dumez 15 years ago
parent
commit
318a959470
  1. 12
      src/torrentfilesmodel.h

12
src/torrentfilesmodel.h

@ -97,6 +97,7 @@ public:
TreeItem(QList<QVariant> data) { TreeItem(QList<QVariant> data) {
parentItem = 0; parentItem = 0;
type = ROOT; type = ROOT;
Q_ASSERT(data.size() == 4);
itemData = data; itemData = data;
total_done = 0; total_done = 0;
} }
@ -201,12 +202,13 @@ public:
return itemData.value(3).toInt(); return itemData.value(3).toInt();
} }
void setPriority(int new_prio, bool update_children=true) { void setPriority(int new_prio, bool update_children=true, bool update_parent=true) {
int old_prio = getPriority(); int old_prio = getPriority();
if(old_prio != new_prio) { if(old_prio != new_prio) {
qDebug("setPriority(%s, %d)", qPrintable(getName()), new_prio);
itemData.replace(3, new_prio); itemData.replace(3, new_prio);
// Update parent // Update parent
if(parentItem) { if(update_parent && parentItem) {
parentItem->updateSize(); parentItem->updateSize();
parentItem->updateProgress(); parentItem->updateProgress();
parentItem->updatePriority(); parentItem->updatePriority();
@ -215,9 +217,13 @@ public:
// Update children // Update children
if(update_children) { if(update_children) {
foreach(TreeItem* child, childItems) { foreach(TreeItem* child, childItems) {
child->setPriority(new_prio); child->setPriority(new_prio, true, false);
} }
} }
if(type==FOLDER) {
updateSize();
updateProgress();
}
} }
void updatePriority() { void updatePriority() {

Loading…
Cancel
Save