mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 21:22:39 -05:00
linux: respect http_proxy value for "system" proxy settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14062 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
82373b246e
commit
d77a7eaaac
4 changed files with 90 additions and 26 deletions
|
|
@ -22,6 +22,10 @@
|
||||||
#include "configure.h"
|
#include "configure.h"
|
||||||
#include "ui_configurefrm.h"
|
#include "ui_configurefrm.h"
|
||||||
|
|
||||||
|
#ifdef __linux
|
||||||
|
#include <stdio.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#define DEFAULT_LANG "English (builtin)"
|
#define DEFAULT_LANG "English (builtin)"
|
||||||
|
|
||||||
Config::Config(QWidget *parent) : QDialog(parent)
|
Config::Config(QWidget *parent) : QDialog(parent)
|
||||||
|
|
@ -33,9 +37,9 @@ Config::Config(QWidget *parent) : QDialog(parent)
|
||||||
QRegExp validate("[0-9]*");
|
QRegExp validate("[0-9]*");
|
||||||
proxyValidator->setRegExp(validate);
|
proxyValidator->setRegExp(validate);
|
||||||
ui.proxyPort->setValidator(proxyValidator);
|
ui.proxyPort->setValidator(proxyValidator);
|
||||||
|
#ifndef __linux
|
||||||
ui.radioSystemProxy->setEnabled(false); // not implemented yet
|
ui.radioSystemProxy->setEnabled(false); // only on linux for now
|
||||||
|
#endif
|
||||||
// build language list and sort alphabetically
|
// build language list and sort alphabetically
|
||||||
QStringList langs = findLanguageFiles();
|
QStringList langs = findLanguageFiles();
|
||||||
for(int i = 0; i < langs.size(); ++i)
|
for(int i = 0; i < langs.size(); ++i)
|
||||||
|
|
@ -52,6 +56,7 @@ Config::Config(QWidget *parent) : QDialog(parent)
|
||||||
connect(ui.buttonOk, SIGNAL(clicked()), this, SLOT(accept()));
|
connect(ui.buttonOk, SIGNAL(clicked()), this, SLOT(accept()));
|
||||||
connect(ui.buttonCancel, SIGNAL(clicked()), this, SLOT(abort()));
|
connect(ui.buttonCancel, SIGNAL(clicked()), this, SLOT(abort()));
|
||||||
connect(ui.radioNoProxy, SIGNAL(toggled(bool)), this, SLOT(setNoProxy(bool)));
|
connect(ui.radioNoProxy, SIGNAL(toggled(bool)), this, SLOT(setNoProxy(bool)));
|
||||||
|
connect(ui.radioSystemProxy, SIGNAL(toggled(bool)), this, SLOT(setSystemProxy(bool)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -59,13 +64,13 @@ void Config::accept()
|
||||||
{
|
{
|
||||||
qDebug() << "Config::accept()";
|
qDebug() << "Config::accept()";
|
||||||
// proxy: save entered proxy values, not displayed.
|
// proxy: save entered proxy values, not displayed.
|
||||||
QUrl proxy;
|
if(ui.radioManualProxy->isChecked()) {
|
||||||
proxy.setScheme("http");
|
proxy.setScheme("http");
|
||||||
proxy.setUserName(ui.proxyUser->text());
|
proxy.setUserName(ui.proxyUser->text());
|
||||||
proxy.setPassword(ui.proxyPass->text());
|
proxy.setPassword(ui.proxyPass->text());
|
||||||
proxy.setHost(ui.proxyHost->text());
|
proxy.setHost(ui.proxyHost->text());
|
||||||
proxy.setPort(ui.proxyPort->text().toInt());
|
proxy.setPort(ui.proxyPort->text().toInt());
|
||||||
|
}
|
||||||
userSettings->setValue("defaults/proxy", proxy.toString());
|
userSettings->setValue("defaults/proxy", proxy.toString());
|
||||||
qDebug() << "new proxy:" << proxy;
|
qDebug() << "new proxy:" << proxy;
|
||||||
// proxy type
|
// proxy type
|
||||||
|
|
@ -141,6 +146,39 @@ 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);
|
||||||
|
if(checked) {
|
||||||
|
// save values in input box
|
||||||
|
proxy.setScheme("http");
|
||||||
|
proxy.setUserName(ui.proxyUser->text());
|
||||||
|
proxy.setPassword(ui.proxyPass->text());
|
||||||
|
proxy.setHost(ui.proxyHost->text());
|
||||||
|
proxy.setPort(ui.proxyPort->text().toInt());
|
||||||
|
// show system values in input box
|
||||||
|
#ifdef __linux
|
||||||
|
QUrl envproxy = QUrl(getenv("http_proxy"));
|
||||||
|
ui.proxyHost->setText(envproxy.host());
|
||||||
|
ui.proxyPort->setText(QString("%1").arg(envproxy.port()));
|
||||||
|
ui.proxyUser->setText(envproxy.userName());
|
||||||
|
ui.proxyPass->setText(envproxy.password());
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ui.proxyHost->setText(proxy.host());
|
||||||
|
ui.proxyPort->setText(QString("%1").arg(proxy.port()));
|
||||||
|
ui.proxyUser->setText(proxy.userName());
|
||||||
|
ui.proxyPass->setText(proxy.password());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
QStringList Config::findLanguageFiles()
|
QStringList Config::findLanguageFiles()
|
||||||
{
|
{
|
||||||
QDir dir(programPath + "/");
|
QDir dir(programPath + "/");
|
||||||
|
|
|
||||||
|
|
@ -45,9 +45,11 @@ class Config : public QDialog
|
||||||
QMap<QString, QString> lang;
|
QMap<QString, QString> lang;
|
||||||
QString language;
|
QString language;
|
||||||
QString programPath;
|
QString programPath;
|
||||||
|
QUrl proxy;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void setNoProxy(bool);
|
void setNoProxy(bool);
|
||||||
|
void setSystemProxy(bool);
|
||||||
void updateLanguage(void);
|
void updateLanguage(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ class Install : public QDialog
|
||||||
void setDetailsStable(bool);
|
void setDetailsStable(bool);
|
||||||
void setDetailsArchived(bool);
|
void setDetailsArchived(bool);
|
||||||
void done(bool);
|
void done(bool);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,10 @@
|
||||||
#include "installbootloader.h"
|
#include "installbootloader.h"
|
||||||
#include "installzipwindow.h"
|
#include "installzipwindow.h"
|
||||||
|
|
||||||
|
#ifdef __linux
|
||||||
|
#include <stdio.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
|
RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
|
||||||
{
|
{
|
||||||
QString programPath = qApp->arguments().at(0);
|
QString programPath = qApp->arguments().at(0);
|
||||||
|
|
@ -86,7 +90,7 @@ RbUtilQt::RbUtilQt(QWidget *parent) : QMainWindow(parent)
|
||||||
ui.buttonComplete->setEnabled(false);
|
ui.buttonComplete->setEnabled(false);
|
||||||
ui.buttonDetect->setEnabled(false);
|
ui.buttonDetect->setEnabled(false);
|
||||||
|
|
||||||
initIpodpatcher();
|
initIpodpatcher();
|
||||||
downloadInfo();
|
downloadInfo();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -100,6 +104,10 @@ void RbUtilQt::downloadInfo()
|
||||||
connect(daily, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool)));
|
connect(daily, SIGNAL(requestFinished(int, bool)), this, SLOT(downloadDone(int, bool)));
|
||||||
if(userSettings->value("defaults/proxytype") == "manual")
|
if(userSettings->value("defaults/proxytype") == "manual")
|
||||||
daily->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
daily->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
||||||
|
#ifdef __linux
|
||||||
|
else if(userSettings->value("defaults/proxytype") == "system")
|
||||||
|
daily->setProxy(QUrl(getenv("http_proxy")));
|
||||||
|
#endif
|
||||||
|
|
||||||
qDebug() << "downloading build info";
|
qDebug() << "downloading build info";
|
||||||
daily->setFile(&buildInfo);
|
daily->setFile(&buildInfo);
|
||||||
|
|
@ -218,6 +226,10 @@ void RbUtilQt::install()
|
||||||
installWindow->setDeviceSettings(devices);
|
installWindow->setDeviceSettings(devices);
|
||||||
if(userSettings->value("defaults/proxytype") == "manual")
|
if(userSettings->value("defaults/proxytype") == "manual")
|
||||||
installWindow->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
installWindow->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
||||||
|
#ifdef __linux
|
||||||
|
else if(userSettings->value("defaults/proxytype") == "system")
|
||||||
|
installWindow->setProxy(QUrl(getenv("http_proxy")));
|
||||||
|
#endif
|
||||||
installWindow->setMountPoint(userSettings->value("defaults/mountpoint").toString());
|
installWindow->setMountPoint(userSettings->value("defaults/mountpoint").toString());
|
||||||
|
|
||||||
buildInfo.open();
|
buildInfo.open();
|
||||||
|
|
@ -243,6 +255,10 @@ void RbUtilQt::installBl()
|
||||||
installWindow->setDeviceSettings(devices);
|
installWindow->setDeviceSettings(devices);
|
||||||
if(userSettings->value("defaults/proxytype") == "manual")
|
if(userSettings->value("defaults/proxytype") == "manual")
|
||||||
installWindow->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
installWindow->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
||||||
|
#ifdef __linux
|
||||||
|
else if(userSettings->value("defaults/proxytype") == "system")
|
||||||
|
installWindow->setProxy(QUrl(getenv("http_proxy")));
|
||||||
|
#endif
|
||||||
installWindow->setMountPoint(userSettings->value("defaults/mountpoint").toString());
|
installWindow->setMountPoint(userSettings->value("defaults/mountpoint").toString());
|
||||||
|
|
||||||
installWindow->show();
|
installWindow->show();
|
||||||
|
|
@ -250,30 +266,38 @@ void RbUtilQt::installBl()
|
||||||
|
|
||||||
void RbUtilQt::installFonts()
|
void RbUtilQt::installFonts()
|
||||||
{
|
{
|
||||||
InstallZipWindow* installWindow = new InstallZipWindow(this);
|
InstallZipWindow* installWindow = new InstallZipWindow(this);
|
||||||
installWindow->setUserSettings(userSettings);
|
installWindow->setUserSettings(userSettings);
|
||||||
installWindow->setDeviceSettings(devices);
|
installWindow->setDeviceSettings(devices);
|
||||||
if(userSettings->value("defaults/proxytype") == "manual")
|
if(userSettings->value("defaults/proxytype") == "manual")
|
||||||
installWindow->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
installWindow->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
||||||
|
#ifdef __linux
|
||||||
|
else if(userSettings->value("defaults/proxytype") == "system")
|
||||||
|
installWindow->setProxy(QUrl(getenv("http_proxy")));
|
||||||
|
#endif
|
||||||
installWindow->setMountPoint(userSettings->value("defaults/mountpoint").toString());
|
installWindow->setMountPoint(userSettings->value("defaults/mountpoint").toString());
|
||||||
installWindow->setLogSection("Fonts");
|
installWindow->setLogSection("Fonts");
|
||||||
installWindow->setUrl(devices->value("font_url").toString());
|
installWindow->setUrl(devices->value("font_url").toString());
|
||||||
installWindow->setWindowTitle("Font Installation");
|
installWindow->setWindowTitle("Font Installation");
|
||||||
installWindow->show();
|
installWindow->show();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RbUtilQt::installDoom()
|
void RbUtilQt::installDoom()
|
||||||
{
|
{
|
||||||
InstallZipWindow* installWindow = new InstallZipWindow(this);
|
InstallZipWindow* installWindow = new InstallZipWindow(this);
|
||||||
installWindow->setUserSettings(userSettings);
|
installWindow->setUserSettings(userSettings);
|
||||||
installWindow->setDeviceSettings(devices);
|
installWindow->setDeviceSettings(devices);
|
||||||
if(userSettings->value("defaults/proxytype") == "manual")
|
if(userSettings->value("defaults/proxytype") == "manual")
|
||||||
installWindow->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
installWindow->setProxy(QUrl(userSettings->value("defaults/proxy").toString()));
|
||||||
|
#ifdef __linux
|
||||||
|
else if(userSettings->value("defaults/proxytype") == "system")
|
||||||
|
installWindow->setProxy(QUrl(getenv("http_proxy")));
|
||||||
|
#endif
|
||||||
installWindow->setMountPoint(userSettings->value("defaults/mountpoint").toString());
|
installWindow->setMountPoint(userSettings->value("defaults/mountpoint").toString());
|
||||||
installWindow->setLogSection("Doom");
|
installWindow->setLogSection("Doom");
|
||||||
installWindow->setUrl(devices->value("doom_url").toString());
|
installWindow->setUrl(devices->value("doom_url").toString());
|
||||||
installWindow->setWindowTitle("Doom Installation");
|
installWindow->setWindowTitle("Doom Installation");
|
||||||
installWindow->show();
|
installWindow->show();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue