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;