From 3f5340523fa3aa064f01500db1c4cc7915c923f4 Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Sat, 27 Dec 2008 17:44:33 +0000 Subject: [PATCH] - Fix for queueing system --- src/GUI.cpp | 3 ++- src/options.ui | 47 +++++++++++++++++++++++++++++++++++++++++++-- src/options_imp.cpp | 15 +++++++++++---- src/options_imp.h | 1 + 4 files changed, 59 insertions(+), 7 deletions(-) diff --git a/src/GUI.cpp b/src/GUI.cpp index 782c210d5..efc52827b 100644 --- a/src/GUI.cpp +++ b/src/GUI.cpp @@ -1047,9 +1047,10 @@ void GUI::configureSession(bool deleteOptions) { downloadingTorrentTab->hidePriorityColumn(false); } int max_torrents = options->getMaxActiveTorrents(); + int max_uploads = options->getMaxActiveUploads(); int max_downloads = options->getMaxActiveDownloads(); sessionSettings.active_downloads = max_downloads; - sessionSettings.active_seeds = -1; + sessionSettings.active_seeds = max_uploads; sessionSettings.active_limit = max_torrents; sessionSettings.dont_count_slow_torrents = false; BTSession->setQueueingEnabled(true); diff --git a/src/options.ui b/src/options.ui index 05a3ec485..e0f5363d5 100644 --- a/src/options.ui +++ b/src/options.ui @@ -1940,7 +1940,50 @@ false - 1 + -1 + + + 999 + + + 3 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + false + + + Maximum active uploads: + + + + + + + false + + + -1 999 @@ -1983,7 +2026,7 @@ false - 1 + -1 999 diff --git a/src/options_imp.cpp b/src/options_imp.cpp index 0085b720f..292488430 100644 --- a/src/options_imp.cpp +++ b/src/options_imp.cpp @@ -381,10 +381,8 @@ void options_imp::saveOptions(){ settings.beginGroup("Queueing"); settings.setValue(QString::fromUtf8("QueueingEnabled"), isQueueingSystemEnabled()); settings.setValue(QString::fromUtf8("MaxActiveDownloads"), spinMaxActiveDownloads->value()); - if(spinMaxActiveTorrents->value() >= spinMaxActiveDownloads->value()) - settings.setValue(QString::fromUtf8("MaxActiveTorrents"), spinMaxActiveTorrents->value()); - else - settings.setValue(QString::fromUtf8("MaxActiveTorrents"), spinMaxActiveDownloads->value()); + settings.setValue(QString::fromUtf8("MaxActiveUploads"), spinMaxActiveUploads->value()); + settings.setValue(QString::fromUtf8("MaxActiveTorrents"), spinMaxActiveTorrents->value()); // End Queueing system preferences settings.endGroup(); // Web UI @@ -700,6 +698,7 @@ void options_imp::loadOptions(){ if(isQueueingSystemEnabled()) { enableQueueingSystem(2); // Enable spinMaxActiveDownloads->setValue(settings.value(QString::fromUtf8("MaxActiveDownloads"), 3).toInt()); + spinMaxActiveUploads->setValue(settings.value(QString::fromUtf8("MaxActiveUploads"), 3).toInt()); spinMaxActiveTorrents->setValue(settings.value(QString::fromUtf8("MaxActiveTorrents"), 5).toInt()); } else { enableQueueingSystem(0); // Disable @@ -731,6 +730,10 @@ int options_imp::getMaxActiveDownloads() const { return spinMaxActiveDownloads->value(); } +int options_imp::getMaxActiveUploads() const { + return spinMaxActiveUploads->value(); +} + int options_imp::getMaxActiveTorrents() const { return spinMaxActiveTorrents->value(); } @@ -920,13 +923,17 @@ void options_imp::enableQueueingSystem(int checkBoxValue) { if(checkBoxValue != 2) { //Disable spinMaxActiveDownloads->setEnabled(false); + spinMaxActiveUploads->setEnabled(false); label_max_active_dl->setEnabled(false); + label_max_active_up->setEnabled(false); maxActiveTorrents_lbl->setEnabled(false); spinMaxActiveTorrents->setEnabled(false); }else{ //enable spinMaxActiveDownloads->setEnabled(true); + spinMaxActiveUploads->setEnabled(true); label_max_active_dl->setEnabled(true); + label_max_active_up->setEnabled(true); maxActiveTorrents_lbl->setEnabled(true); spinMaxActiveTorrents->setEnabled(true); } diff --git a/src/options_imp.h b/src/options_imp.h index 0e96bf6d0..ac0df0348 100644 --- a/src/options_imp.h +++ b/src/options_imp.h @@ -118,6 +118,7 @@ class options_imp : public QDialog, private Ui::Dialog { // Queueing system bool isQueueingSystemEnabled() const; int getMaxActiveDownloads() const; + int getMaxActiveUploads() const; int getMaxActiveTorrents() const; bool isWebUiEnabled() const; quint16 webUiPort() const;