diff --git a/src/eventmanager.cpp b/src/eventmanager.cpp index 95a909c59..25b27f7a8 100644 --- a/src/eventmanager.cpp +++ b/src/eventmanager.cpp @@ -189,6 +189,10 @@ void EventManager::setGlobalPreferences(QVariantMap m) const { // Bittorrent if(m.contains("dht")) Preferences::setDHTEnabled(m["dht"].toBool()); + if(m.contains("dhtSameAsBT")) + Preferences::setDHTPortSameAsBT(m["dhtSameAsBT"].toBool()); + if(m.contains("dht_port")) + Preferences::setDHTPort(m["dht_port"].toInt()); if(m.contains("pex")) Preferences::setPeXEnabled(m["pex"].toBool()); qDebug("Pex support: %d", (int)m["pex"].toBool()); @@ -274,6 +278,8 @@ QVariantMap EventManager::getGlobalPreferences() const { data["max_uploads_per_torrent"] = Preferences::getMaxUploadsPerTorrent(); // Bittorrent data["dht"] = Preferences::isDHTEnabled(); + data["dhtSameAsBT"] = Preferences::isDHTPortSameAsBT(); + data["dht_port"] = Preferences::getDHTPort(); data["pex"] = Preferences::isPeXEnabled(); data["lsd"] = Preferences::isLSDEnabled(); data["encryption"] = Preferences::getEncryptionSetting(); diff --git a/src/preferences.h b/src/preferences.h index bfea695f9..fb7085671 100644 --- a/src/preferences.h +++ b/src/preferences.h @@ -619,11 +619,21 @@ public: return settings.value(QString::fromUtf8("Preferences/Bittorrent/sameDHTPortAsBT"), true).toBool(); } + static void setDHTPortSameAsBT(bool same) { + QSettings settings("qBittorrent", "qBittorrent"); + settings.setValue(QString::fromUtf8("Preferences/Bittorrent/sameDHTPortAsBT"), same); + } + static int getDHTPort() { QSettings settings("qBittorrent", "qBittorrent"); return settings.value(QString::fromUtf8("Preferences/Bittorrent/DHTPort"), 6881).toInt(); } + static void setDHTPort(int port) { + QSettings settings("qBittorrent", "qBittorrent"); + settings.setValue(QString::fromUtf8("Preferences/Bittorrent/DHTPort"), port); + } + static bool isLSDEnabled() { QSettings settings("qBittorrent", "qBittorrent"); return settings.value(QString::fromUtf8("Preferences/Bittorrent/LSD"), true).toBool(); diff --git a/src/webui/preferences_content.html b/src/webui/preferences_content.html index 361095d5e..9852d3e6e 100644 --- a/src/webui/preferences_content.html +++ b/src/webui/preferences_content.html @@ -55,6 +55,12 @@