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 | |
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
-rw-r--r-- | rbutil/rbutilqt/configure.cpp | 18 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.cpp | 11 |
2 files changed, 22 insertions, 7 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()); |
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp index 62a7fee4c4..7d0a887849 100644 --- a/rbutil/rbutilqt/rbutilqt.cpp +++ b/rbutil/rbutilqt/rbutilqt.cpp | |||
@@ -965,6 +965,8 @@ QUrl RbUtilQt::proxy() | |||
965 | wchar_t proxyval[80]; | 965 | wchar_t proxyval[80]; |
966 | DWORD buflen = 80; | 966 | DWORD buflen = 80; |
967 | long ret; | 967 | long ret; |
968 | DWORD enable; | ||
969 | DWORD enalen = sizeof(DWORD); | ||
968 | 970 | ||
969 | ret = RegOpenKeyEx(HKEY_CURRENT_USER, | 971 | ret = RegOpenKeyEx(HKEY_CURRENT_USER, |
970 | _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"), | 972 | _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"), |
@@ -973,10 +975,15 @@ QUrl RbUtilQt::proxy() | |||
973 | 975 | ||
974 | ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen); | 976 | ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen); |
975 | if(ret != ERROR_SUCCESS) return QUrl(""); | 977 | if(ret != ERROR_SUCCESS) return QUrl(""); |
978 | |||
979 | ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen); | ||
980 | if(ret != ERROR_SUCCESS) return QUrl(""); | ||
976 | 981 | ||
977 | RegCloseKey(hk); | 982 | RegCloseKey(hk); |
978 | qDebug() << QString::fromWCharArray(proxyval); | 983 | |
979 | return QUrl("http://" + QString::fromWCharArray(proxyval)); | 984 | qDebug() << QString::fromWCharArray(proxyval) << QString("%1").arg(enable); |
985 | if(enable != 0) | ||
986 | return QUrl("http://" + QString::fromWCharArray(proxyval)); | ||
980 | 987 | ||
981 | #endif | 988 | #endif |
982 | return QUrl(""); | 989 | return QUrl(""); |