diff gui/src/ResourceManager.cpp @ 13607:fd31226d4c3a

Proxy settings can now be configured.
author Jacob Dawid <jacob.dawid@googlemail.com>
date Wed, 17 Aug 2011 00:36:10 +0200
parents a7c923ab980f
children b355901aade4
line wrap: on
line diff
--- a/gui/src/ResourceManager.cpp	Tue Aug 16 23:16:48 2011 +0200
+++ b/gui/src/ResourceManager.cpp	Wed Aug 17 00:36:10 2011 +0200
@@ -18,6 +18,7 @@
 
 #include "ResourceManager.h"
 #include <QFile>
+#include <QNetworkProxy>
 
 ResourceManager ResourceManager::m_singleton;
 
@@ -63,3 +64,43 @@
   // TODO: Quick hack to be able to test language files.
   return QString("../languages/%1.qm").arg(language);
 }
+
+void
+ResourceManager::updateNetworkSettings ()
+{
+  QNetworkProxy::ProxyType proxyType = QNetworkProxy::NoProxy;
+  if (m_settings->value ("useProxyServer").toBool ())
+    {
+      QString proxyTypeString = m_settings->value ("proxyType").toString ();
+      if (proxyTypeString == "NoProxy")
+        {
+          proxyType = QNetworkProxy::NoProxy;
+        }
+      else if (proxyTypeString == "DefaultProxy")
+        {
+          proxyType = QNetworkProxy::DefaultProxy;
+        }
+      else if (proxyTypeString == "Socks5Proxy")
+        {
+          proxyType = QNetworkProxy::Socks5Proxy;
+        }
+      else if (proxyTypeString == "HttpProxy")
+        {
+          proxyType = QNetworkProxy::HttpProxy;
+        }
+      else if (proxyTypeString == "HttpCachingProxy")
+        {
+          proxyType = QNetworkProxy::HttpCachingProxy;
+        }
+      else if (proxyTypeString == "FtpCachingProxy")
+        {
+          proxyType = QNetworkProxy::FtpCachingProxy;
+        }
+    }
+
+  QNetworkProxy proxy;
+  proxy.setType (proxyType);
+  proxy.setHostName (m_settings->value ("proxyHostName").toString ());
+  proxy.setPort (m_settings->value ("proxyPort").toInt ());
+  QNetworkProxy::setApplicationProxy (proxy);
+}