void QueueDialog::btnMoveTop_clicked() { QueueItem* current = (QueueItem*) getCurrentList()->selectedItem(); if(current == 0) return; if(current->getPriority() == 0) return; QueueItem* previous = (QueueItem*) current->itemAbove(); if(previous == 0) return; int p = previous->getPriority(); while(previous != 0) { p = previous->getPriority(); previous->setPriority(p - 1); previous = (QueueItem*) previous->itemAbove(); } current->setPriority(p); getCurrentList()->sort(); }
void QueueDialog::writeQueue() { downloadList->sort(); seedList->sort(); int p = 0; QueueItem* item = (QueueItem*) downloadList->lastItem(); if(item != 0) { while(item != 0) { if(item->getPriority() != 0) item->setTorrentPriority(++p); else item->setTorrentPriority(0); item = (QueueItem*) item->itemAbove(); } } item = (QueueItem*) seedList->lastItem(); if(item == 0) { qman->orderQueue(); return; } p = 0; while(item != 0) { if(item->getPriority() != 0) item->setTorrentPriority(++p); else item->setTorrentPriority(0); item = (QueueItem*) item->itemAbove(); } qman->orderQueue(); }
void QueueDialog::btnMoveUp_clicked() { QueueItem* current = (QueueItem*) getCurrentList()->selectedItem(); if(current == 0) return; if(current->getPriority() == 0) return; QueueItem* previous = (QueueItem*) current->itemAbove(); if(previous == 0) return; else { int tmp = previous->getPriority(); previous->setPriority(current->getPriority()); current->setPriority(tmp); getCurrentList()->sort(); } }