Warn when selecting system proxy settings with invalid values.
Rockbox Utility doesn't support "proxy auto-config" (aka PAC) for system proxy settings. This can result in users selecting system proxy and expecting it to work even if their system uses PAC. While the configuration dialog displays the proxy setting values retrieved from the system this is not totally obvious. Add a message telling if the retrieved system proxy values are not useable. For now this only checks if a proxy host and port are set which should catch the usual cases when PAC is used. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25435 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
e53ede9b2b
commit
98493fd398
1 changed files with 24 additions and 7 deletions
|
@ -55,7 +55,7 @@ Config::Config(QWidget *parent,int index) : QDialog(parent)
|
|||
proxyValidator->setRegExp(validate);
|
||||
ui.proxyPort->setValidator(proxyValidator);
|
||||
#if !defined(Q_OS_LINUX) && !defined(Q_OS_WIN32)
|
||||
ui.radioSystemProxy->setEnabled(false); // not on macox for now
|
||||
ui.radioSystemProxy->setEnabled(false); // not on OS X for now
|
||||
#endif
|
||||
// build language list and sort alphabetically
|
||||
QStringList langs = findLanguageFiles();
|
||||
|
@ -446,11 +446,10 @@ void Config::setNoProxy(bool checked)
|
|||
|
||||
void Config::setSystemProxy(bool checked)
|
||||
{
|
||||
bool i = !checked;
|
||||
ui.proxyPort->setEnabled(i);
|
||||
ui.proxyHost->setEnabled(i);
|
||||
ui.proxyUser->setEnabled(i);
|
||||
ui.proxyPass->setEnabled(i);
|
||||
ui.proxyPort->setEnabled(!checked);
|
||||
ui.proxyHost->setEnabled(!checked);
|
||||
ui.proxyUser->setEnabled(!checked);
|
||||
ui.proxyPass->setEnabled(!checked);
|
||||
if(checked) {
|
||||
// save values in input box
|
||||
proxy.setScheme("http");
|
||||
|
@ -460,13 +459,31 @@ void Config::setSystemProxy(bool checked)
|
|||
proxy.setPort(ui.proxyPort->text().toInt());
|
||||
// show system values in input box
|
||||
QUrl envproxy = System::systemProxy();
|
||||
qDebug() << "[Config] setting system proxy" << 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(envproxy.host().isEmpty() || envproxy.port() == -1) {
|
||||
qDebug() << "[Config] sytem proxy is invalid.";
|
||||
QMessageBox::warning(this, tr("Proxy Detection"),
|
||||
tr("The System Proxy settings are invalid!\n"
|
||||
"Rockbox Utility can't work with this proxy settings. "
|
||||
"Make sure the system proxy is set correctly. Note that "
|
||||
"\"proxy auto-config (PAC)\" scripts are not supported by "
|
||||
"Rockbox Utility. If your system uses this you need "
|
||||
"to use manual proxy settings."),
|
||||
QMessageBox::Ok ,QMessageBox::Ok);
|
||||
// the current proxy settings are invalid. Check the saved proxy
|
||||
// type again.
|
||||
if(RbSettings::value(RbSettings::ProxyType).toString() == "manual")
|
||||
ui.radioManualProxy->setChecked(true);
|
||||
else
|
||||
ui.radioNoProxy->setChecked(true);
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
ui.proxyHost->setText(proxy.host());
|
||||
|
|
Loading…
Reference in a new issue