[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdesupport/kdewin-installer/shared
From: Ralf Habacker <Ralf.Habacker () freenet ! de>
Date: 2010-07-25 9:21:01
Message-ID: 20100725092101.9DE6DAC7E8 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1154356 by habacker:
- added proxy autodetection support (method fromAutoDetect())
- added toString() method
- added save() method
M +75 -0 proxysettings.cpp
M +8 -1 proxysettings.h
--- trunk/kdesupport/kdewin-installer/shared/proxysettings.cpp #1154355:1154356
@@ -22,7 +22,10 @@
#include "proxysettings.h"
#include "settings.h"
+#include "downloader.h"
+static QString testUrl = "http://www.winkde.org";
+
ProxySettings::ProxySettings() : port(0)
{
}
@@ -47,6 +50,9 @@
case ProxySettings::Environment:
return fromEnvironment(url);
#endif
+ case ProxySettings::AutoDetect:
+ return fromAutoDetect(url);
+
case ProxySettings::None:
default:
hostname = QString();
@@ -58,6 +64,15 @@
return false;
}
+bool ProxySettings::save()
+{
+ Settings &s = Settings::instance();
+ s.setProxyMode(mode);
+ if (mode == ProxySettings::Manual)
+ s.setProxy(*this);
+ return true;
+}
+
#ifdef Q_OS_WIN
bool ProxySettings::fromInternetExplorer(const QString &url)
{
@@ -172,3 +187,63 @@
}
return false;
}
+
+
+bool ProxySettings::fromAutoDetect(const QString &url)
+{
+ Settings &s = Settings::instance();
+ QByteArray data;
+
+ if (from(InternetExplorer,url) && !hostname.isEmpty())
+ {
+ s.setProxyMode(mode);
+ if (Downloader::instance()->fetch(testUrl,data))
+ {
+ return true;
+ }
+ }
+ if (from(FireFox,url) && !hostname.isEmpty())
+ {
+ s.setProxyMode(mode);
+ if (Downloader::instance()->fetch(testUrl,data))
+ {
+ return true;
+ }
+ }
+ if (from(Environment,url) && !hostname.isEmpty())
+ {
+ s.setProxyMode(mode);
+ if (Downloader::instance()->fetch(testUrl,data))
+ {
+ return true;
+ }
+ }
+ mode = ProxySettings::None;
+ s.setProxyMode(mode);
+ if (Downloader::instance()->fetch(testUrl,data))
+ {
+ return true;
+ }
+ return false;
+}
+
+
+QString ProxySettings::toString()
+{
+ switch(mode)
+ {
+ case ProxySettings::InternetExplorer:
+ return "using IE proxy" + hostname;
+ case ProxySettings::FireFox:
+ return "using Firefox proxy" + hostname;
+ case ProxySettings::Manual:
+ return "using manual set proxy" + hostname;
+
+ case ProxySettings::Environment:
+ return "using proxy from environment" + hostname;
+
+ case ProxySettings::None:
+ default:
+ return "no proxy used";
+ }
+}
--- trunk/kdesupport/kdewin-installer/shared/proxysettings.h #1154355:1154356
@@ -31,12 +31,18 @@
class ProxySettings
{
public:
- typedef enum {None = 0, InternetExplorer, FireFox, Environment, Manual} ProxyMode;
+ typedef enum {None = 0, InternetExplorer, FireFox, Environment, Manual, AutoDetect} ProxyMode;
ProxySettings();
/// read in proxy settings depending on mode and url based
bool from(ProxyMode mode, const QString &url=QString());
+ /// save settings
+ bool save();
+
+ /// convert to cleartext output
+ QString toString();
+
QString hostname;
int port;
QString user;
@@ -49,6 +55,7 @@
#endif
bool fromFireFox(const QString &url);
bool fromEnvironment(const QString &url);
+ bool fromAutoDetect(const QString &url);
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic