From 9d482ebb6c21df7cc593b9860e76088987889bb5 Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Sun, 23 Dec 2007 10:11:51 +0000 Subject: 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 --- rbutil/rbutilqt/configure.cpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'rbutil/rbutilqt/configure.cpp') diff --git a/rbutil/rbutilqt/configure.cpp b/rbutil/rbutilqt/configure.cpp index 337f5bc210..993757ed5a 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()); -- cgit v1.2.3