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
This commit is contained in:
parent
383a32a7ae
commit
9d482ebb6c
2 changed files with 22 additions and 7 deletions
|
@ -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());
|
||||
|
|
|
@ -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("");
|
||||
|
|
Loading…
Reference in a new issue