summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 337f5bc..993757e 100644
--- a/rbutil/rbutilqt/configure.cpp
+++ b/rbutil/rbutilqt/configure.cpp
@@ -380,12 +380,16 @@ void Config::setSystemProxy(bool checked)
QUrl envproxy;
#if defined(Q_OS_LINUX)
envproxy = QUrl(getenv("http_proxy"));
+
+ ui.proxyHost->setText(envproxy.host());
#endif
#if defined(Q_OS_WIN32)
HKEY hk;
wchar_t proxyval[80];
DWORD buflen = 80;
long ret;
+ DWORD enable;
+ DWORD enalen = sizeof(DWORD);
ret = RegOpenKeyEx(HKEY_CURRENT_USER, _TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"),
0, KEY_QUERY_VALUE, &hk);
@@ -394,15 +398,19 @@ void Config::setSystemProxy(bool checked)
ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen);
if(ret != ERROR_SUCCESS) return;
+ ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen);
+ if(ret != ERROR_SUCCESS) return;
+
RegCloseKey(hk);
envproxy = QUrl("http://" + QString::fromWCharArray(proxyval));
qDebug() << envproxy;
- ui.proxyHost->setText(envproxy.host());
- ui.proxyPort->setText(QString("%1").arg(envproxy.port()));
- ui.proxyUser->setText(envproxy.userName());
- ui.proxyPass->setText(envproxy.password());
+ if(enable != 0) {
+ ui.proxyHost->setText(envproxy.host());
+ }
+ else {
+ ui.proxyHost->setText(envproxy.host() + " " + tr("(system proxy is disabled)"));
+ }
#endif
- ui.proxyHost->setText(envproxy.host());
ui.proxyPort->setText(QString("%1").arg(envproxy.port()));
ui.proxyUser->setText(envproxy.userName());
ui.proxyPass->setText(envproxy.password());
diff --git a/rbutil/rbutilqt/rbutilqt.cpp b/rbutil/rbutilqt/rbutilqt.cpp
index 62a7fee..7d0a887 100644
--- a/rbutil/rbutilqt/rbutilqt.cpp
+++ b/rbutil/rbutilqt/rbutilqt.cpp
@@ -965,6 +965,8 @@ QUrl RbUtilQt::proxy()
wchar_t proxyval[80];
DWORD buflen = 80;
long ret;
+ DWORD enable;
+ DWORD enalen = sizeof(DWORD);
ret = RegOpenKeyEx(HKEY_CURRENT_USER,
_TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings"),
@@ -973,10 +975,15 @@ QUrl RbUtilQt::proxy()
ret = RegQueryValueEx(hk, _TEXT("ProxyServer"), NULL, NULL, (LPBYTE)proxyval, &buflen);
if(ret != ERROR_SUCCESS) return QUrl("");
+
+ ret = RegQueryValueEx(hk, _TEXT("ProxyEnable"), NULL, NULL, (LPBYTE)&enable, &enalen);
+ if(ret != ERROR_SUCCESS) return QUrl("");
RegCloseKey(hk);
- qDebug() << QString::fromWCharArray(proxyval);
- return QUrl("http://" + QString::fromWCharArray(proxyval));
+
+ qDebug() << QString::fromWCharArray(proxyval) << QString("%1").arg(enable);
+ if(enable != 0)
+ return QUrl("http://" + QString::fromWCharArray(proxyval));
#endif
return QUrl("");