|
|
@ -29,6 +29,8 @@ |
|
|
|
|
|
|
|
|
|
|
|
const char *DEFAULT_GUI_PROXY_HOST = "127.0.0.1"; |
|
|
|
const char *DEFAULT_GUI_PROXY_HOST = "127.0.0.1"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static const QString GetDefaultProxyAddress(); |
|
|
|
|
|
|
|
|
|
|
|
OptionsModel::OptionsModel(QObject *parent, bool resetSettings) : |
|
|
|
OptionsModel::OptionsModel(QObject *parent, bool resetSettings) : |
|
|
|
QAbstractListModel(parent) |
|
|
|
QAbstractListModel(parent) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -126,7 +128,7 @@ void OptionsModel::Init(bool resetSettings) |
|
|
|
if (!settings.contains("fUseProxy")) |
|
|
|
if (!settings.contains("fUseProxy")) |
|
|
|
settings.setValue("fUseProxy", false); |
|
|
|
settings.setValue("fUseProxy", false); |
|
|
|
if (!settings.contains("addrProxy")) |
|
|
|
if (!settings.contains("addrProxy")) |
|
|
|
settings.setValue("addrProxy", QString("%1:%2").arg(DEFAULT_GUI_PROXY_HOST, DEFAULT_GUI_PROXY_PORT)); |
|
|
|
settings.setValue("addrProxy", GetDefaultProxyAddress()); |
|
|
|
// Only try to set -proxy, if user has enabled fUseProxy
|
|
|
|
// Only try to set -proxy, if user has enabled fUseProxy
|
|
|
|
if (settings.value("fUseProxy").toBool() && !gArgs.SoftSetArg("-proxy", settings.value("addrProxy").toString().toStdString())) |
|
|
|
if (settings.value("fUseProxy").toBool() && !gArgs.SoftSetArg("-proxy", settings.value("addrProxy").toString().toStdString())) |
|
|
|
addOverriddenOption("-proxy"); |
|
|
|
addOverriddenOption("-proxy"); |
|
|
@ -136,7 +138,7 @@ void OptionsModel::Init(bool resetSettings) |
|
|
|
if (!settings.contains("fUseSeparateProxyTor")) |
|
|
|
if (!settings.contains("fUseSeparateProxyTor")) |
|
|
|
settings.setValue("fUseSeparateProxyTor", false); |
|
|
|
settings.setValue("fUseSeparateProxyTor", false); |
|
|
|
if (!settings.contains("addrSeparateProxyTor")) |
|
|
|
if (!settings.contains("addrSeparateProxyTor")) |
|
|
|
settings.setValue("addrSeparateProxyTor", QString("%1:%2").arg(DEFAULT_GUI_PROXY_HOST, DEFAULT_GUI_PROXY_PORT)); |
|
|
|
settings.setValue("addrSeparateProxyTor", GetDefaultProxyAddress()); |
|
|
|
// Only try to set -onion, if user has enabled fUseSeparateProxyTor
|
|
|
|
// Only try to set -onion, if user has enabled fUseSeparateProxyTor
|
|
|
|
if (settings.value("fUseSeparateProxyTor").toBool() && !gArgs.SoftSetArg("-onion", settings.value("addrSeparateProxyTor").toString().toStdString())) |
|
|
|
if (settings.value("fUseSeparateProxyTor").toBool() && !gArgs.SoftSetArg("-onion", settings.value("addrSeparateProxyTor").toString().toStdString())) |
|
|
|
addOverriddenOption("-onion"); |
|
|
|
addOverriddenOption("-onion"); |
|
|
@ -228,6 +230,11 @@ static void SetProxySetting(QSettings &settings, const QString &name, const Prox |
|
|
|
settings.setValue(name, ip_port.ip + ":" + ip_port.port); |
|
|
|
settings.setValue(name, ip_port.ip + ":" + ip_port.port); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static const QString GetDefaultProxyAddress() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
return QString("%1:%2").arg(DEFAULT_GUI_PROXY_HOST).arg(DEFAULT_GUI_PROXY_PORT); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// read QSettings values and return them
|
|
|
|
// read QSettings values and return them
|
|
|
|
QVariant OptionsModel::data(const QModelIndex & index, int role) const |
|
|
|
QVariant OptionsModel::data(const QModelIndex & index, int role) const |
|
|
|
{ |
|
|
|
{ |
|
|
@ -490,4 +497,16 @@ void OptionsModel::checkAndMigrate() |
|
|
|
|
|
|
|
|
|
|
|
settings.setValue(strSettingsVersionKey, CLIENT_VERSION); |
|
|
|
settings.setValue(strSettingsVersionKey, CLIENT_VERSION); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Overwrite the 'addrProxy' setting in case it has been set to an illegal
|
|
|
|
|
|
|
|
// default value (see issue #12623; PR #12650).
|
|
|
|
|
|
|
|
if (settings.contains("addrProxy") && settings.value("addrProxy").toString().endsWith("%2")) { |
|
|
|
|
|
|
|
settings.setValue("addrProxy", GetDefaultProxyAddress()); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Overwrite the 'addrSeparateProxyTor' setting in case it has been set to an illegal
|
|
|
|
|
|
|
|
// default value (see issue #12623; PR #12650).
|
|
|
|
|
|
|
|
if (settings.contains("addrSeparateProxyTor") && settings.value("addrSeparateProxyTor").toString().endsWith("%2")) { |
|
|
|
|
|
|
|
settings.setValue("addrSeparateProxyTor", GetDefaultProxyAddress()); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|