summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2007-12-23 10:11:51 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2007-12-23 10:11:51 +0000
commit9d482ebb6c21df7cc593b9860e76088987889bb5 (patch)
treeaec9088c781612c82db9e3f71a9b8b9b91e88dda
parent383a32a7ae9709607cbed2a10cdb7f2228271bc7 (diff)
downloadrockbox-9d482ebb6c21df7cc593b9860e76088987889bb5.zip
rockbox-9d482ebb6c21df7cc593b9860e76088987889bb5.tar.gz
rockbox-9d482ebb6c21df7cc593b9860e76088987889bb5.tar.bz2
rockbox-9d482ebb6c21df7cc593b9860e76088987889bb5.tar.xz
w32: when utilizing IE values for system proxy also honor the ProxyEnable value. In the configuration dialog, display a note when system proxy is disabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15962 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/configure.cpp18
-rw-r--r--rbutil/rbutilqt/rbutilqt.cpp11
2 files changed, 22 insertions, 7 deletions
diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp
index 337f5bc..993757e 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -380,12 +380,16 @@ void Config::setSystemProxy(bool checked)
QUrl envproxy;
#if defined(Q_OS_LINUX)
envproxy = QUrl(getenv("http_proxy"));
+
+ 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);
@@ -394,15 +398,19 @@ void Config::setSystemProxy(bool checked)
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;
- ui.proxyHost->setText(envproxy.host());
- ui.proxyPort->setText(QString("%1").arg(envproxy.port()));
- ui.proxyUser->setText(envproxy.userName());
- ui.proxyPass->setText(envproxy.password());
+ if(enable != 0) {
+ ui.proxyHost->setText(envproxy.host());
+ }
+ else {
+ ui.proxyHost->setText(envproxy.host() + " " + tr("(system proxy is disabled)"));
+ }
#endif
- ui.proxyHost->setText(envproxy.host());
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 62a7fee..7d0a887 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -965,6 +965,8 @@ QUrl RbUtilQt::proxy()
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"),
@@ -973,10 +975,15 @@ QUrl RbUtilQt::proxy()
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);
- return QUrl("http://" + QString::fromWCharArray(proxyval));
+
+ qDebug() << QString::fromWCharArray(proxyval) << QString("%1").arg(enable);
+ if(enable != 0)
+ return QUrl("http://" + QString::fromWCharArray(proxyval));
#endif
return QUrl("");