diff --git a/src/bittorrent.cpp b/src/bittorrent.cpp index 038c2ff76..7e69d5a74 100644 --- a/src/bittorrent.cpp +++ b/src/bittorrent.cpp @@ -166,11 +166,23 @@ bool bittorrent::isQueueingEnabled() const { } void bittorrent::setMaxActiveDownloads(int val) { - maxActiveDownloads = val; + if(val != maxActiveDownloads) { + maxActiveDownloads = val; + if(queueingEnabled) { + updateDownloadQueue(); + updateUploadQueue(); + } + } } void bittorrent::setMaxActiveTorrents(int val) { - maxActiveTorrents = val; + if(val != maxActiveTorrents) { + maxActiveTorrents = val; + if(queueingEnabled) { + updateDownloadQueue(); + updateUploadQueue(); + } + } } void bittorrent::increaseDlTorrentPriority(QString hash) { @@ -262,6 +274,14 @@ void bittorrent::setUploadLimit(QString hash, long val) { saveTorrentSpeedLimits(hash); } +int bittorrent::getMaximumActiveDownloads() const { + return maxActiveDownloads; +} + +int bittorrent::getMaximumActiveTorrents() const { + return maxActiveTorrents; +} + void bittorrent::handleDownloadFailure(QString url, QString reason) { emit downloadFromUrlFailure(url, reason); } diff --git a/src/bittorrent.h b/src/bittorrent.h index 2b0c59d57..9ae290190 100644 --- a/src/bittorrent.h +++ b/src/bittorrent.h @@ -108,6 +108,8 @@ class bittorrent : public QObject{ bool isQueueingEnabled() const; int getDlTorrentPriority(QString hash) const; int getUpTorrentPriority(QString hash) const; + int getMaximumActiveDownloads() const; + int getMaximumActiveTorrents() const; bool isDownloadQueued(QString hash) const; bool isUploadQueued(QString hash) const; int loadTorrentPriority(QString hash);