summaryrefslogtreecommitdiff
path: root/rbutil
diff options
context:
space:
mode:
Diffstat (limited to 'rbutil')
-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 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("");