6 #if defined(HAVE_CONFIG_H) 17 #include "validation.h" 32 #include <QNetworkProxy> 34 #include <QStringList> 37 QAbstractListModel(parent)
63 if (!
settings.contains(
"fHideTrayIcon"))
64 settings.setValue(
"fHideTrayIcon",
false);
68 if (!
settings.contains(
"fMinimizeToTray"))
69 settings.setValue(
"fMinimizeToTray",
false);
72 if (!
settings.contains(
"fMinimizeOnClose"))
73 settings.setValue(
"fMinimizeOnClose",
false);
77 if (!
settings.contains(
"nDisplayUnit"))
81 if (!
settings.contains(
"strThirdPartyTxUrls"))
82 settings.setValue(
"strThirdPartyTxUrls",
"");
85 if (!
settings.contains(
"fCoinControlFeatures"))
86 settings.setValue(
"fCoinControlFeatures",
false);
94 if (!
settings.contains(
"fShowMasternodesTab"))
97 if (!
settings.contains(
"fShowAdvancedPSUI"))
98 settings.setValue(
"fShowAdvancedPSUI",
false);
101 if (!
settings.contains(
"fLowKeysWarning"))
102 settings.setValue(
"fLowKeysWarning",
true);
113 if (!
settings.contains(
"nDatabaseCache"))
115 if (!
SoftSetArg(
"-dbcache",
settings.value(
"nDatabaseCache").toString().toStdString()))
118 if (!
settings.contains(
"nThreadsScriptVerif"))
120 if (!
SoftSetArg(
"-par",
settings.value(
"nThreadsScriptVerif").toString().toStdString()))
125 if (!
settings.contains(
"bSpendZeroConfChange"))
126 settings.setValue(
"bSpendZeroConfChange",
true);
131 if (!
settings.contains(
"nPrivateSendRounds"))
133 if (!
SoftSetArg(
"-privatesendrounds",
settings.value(
"nPrivateSendRounds").toString().toStdString()))
137 if (!
settings.contains(
"nPrivateSendAmount")) {
139 if (!
settings.contains(
"nAnonymizeDashAmount"))
142 settings.setValue(
"nPrivateSendAmount",
settings.value(
"nAnonymizeDashAmount").toInt());
144 if (!
SoftSetArg(
"-privatesendamount",
settings.value(
"nPrivateSendAmount").toString().toStdString()))
148 if (!
settings.contains(
"fPrivateSendMultiSession"))
166 if (!
settings.contains(
"fUseProxy"))
167 settings.setValue(
"fUseProxy",
false);
168 if (!
settings.contains(
"addrProxy"))
169 settings.setValue(
"addrProxy",
"127.0.0.1:9050");
173 else if(!
settings.value(
"fUseProxy").toBool() && !
GetArg(
"-proxy",
"").empty())
176 if (!
settings.contains(
"fUseSeparateProxyTor"))
177 settings.setValue(
"fUseSeparateProxyTor",
false);
178 if (!
settings.contains(
"addrSeparateProxyTor"))
179 settings.setValue(
"addrSeparateProxyTor",
"127.0.0.1:9050");
181 if (
settings.value(
"fUseSeparateProxyTor").toBool() && !
SoftSetArg(
"-onion",
settings.value(
"addrSeparateProxyTor").toString().toStdString()))
183 else if(!
settings.value(
"fUseSeparateProxyTor").toBool() && !
GetArg(
"-onion",
"").empty())
216 if(role == Qt::EditRole)
238 return settings.value(
"fUseProxy",
false);
241 QStringList strlIpPort =
settings.value(
"addrProxy").toString().split(
":", QString::SkipEmptyParts);
242 return strlIpPort.at(0);
246 QStringList strlIpPort =
settings.value(
"addrProxy").toString().split(
":", QString::SkipEmptyParts);
247 return strlIpPort.at(1);
252 return settings.value(
"fUseSeparateProxyTor",
false);
255 QStringList strlIpPort =
settings.value(
"addrSeparateProxyTor").toString().split(
":", QString::SkipEmptyParts);
256 return strlIpPort.at(0);
260 QStringList strlIpPort =
settings.value(
"addrSeparateProxyTor").toString().split(
":", QString::SkipEmptyParts);
261 return strlIpPort.at(1);
266 return settings.value(
"bSpendZeroConfChange");
268 return settings.value(
"fShowMasternodesTab");
272 return settings.value(
"fLowKeysWarning");
274 return settings.value(
"nPrivateSendRounds");
276 return settings.value(
"nPrivateSendAmount");
278 return settings.value(
"fPrivateSendMultiSession");
293 return settings.value(
"nDatabaseCache");
295 return settings.value(
"nThreadsScriptVerif");
308 bool successful =
true;
309 if(role == Qt::EditRole)
327 settings.setValue(
"fUseUPnP", value.toBool());
337 if (
settings.value(
"fUseProxy") != value) {
338 settings.setValue(
"fUseProxy", value.toBool());
344 QStringList strlIpPort =
settings.value(
"addrProxy").toString().split(
":", QString::SkipEmptyParts);
346 if (!
settings.contains(
"addrProxy") || strlIpPort.at(0) != value.toString()) {
348 QString strNewValue = value.toString() +
":" + strlIpPort.at(1);
349 settings.setValue(
"addrProxy", strNewValue);
356 QStringList strlIpPort =
settings.value(
"addrProxy").toString().split(
":", QString::SkipEmptyParts);
358 if (!
settings.contains(
"addrProxy") || strlIpPort.at(1) != value.toString()) {
360 QString strNewValue = strlIpPort.at(0) +
":" + value.toString();
361 settings.setValue(
"addrProxy", strNewValue);
369 if (
settings.value(
"fUseSeparateProxyTor") != value) {
370 settings.setValue(
"fUseSeparateProxyTor", value.toBool());
376 QStringList strlIpPort =
settings.value(
"addrSeparateProxyTor").toString().split(
":", QString::SkipEmptyParts);
378 if (!
settings.contains(
"addrSeparateProxyTor") || strlIpPort.at(0) != value.toString()) {
380 QString strNewValue = value.toString() +
":" + strlIpPort.at(1);
381 settings.setValue(
"addrSeparateProxyTor", strNewValue);
388 QStringList strlIpPort =
settings.value(
"addrSeparateProxyTor").toString().split(
":", QString::SkipEmptyParts);
390 if (!
settings.contains(
"addrSeparateProxyTor") || strlIpPort.at(1) != value.toString()) {
392 QString strNewValue = strlIpPort.at(0) +
":" + value.toString();
393 settings.setValue(
"addrSeparateProxyTor", strNewValue);
401 if (
settings.value(
"bSpendZeroConfChange") != value) {
402 settings.setValue(
"bSpendZeroConfChange", value);
407 if (
settings.value(
"fShowMasternodesTab") != value) {
408 settings.setValue(
"fShowMasternodesTab", value);
418 settings.setValue(
"fLowKeysWarning", value);
421 if (
settings.value(
"nPrivateSendRounds") != value)
429 if (
settings.value(
"nPrivateSendAmount") != value)
437 if (
settings.value(
"fPrivateSendMultiSession") != value)
455 if (
settings.value(
"digits") != value) {
461 if (
settings.value(
"theme") != value) {
467 if (
settings.value(
"language") != value) {
468 settings.setValue(
"language", value);
478 if (
settings.value(
"nDatabaseCache") != value) {
479 settings.setValue(
"nDatabaseCache", value);
484 if (
settings.value(
"nThreadsScriptVerif") != value) {
485 settings.setValue(
"nThreadsScriptVerif", value);
490 if (
settings.value(
"fListen") != value) {
491 settings.setValue(
"fListen", value);
500 Q_EMIT dataChanged(index, index);
523 proxy.setType(QNetworkProxy::Socks5Proxy);
524 proxy.setHostName(QString::fromStdString(curProxy.
proxy.
ToStringIP()));
530 proxy.setType(QNetworkProxy::NoProxy);
538 return settings.setValue(
"fRestartRequired", fRequired);
544 return settings.value(
"fRestartRequired",
false).toBool();
static const int DEFAULT_SCRIPTCHECK_THREADS
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
CMasternodeConfig masternodeConfig
OptionsModel(QObject *parent=0, bool resetSettings=false)
bool SoftSetBoolArg(const std::string &strArg, bool fValue)
std::string ToStringIP(bool fUseGetnameinfo=true) const
static const int DEFAULT_PRIVATESEND_AMOUNT
void addOverriddenOption(const std::string &option)
Add option to list of GUI options overridden through command line/config file.
void setRestartRequired(bool fRequired)
static const bool DEFAULT_LISTEN
bool fCoinControlFeatures
QString strThirdPartyTxUrls
void displayUnitChanged(int unit)
unsigned short GetPort() const
int rowCount(const QModelIndex &parent=QModelIndex()) const
void coinControlFeaturesChanged(bool)
static const int DEFAULT_PRIVATESEND_ROUNDS
bool SoftSetArg(const std::string &strArg, const std::string &strValue)
void setDisplayUnit(const QVariant &value)
bool getProxySettings(QNetworkProxy &proxy) const
QString strOverriddenByCommandLine
static const int64_t nDefaultDbCache
-dbcache default (MiB)
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
bool GetStartOnSystemStartup()
bool SetStartOnSystemStartup(bool fAutoStart)
CPrivateSendClient privateSendClient
void privateSendRoundsChanged()
void advancedPSUIChanged(bool)
static const bool DEFAULT_UPNP
bool GetProxy(enum Network net, proxyType &proxyInfoOut)
std::string GetArg(const std::string &strArg, const std::string &strDefault)
void Init(bool resetSettings=false)
void hideTrayIconChanged(bool)
void privateSentAmountChanged()
static const bool DEFAULT_PRIVATESEND_MULTISESSION
map< string, string > mapArgs
bool fPrivateSendMultiSession