5 #if defined(HAVE_CONFIG_H)
23 #include <QNetworkProxy>
25 #include <QStringList>
49 if (!settings.contains(
"fMinimizeToTray"))
50 settings.setValue(
"fMinimizeToTray",
false);
53 if (!settings.contains(
"fMinimizeOnClose"))
54 settings.setValue(
"fMinimizeOnClose",
false);
58 if (!settings.contains(
"nDisplayUnit"))
62 if (!settings.contains(
"bDisplayAddresses"))
63 settings.setValue(
"bDisplayAddresses",
false);
66 if (!settings.contains(
"strThirdPartyTxUrls"))
67 settings.setValue(
"strThirdPartyTxUrls",
"");
70 if (!settings.contains(
"fCoinControlFeatures"))
71 settings.setValue(
"fCoinControlFeatures",
false);
83 if (!settings.contains(
"nDatabaseCache"))
85 if (!
SoftSetArg(
"-dbcache", settings.value(
"nDatabaseCache").toString().toStdString()))
88 if (!settings.contains(
"nThreadsScriptVerif"))
90 if (!
SoftSetArg(
"-par", settings.value(
"nThreadsScriptVerif").toString().toStdString()))
95 if (!settings.contains(
"nTransactionFee"))
101 if (!settings.contains(
"bSpendZeroConfChange"))
102 settings.setValue(
"bSpendZeroConfChange",
true);
103 if (!
SoftSetBoolArg(
"-spendzeroconfchange", settings.value(
"bSpendZeroConfChange").toBool()))
108 if (!settings.contains(
"fUseUPnP"))
110 settings.setValue(
"fUseUPnP",
true);
112 settings.setValue(
"fUseUPnP",
false);
114 if (!
SoftSetBoolArg(
"-upnp", settings.value(
"fUseUPnP").toBool()))
117 if (!settings.contains(
"fUseProxy"))
118 settings.setValue(
"fUseProxy",
false);
119 if (!settings.contains(
"addrProxy"))
120 settings.setValue(
"addrProxy",
"127.0.0.1:9050");
122 if (settings.value(
"fUseProxy").toBool() && !
SoftSetArg(
"-proxy", settings.value(
"addrProxy").toString().toStdString()))
124 if (!settings.contains(
"nSocksVersion"))
125 settings.setValue(
"nSocksVersion", 5);
127 if (settings.value(
"fUseProxy").toBool() && !
SoftSetArg(
"-socks", settings.value(
"nSocksVersion").toString().toStdString()))
131 if (!settings.contains(
"language"))
132 settings.setValue(
"language",
"");
133 if (!
SoftSetArg(
"-lang", settings.value(
"language").toString().toStdString()))
136 language = settings.value(
"language").toString();
159 if(role == Qt::EditRole)
170 return settings.value(
"fUseUPnP");
179 return settings.value(
"fUseProxy",
false);
182 QStringList strlIpPort = settings.value(
"addrProxy").toString().split(
":", QString::SkipEmptyParts);
183 return strlIpPort.at(0);
187 QStringList strlIpPort = settings.value(
"addrProxy").toString().split(
":", QString::SkipEmptyParts);
188 return strlIpPort.at(1);
191 return settings.value(
"nSocksVersion", 5);
202 return settings.value(
"nTransactionFee");
204 return settings.value(
"bSpendZeroConfChange");
213 return settings.value(
"language");
217 return settings.value(
"nDatabaseCache");
219 return settings.value(
"nThreadsScriptVerif");
230 bool successful =
true;
231 if(role == Qt::EditRole)
244 settings.setValue(
"fUseUPnP", value.toBool());
254 if (settings.value(
"fUseProxy") != value) {
255 settings.setValue(
"fUseProxy", value.toBool());
261 QStringList strlIpPort = settings.value(
"addrProxy").toString().split(
":", QString::SkipEmptyParts);
263 if (!settings.contains(
"addrProxy") || strlIpPort.at(0) != value.toString()) {
265 QString strNewValue = value.toString() +
":" + strlIpPort.at(1);
266 settings.setValue(
"addrProxy", strNewValue);
273 QStringList strlIpPort = settings.value(
"addrProxy").toString().split(
":", QString::SkipEmptyParts);
275 if (!settings.contains(
"addrProxy") || strlIpPort.at(1) != value.toString()) {
277 QString strNewValue = strlIpPort.at(0) +
":" + value.toString();
278 settings.setValue(
"addrProxy", strNewValue);
284 if (settings.value(
"nSocksVersion") != value) {
285 settings.setValue(
"nSocksVersion", value.toInt());
298 if (settings.value(
"bSpendZeroConfChange") != value) {
299 settings.setValue(
"bSpendZeroConfChange", value);
321 if (settings.value(
"language") != value) {
322 settings.setValue(
"language", value);
332 if (settings.value(
"nDatabaseCache") != value) {
333 settings.setValue(
"nDatabaseCache", value);
338 if (settings.value(
"nThreadsScriptVerif") != value) {
339 settings.setValue(
"nThreadsScriptVerif", value);
347 emit dataChanged(index, index);
358 if (curProxy.second == 5) {
359 proxy.setType(QNetworkProxy::Socks5Proxy);
360 proxy.setHostName(QString::fromStdString(curProxy.first.ToStringIP()));
361 proxy.setPort(curProxy.first.GetPort());
369 proxy.setType(QNetworkProxy::NoProxy);
377 return settings.setValue(
"fRestartRequired", fRequired);
383 return settings.value(
"fRestartRequired",
false).toBool();
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole)
void addOverriddenOption(const std::string &option)
Add option to list of GUI options overridden through command line/config file.
bool SoftSetBoolArg(const std::string &strArg, bool fValue)
Set a boolean argument if it doesn't already have a value.
void transactionFeeChanged(qint64)
bool GetStartOnSystemStartup()
void coinControlFeaturesChanged(bool)
OptionsModel(QObject *parent=0)
bool SoftSetArg(const std::string &strArg, const std::string &strValue)
Set an argument if it doesn't already have a value.
int rowCount(const QModelIndex &parent=QModelIndex()) const
bool getProxySettings(QNetworkProxy &proxy) const
static const int64_t nDefaultDbCache
void displayUnitChanged(int unit)
bool fCoinControlFeatures
static const int DEFAULT_SCRIPTCHECK_THREADS
-par default (number of script-checking threads, 0 = auto)
void setRestartRequired(bool fRequired)
QString strThirdPartyTxUrls
std::pair< CService, int > proxyType
bool GetProxy(enum Network net, proxyType &proxyInfoOut)
bool SetStartOnSystemStartup(bool fAutoStart)
static const int64_t DEFAULT_TRANSACTION_FEE
map< string, string > mapArgs
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const
QString strOverriddenByCommandLine