diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2007-12-23 10:11:51 +0000 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2007-12-23 10:11:51 +0000 |
commit | 9d482ebb6c21df7cc593b9860e76088987889bb5 (patch) | |
tree | aec9088c781612c82db9e3f71a9b8b9b91e88dda /rbutil/rbutilqt/configure.cpp | |
parent | 383a32a7ae9709607cbed2a10cdb7f2228271bc7 (diff) | |
download | rockbox-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.cpp | 18 |
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()); |