summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Wenger <domonoky@googlemail.com>2008-01-23 21:54:40 +0000
committerDominik Wenger <domonoky@googlemail.com>2008-01-23 21:54:40 +0000
commitdf6c5f414faa2668c6ea969d6209b9f92c32d526 (patch)
tree82fd286c2d120a88bc2b935daee18d29611d593e
parent9759c035f40e67015762effc9a0a0a29b45e3bf2 (diff)
downloadrockbox-df6c5f414faa2668c6ea969d6209b9f92c32d526.zip
rockbox-df6c5f414faa2668c6ea969d6209b9f92c32d526.tar.gz
rockbox-df6c5f414faa2668c6ea969d6209b9f92c32d526.tar.bz2
rockbox-df6c5f414faa2668c6ea969d6209b9f92c32d526.tar.xz
rbutil: introduce a util function to get the systemproxy, for better reuse.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16150 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/configure.cpp35
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp32
-rw-r--r--rbutil/rbutilqt/utils.cpp44
-rw-r--r--rbutil/rbutilqt/utils.h3
4 files changed, 53 insertions, 61 deletions
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp
index e74dc6e..c155cd2 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -25,6 +25,7 @@
#include "browsedirtree.h"
#include "encoders.h"
#include "tts.h"
+#include "utils.h"
#include <stdio.h>
#if defined(Q_OS_WIN32)
@@ -384,40 +385,10 @@ void Config::setSystemProxy(bool checked)
proxy.setHost(ui.proxyHost->text());
proxy.setPort(ui.proxyPort->text().toInt());
// show system values in input box
- QUrl envproxy;
-#if defined(Q_OS_LINUX)
- envproxy = QUrl(getenv("http_proxy"));
+ QUrl envproxy = systemProxy();
ui.proxyHost->setText(envproxy.host());
-#endif
-#if defined(Q_OS_WIN32)
- HKEY hk;
- wchar_t proxyval[80];
- DWORD buflen = 80;
- long ret;
- DWORD enable;
- DWORD enalen = sizeof(DWORD);
-
- ret = RegOpenKeyEx(HKEY_CURRENT_USER, _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"),
- 0, KEY_QUERY_VALUE, &hk);
- if(ret != ERROR_SUCCESS) return;
-
- ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen);
- if(ret != ERROR_SUCCESS) return;
-
- ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen);
- if(ret != ERROR_SUCCESS) return;
-
- RegCloseKey(hk);
- envproxy = QUrl("http://" + QString::fromWCharArray(proxyval));
- qDebug() << envproxy;
- if(enable != 0) {
- ui.proxyHost->setText(envproxy.host());
- }
- else {
- ui.proxyHost->setText(envproxy.host() + " " + tr("(system proxy is disabled)"));
- }
-#endif
+
ui.proxyPort->setText(QString("%1").arg(envproxy.port()));
ui.proxyUser->setText(envproxy.userName());
ui.proxyPass->setText(envproxy.password());
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index bbba56e..bec87c7 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -969,36 +969,10 @@ QUrl RbUtilQt::proxy()
{
if(userSettings->value("proxytype", "system").toString() == "manual")
return QUrl(userSettings->value("proxy").toString());
-#if defined(Q_OS_LINUX)
else if(userSettings->value("proxytype", "system").toString() == "system")
- return QUrl(getenv("http_proxy"));
-#endif
-#if defined(Q_OS_WIN32)
- HKEY hk;
- wchar_t proxyval[80];
- DWORD buflen = 80;
- long ret;
- DWORD enable;
- DWORD enalen = sizeof(DWORD);
-
- ret = RegOpenKeyEx(HKEY_CURRENT_USER,
- _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"),
- 0, KEY_QUERY_VALUE, &hk);
- if(ret != ERROR_SUCCESS) return QUrl("");
-
- ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen);
- if(ret != ERROR_SUCCESS) return QUrl("");
-
- ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen);
- if(ret != ERROR_SUCCESS) return QUrl("");
-
- RegCloseKey(hk);
-
- qDebug() << QString::fromWCharArray(proxyval) << QString("%1").arg(enable);
- if(enable != 0)
- return QUrl("http://" + QString::fromWCharArray(proxyval));
-
-#endif
+ {
+ systemProxy();
+ }
return QUrl("");
}
diff --git a/rbutil/rbutilqt/utils.cpp b/rbutil/rbutilqt/utils.cpp
index 7458223..5292985 100644
--- a/rbutil/rbutilqt/utils.cpp
+++ b/rbutil/rbutilqt/utils.cpp
@@ -21,6 +21,14 @@
#include <QDir>
+#if defined(Q_OS_WIN32)
+#if defined(UNICODE)
+#define _UNICODE
+#endif
+#include <windows.h>
+#include <tchar.h>
+#endif
+
// recursive function to delete a dir with files
bool recRmdir( const QString &dirName )
{
@@ -42,3 +50,39 @@ bool recRmdir( const QString &dirName )
dir.cdUp();
return dir.rmdir(dirN); // delete empty dir and return if (now empty) dir-removing was successfull
}
+
+
+//Function to get the system proxy
+QUrl systemProxy(void)
+{
+#if defined(Q_OS_LINUX)
+ return QUrl(getenv("http_proxy"));
+#endif
+#if defined(Q_OS_WIN32)
+ HKEY hk;
+ wchar_t proxyval[80];
+ DWORD buflen = 80;
+ long ret;
+ DWORD enable;
+ DWORD enalen = sizeof(DWORD);
+
+ ret = RegOpenKeyEx(HKEY_CURRENT_USER,
+ _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"),
+ 0, KEY_QUERY_VALUE, &hk);
+ if(ret != ERROR_SUCCESS) return QUrl("");
+
+ ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen);
+ if(ret != ERROR_SUCCESS) return QUrl("");
+
+ ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen);
+ if(ret != ERROR_SUCCESS) return QUrl("");
+
+ RegCloseKey(hk);
+
+ //qDebug() << QString::fromWCharArray(proxyval) << QString("%1").arg(enable);
+ if(enable != 0)
+ return QUrl("http://" + QString::fromWCharArray(proxyval));
+ else
+ return QUrl("");
+#endif
+}
diff --git a/rbutil/rbutilqt/utils.h b/rbutil/rbutilqt/utils.h
index 2c2ae97..c7dbf58 100644
--- a/rbutil/rbutilqt/utils.h
+++ b/rbutil/rbutilqt/utils.h
@@ -22,8 +22,11 @@
#define UTILS_H
#include <QString>
+#include <QUrl>
bool recRmdir( const QString &dirName );
+QUrl systemProxy(void);
+
#endif