summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/configure.cpp
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 /rbutil/rbutilqt/configure.cpp
parent383a32a7ae9709607cbed2a10cdb7f2228271bc7 (diff)
downloadrockbox-9d482ebb6c21df7cc593b9860e76088987889bb5.tar.gz
rockbox-9d482ebb6c21df7cc593b9860e76088987889bb5.zip
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
Diffstat (limited to 'rbutil/rbutilqt/configure.cpp')
-rw-r--r--rbutil/rbutilqt/configure.cpp18
1 files changed, 13 insertions, 5 deletions
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)
380 QUrl envproxy; 380 QUrl envproxy;
381#if defined(Q_OS_LINUX) 381#if defined(Q_OS_LINUX)
382 envproxy = QUrl(getenv("http_proxy")); 382 envproxy = QUrl(getenv("http_proxy"));
383
384 ui.proxyHost->setText(envproxy.host());
383#endif 385#endif
384#if defined(Q_OS_WIN32) 386#if defined(Q_OS_WIN32)
385 HKEY hk; 387 HKEY hk;
386 wchar_t proxyval[80]; 388 wchar_t proxyval[80];
387 DWORD buflen = 80; 389 DWORD buflen = 80;
388 long ret; 390 long ret;
391 DWORD enable;
392 DWORD enalen = sizeof(DWORD);
389 393
390 ret = RegOpenKeyEx(HKEY_CURRENT_USER, _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"), 394 ret = RegOpenKeyEx(HKEY_CURRENT_USER, _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"),
391 0, KEY_QUERY_VALUE, &hk); 395 0, KEY_QUERY_VALUE, &hk);
@@ -394,15 +398,19 @@ void Config::setSystemProxy(bool checked)
394 ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen); 398 ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen);
395 if(ret != ERROR_SUCCESS) return; 399 if(ret != ERROR_SUCCESS) return;
396 400
401 ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen);
402 if(ret != ERROR_SUCCESS) return;
403
397 RegCloseKey(hk); 404 RegCloseKey(hk);
398 envproxy = QUrl("http://" + QString::fromWCharArray(proxyval)); 405 envproxy = QUrl("http://" + QString::fromWCharArray(proxyval));
399 qDebug() << envproxy; 406 qDebug() << envproxy;
400 ui.proxyHost->setText(envproxy.host()); 407 if(enable != 0) {
401 ui.proxyPort->setText(QString("%1").arg(envproxy.port())); 408 ui.proxyHost->setText(envproxy.host());
402 ui.proxyUser->setText(envproxy.userName()); 409 }
403 ui.proxyPass->setText(envproxy.password()); 410 else {
411 ui.proxyHost->setText(envproxy.host() + " " + tr("(system proxy is disabled)"));
412 }
404#endif 413#endif
405 ui.proxyHost->setText(envproxy.host());
406 ui.proxyPort->setText(QString("%1").arg(envproxy.port())); 414 ui.proxyPort->setText(QString("%1").arg(envproxy.port()));
407 ui.proxyUser->setText(envproxy.userName()); 415 ui.proxyUser->setText(envproxy.userName());
408 ui.proxyPass->setText(envproxy.password()); 416 ui.proxyPass->setText(envproxy.password());