Remove socks4 support
[novacoin.git] / src / qt / optionsmodel.cpp
index 3d93577..7e80615 100644 (file)
@@ -16,25 +16,21 @@ bool static ApplyProxySettings()
 {
     QSettings settings;
     CService addrProxy(settings.value("addrProxy", "127.0.0.1:9050").toString().toStdString());
-    int nSocksVersion(settings.value("nSocksVersion", 5).toInt());
     if (!settings.value("fUseProxy", false).toBool()) {
         addrProxy = CService();
-        nSocksVersion = 0;
         return false;
     }
-    if (nSocksVersion && !addrProxy.IsValid())
+    if (!addrProxy.IsValid())
         return false;
 
     if (!IsLimited(NET_IPV4))
-        SetProxy(NET_IPV4, addrProxy, nSocksVersion);
-    if (nSocksVersion > 4) {
+        SetProxy(NET_IPV4, addrProxy);
 #ifdef USE_IPV6
         if (!IsLimited(NET_IPV6))
-            SetProxy(NET_IPV6, addrProxy, nSocksVersion);
+            SetProxy(NET_IPV6, addrProxy);
 #endif
-    }
 
-    SetNameProxy(addrProxy, nSocksVersion);
+    SetNameProxy(addrProxy);
 
     return true;
 }
@@ -50,7 +46,7 @@ bool static ApplyTorSettings()
     if (!addrTor.IsValid())
         return false;
 
-    SetProxy(NET_TOR, addrTor, 5);
+    SetProxy(NET_TOR, addrTor);
     SetReachable(NET_TOR);
 
     return true;
@@ -78,8 +74,6 @@ void OptionsModel::Init()
 
     // These are shared with core Bitcoin; we want
     // command-line options to override the GUI settings:
-    if (settings.contains("fUseUPnP"))
-        SoftSetBoolArg("-upnp", settings.value("fUseUPnP").toBool());
     if ( !(settings.value("fTorOnly").toBool() && settings.contains("addrTor")) ) {
         if (settings.contains("addrProxy") && settings.value("fUseProxy").toBool())
             SoftSetArg("-proxy", settings.value("addrProxy").toString().toStdString());
@@ -101,6 +95,10 @@ void OptionsModel::Init()
         }
     }
 
+    if (!fTestNet && settings.contains("externalSeeder") && settings.value("externalSeeder").toString() != "") {
+        SoftSetArg("-peercollector", settings.value("externalSeeder").toString().toStdString());
+    }
+
     if (settings.contains("detachDB"))
         SoftSetBoolArg("-detachdb", settings.value("detachDB").toBool());
     if (!language.isEmpty())
@@ -123,8 +121,6 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
             return QVariant(GUIUtil::GetStartOnSystemStartup());
         case MinimizeToTray:
             return QVariant(fMinimizeToTray);
-        case MapPortUPnP:
-            return settings.value("fUseUPnP", GetBoolArg("-upnp", true));
         case MinimizeOnClose:
             return QVariant(fMinimizeOnClose);
         case ProxyUse:
@@ -132,39 +128,39 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
         case ProxyIP: {
             proxyType proxy;
             if (GetProxy(NET_IPV4, proxy))
-                return QVariant(QString::fromStdString(proxy.first.ToStringIP()));
+                return QVariant(QString::fromStdString(proxy.ToStringIP()));
             else
                 return QVariant(QString::fromStdString("127.0.0.1"));
         }
         case ProxyPort: {
             proxyType proxy;
             if (GetProxy(NET_IPV4, proxy))
-                return QVariant(proxy.first.GetPort());
+                return QVariant(proxy.GetPort());
             else
-                return QVariant(9050);
+                return QVariant(nSocksDefault);
         }
-        case ProxySocksVersion:
-            return settings.value("nSocksVersion", 5);
         case TorUse:
             return settings.value("fUseTor", false);
         case TorIP: {
             proxyType proxy;
             if (GetProxy(NET_TOR, proxy))
-                return QVariant(QString::fromStdString(proxy.first.ToStringIP()));
+                return QVariant(QString::fromStdString(proxy.ToStringIP()));
             else
                 return QVariant(QString::fromStdString("127.0.0.1"));
         }
         case TorPort: {
             proxyType proxy;
             if (GetProxy(NET_TOR, proxy))
-                return QVariant(proxy.first.GetPort());
+                return QVariant(proxy.GetPort());
             else
-                return QVariant(9050);
+                return QVariant(nSocksDefault);
         }
         case TorOnly:
             return settings.value("fTorOnly", false);
         case TorName:
             return settings.value("TorName", "");
+        case ExternalSeeder:
+            return settings.value("externalSeeder", "");
         case Fee:
             return QVariant(static_cast<qlonglong>(nTransactionFee));
         case DisplayUnit:
@@ -201,11 +197,6 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
             fMinimizeToTray = value.toBool();
             settings.setValue("fMinimizeToTray", fMinimizeToTray);
             break;
-        case MapPortUPnP:
-            fUseUPnP = value.toBool();
-            settings.setValue("fUseUPnP", fUseUPnP);
-            MapPort();
-            break;
         case MinimizeOnClose:
             fMinimizeOnClose = value.toBool();
             settings.setValue("fMinimizeOnClose", fMinimizeOnClose);
@@ -216,32 +207,22 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
             break;
         case ProxyIP: {
             proxyType proxy;
-            proxy.first = CService("127.0.0.1", 9050);
+            proxy = CService("127.0.0.1", nSocksDefault);
             GetProxy(NET_IPV4, proxy);
 
             CNetAddr addr(value.toString().toStdString());
-            proxy.first.SetIP(addr);
-            settings.setValue("addrProxy", proxy.first.ToStringIPPort().c_str());
+            proxy.SetIP(addr);
+            settings.setValue("addrProxy", proxy.ToStringIPPort().c_str());
             successful = ApplyProxySettings();
         }
         break;
         case ProxyPort: {
             proxyType proxy;
-            proxy.first = CService("127.0.0.1", 9050);
+            proxy = CService("127.0.0.1", nSocksDefault);
             GetProxy(NET_IPV4, proxy);
 
-            proxy.first.SetPort(value.toInt());
-            settings.setValue("addrProxy", proxy.first.ToStringIPPort().c_str());
-            successful = ApplyProxySettings();
-        }
-        break;
-        case ProxySocksVersion: {
-            proxyType proxy;
-            proxy.second = 5;
-            GetProxy(NET_IPV4, proxy);
-
-            proxy.second = value.toInt();
-            settings.setValue("nSocksVersion", proxy.second);
+            proxy.SetupPort(value.toInt());
+            settings.setValue("addrProxy", proxy.ToStringIPPort().c_str());
             successful = ApplyProxySettings();
         }
         break;
@@ -252,22 +233,22 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
         break;
         case TorIP: {
             proxyType proxy;
-            proxy.first = CService("127.0.0.1", 9050);
+            proxy = CService("127.0.0.1", nSocksDefault);
             GetProxy(NET_TOR, proxy);
 
             CNetAddr addr(value.toString().toStdString());
-            proxy.first.SetIP(addr);
-            settings.setValue("addrTor", proxy.first.ToStringIPPort().c_str());
+            proxy.SetIP(addr);
+            settings.setValue("addrTor", proxy.ToStringIPPort().c_str());
             successful = ApplyTorSettings();
         }
         break;
         case TorPort: {
             proxyType proxy;
-            proxy.first = CService("127.0.0.1", 9050);
+            proxy = CService("127.0.0.1", nSocksDefault);
             GetProxy(NET_TOR, proxy);
 
-            proxy.first.SetPort(value.toInt());
-            settings.setValue("addrTor", proxy.first.ToStringIPPort().c_str());
+            proxy.SetupPort((uint16_t)value.toUInt());
+            settings.setValue("addrTor", proxy.ToStringIPPort().c_str());
             successful = ApplyTorSettings();
         }
         break;
@@ -279,6 +260,9 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
             settings.setValue("TorName", value.toString());
         }
         break;
+        case ExternalSeeder:
+            settings.setValue("externalSeeder", value.toString());
+        break;
         case Fee:
             nTransactionFee = value.toLongLong();
             settings.setValue("nTransactionFee", static_cast<qlonglong>(nTransactionFee));