Browse Source

- Make sure priority column stays sorted when changing torrents priority (closes #417829)

adaptive-webui-19844
Christophe Dumez 15 years ago
parent
commit
d4d0a08390
  1. 6
      src/GUI.cpp
  2. 4
      src/downloadingTorrents.cpp
  3. 3
      src/downloadingTorrents.h

6
src/GUI.cpp

@ -1351,6 +1351,9 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
BTSession->increaseDlTorrentPriority(hash); BTSession->increaseDlTorrentPriority(hash);
} }
updateLists(); updateLists();
// Update sorting if necessary
if(downloadingTorrentTab->isPriorityColumnSorted())
downloadingTorrentTab->sortDownloadList();
} }
void GUI::on_actionDecreasePriority_triggered() { void GUI::on_actionDecreasePriority_triggered() {
@ -1360,6 +1363,9 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
BTSession->decreaseDlTorrentPriority(hash); BTSession->decreaseDlTorrentPriority(hash);
} }
updateLists(); updateLists();
// Update sorting if necessary
if(downloadingTorrentTab->isPriorityColumnSorted())
downloadingTorrentTab->sortDownloadList();
} }
// pause selected items in the list // pause selected items in the list

4
src/downloadingTorrents.cpp

@ -718,6 +718,10 @@ void DownloadingTorrents::sortProgressColumn(QTorrentHandle& h) {
} }
} }
bool DownloadingTorrents::isPriorityColumnSorted() {
return (downloadList->header()->sortIndicatorSection() == PRIORITY);
}
void DownloadingTorrents::sortDownloadList(int index, Qt::SortOrder sortOrder) { void DownloadingTorrents::sortDownloadList(int index, Qt::SortOrder sortOrder) {
if(index == -1) { if(index == -1) {
index = downloadList->header()->sortIndicatorSection(); index = downloadList->header()->sortIndicatorSection();

3
src/downloadingTorrents.h

@ -63,6 +63,7 @@ class DownloadingTorrents : public QWidget, public Ui::downloading{
QStringList getSelectedTorrents(bool only_one=false) const; QStringList getSelectedTorrents(bool only_one=false) const;
unsigned int getNbTorrentsInList() const; unsigned int getNbTorrentsInList() const;
void enablePriorityColumn(bool enable); void enablePriorityColumn(bool enable);
bool isPriorityColumnSorted();
signals: signals:
void unfinishedTorrentsNumberChanged(unsigned int); void unfinishedTorrentsNumberChanged(unsigned int);
@ -74,7 +75,6 @@ class DownloadingTorrents : public QWidget, public Ui::downloading{
void on_actionSet_upload_limit_triggered(); void on_actionSet_upload_limit_triggered();
void displayDLListMenu(const QPoint& pos); void displayDLListMenu(const QPoint& pos);
void displayDLHoSMenu(const QPoint&); void displayDLHoSMenu(const QPoint&);
void sortDownloadList(int index=-1, Qt::SortOrder startSortOrder=Qt::AscendingOrder);
void toggleDownloadListSortOrder(int index); void toggleDownloadListSortOrder(int index);
void sortDownloadListFloat(int index, Qt::SortOrder sortOrder); void sortDownloadListFloat(int index, Qt::SortOrder sortOrder);
void sortDownloadListString(int index, Qt::SortOrder sortOrder); void sortDownloadListString(int index, Qt::SortOrder sortOrder);
@ -104,6 +104,7 @@ class DownloadingTorrents : public QWidget, public Ui::downloading{
void loadLastSortedColumn(); void loadLastSortedColumn();
void addTorrent(QString hash); void addTorrent(QString hash);
void updateMetadata(QTorrentHandle &h); void updateMetadata(QTorrentHandle &h);
void sortDownloadList(int index=-1, Qt::SortOrder startSortOrder=Qt::AscendingOrder);
}; };

Loading…
Cancel
Save