diff --git a/src/core/preferences.cpp b/src/core/preferences.cpp index 014986ab6..094b281dd 100644 --- a/src/core/preferences.cpp +++ b/src/core/preferences.cpp @@ -971,6 +971,16 @@ void Preferences::setFilteringEnabled(bool enabled) setValue("Preferences/IPFilter/Enabled", enabled); } +bool Preferences::isFilteringTrackerEnabled() const +{ + return value("Preferences/IPFilter/FilterTracker", false).toBool(); +} + +void Preferences::setFilteringTrackerEnabled(bool enabled) +{ + setValue("Preferences/IPFilter/FilterTracker", enabled); +} + QString Preferences::getFilter() const { return fsutils::fromNativePath(value("Preferences/IPFilter/File").toString()); diff --git a/src/core/preferences.h b/src/core/preferences.h index cf608982f..7aaf64870 100644 --- a/src/core/preferences.h +++ b/src/core/preferences.h @@ -282,6 +282,8 @@ public: // IP Filter bool isFilteringEnabled() const; void setFilteringEnabled(bool enabled); + bool isFilteringTrackerEnabled() const; + void setFilteringTrackerEnabled(bool enabled); QString getFilter() const; void setFilter(const QString &path); QStringList bannedIPs() const; diff --git a/src/core/qtlibtorrent/qbtsession.cpp b/src/core/qtlibtorrent/qbtsession.cpp index 8f163ea19..922a4829e 100644 --- a/src/core/qtlibtorrent/qbtsession.cpp +++ b/src/core/qtlibtorrent/qbtsession.cpp @@ -414,9 +414,9 @@ void QBtSession::configureSession() { // * Session settings session_settings sessionSettings = s->settings(); sessionSettings.user_agent = "qBittorrent " VERSION; - //std::cout << "HTTP User-Agent is " << sessionSettings.user_agent << std::endl; logger->addMessage(tr("HTTP User-Agent is %1").arg(misc::toQString(sessionSettings.user_agent))); + sessionSettings.apply_ip_filter_to_trackers = pref->isFilteringTrackerEnabled(); sessionSettings.upnp_ignore_nonrouters = true; sessionSettings.use_dht_as_fallback = false; // Disable support for SSL torrents for now diff --git a/src/gui/options.ui b/src/gui/options.ui index f6584d029..bc37a824f 100644 --- a/src/gui/options.ui +++ b/src/gui/options.ui @@ -180,8 +180,8 @@ 0 0 - 458 - 611 + 474 + 646 @@ -519,8 +519,8 @@ 0 0 - 458 - 933 + 487 + 1005 @@ -1037,8 +1037,8 @@ 0 0 - 458 - 556 + 474 + 640 @@ -1469,17 +1469,17 @@ false - + Filter path (.dat, .p2p, .p2b): - + - + @@ -1492,7 +1492,7 @@ - + @@ -1514,6 +1514,13 @@ + + + + Apply to trackers + + + @@ -1538,8 +1545,8 @@ 0 0 - 458 - 407 + 474 + 438 @@ -1822,12 +1829,6 @@ true - - hh:mm - - - false - + + hh:mm + + + false + @@ -1852,9 +1859,6 @@ true - - hh:mm - + + hh:mm + @@ -1962,8 +1969,8 @@ 0 0 - 458 - 381 + 556 + 418 @@ -2316,8 +2323,8 @@ 0 0 - 458 - 494 + 474 + 537 @@ -2693,8 +2700,8 @@ 0 0 - 474 - 316 + 487 + 342 diff --git a/src/gui/options_imp.cpp b/src/gui/options_imp.cpp index 371419e3a..0ea76a861 100644 --- a/src/gui/options_imp.cpp +++ b/src/gui/options_imp.cpp @@ -228,6 +228,7 @@ options_imp::options_imp(QWidget *parent): connect(textProxyPassword, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); // Misc tab connect(checkIPFilter, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); + connect(checkIpFilterTrackers, SIGNAL(toggled(bool)), SLOT(enableApplyButton())); connect(textFilterPath, SIGNAL(textChanged(QString)), this, SLOT(enableApplyButton())); connect(checkEnableQueueing, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton())); connect(spinMaxActiveDownloads, SIGNAL(valueChanged(QString)), this, SLOT(enableApplyButton())); @@ -457,8 +458,10 @@ void options_imp::saveOptions() { // Misc preferences // * IPFilter pref->setFilteringEnabled(isFilteringEnabled()); - if (isFilteringEnabled()) + if (isFilteringEnabled()) { + pref->setFilteringTrackerEnabled(checkIpFilterTrackers->isChecked()); pref->setFilter(textFilterPath->text()); + } // End IPFilter preferences // Queueing system pref->setQueueingSystemEnabled(isQueueingSystemEnabled()); @@ -764,6 +767,7 @@ void options_imp::loadOptions() { // Misc preferences // * IP Filter checkIPFilter->setChecked(pref->isFilteringEnabled()); + checkIpFilterTrackers->setChecked(pref->isFilteringTrackerEnabled()); textFilterPath->setText(fsutils::toNativePath(pref->getFilter())); // End IP Filter // Queueing system preferences