summaryrefslogtreecommitdiff
path: root/rbutil/rbutilqt/configure.cpp
diff options
context:
space:
mode:
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());