[Qt] allow setting listen via GUI
- add DEFAULT_LISTEN in net.h and use in the code (shared setting between core and GUI) Important: This makes it obvious, that we need to re-think the settings/options handling, as GUI settings are processed before any parameter-interaction (which is mostly important for network stuff) in AppInit2()!
This commit is contained in:
parent
5905d71fe3
commit
56b07d2dcd
6 changed files with 29 additions and 1 deletions
|
@ -766,7 +766,7 @@ bool AppInit2(boost::thread_group& threadGroup)
|
|||
}
|
||||
|
||||
// see Step 2: parameter interactions for more information about these
|
||||
fListen = GetBoolArg("-listen", true);
|
||||
fListen = GetBoolArg("-listen", DEFAULT_LISTEN);
|
||||
fDiscover = GetBoolArg("-discover", true);
|
||||
fNameLookup = GetBoolArg("-dns", true);
|
||||
|
||||
|
|
|
@ -38,6 +38,8 @@ namespace boost {
|
|||
|
||||
/** The maximum number of entries in an 'inv' protocol message */
|
||||
static const unsigned int MAX_INV_SZ = 50000;
|
||||
/** -listen default */
|
||||
static const bool DEFAULT_LISTEN = true;
|
||||
/** -upnp default */
|
||||
#ifdef USE_UPNP
|
||||
static const bool DEFAULT_UPNP = USE_UPNP;
|
||||
|
|
|
@ -242,6 +242,16 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="allowIncoming">
|
||||
<property name="toolTip">
|
||||
<string>Accept connections from outside</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Allow incoming connections</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="connectSocks">
|
||||
<property name="toolTip">
|
||||
|
|
|
@ -151,6 +151,7 @@ void OptionsDialog::setModel(OptionsModel *model)
|
|||
/* Wallet */
|
||||
connect(ui->spendZeroConfChange, SIGNAL(clicked(bool)), this, SLOT(showRestartWarning()));
|
||||
/* Network */
|
||||
connect(ui->allowIncoming, SIGNAL(clicked(bool)), this, SLOT(showRestartWarning()));
|
||||
connect(ui->connectSocks, SIGNAL(clicked(bool)), this, SLOT(showRestartWarning()));
|
||||
/* Display */
|
||||
connect(ui->lang, SIGNAL(valueChanged()), this, SLOT(showRestartWarning()));
|
||||
|
@ -171,6 +172,7 @@ void OptionsDialog::setMapper()
|
|||
|
||||
/* Network */
|
||||
mapper->addMapping(ui->mapPortUpnp, OptionsModel::MapPortUPnP);
|
||||
mapper->addMapping(ui->allowIncoming, OptionsModel::Listen);
|
||||
|
||||
mapper->addMapping(ui->connectSocks, OptionsModel::ProxyUse);
|
||||
mapper->addMapping(ui->proxyIp, OptionsModel::ProxyIP);
|
||||
|
|
|
@ -110,6 +110,11 @@ void OptionsModel::Init()
|
|||
if (!SoftSetBoolArg("-upnp", settings.value("fUseUPnP").toBool()))
|
||||
addOverriddenOption("-upnp");
|
||||
|
||||
if (!settings.contains("fListen"))
|
||||
settings.setValue("fListen", DEFAULT_LISTEN);
|
||||
if (!SoftSetBoolArg("-listen", settings.value("fListen").toBool()))
|
||||
addOverriddenOption("-listen");
|
||||
|
||||
if (!settings.contains("fUseProxy"))
|
||||
settings.setValue("fUseProxy", false);
|
||||
if (!settings.contains("addrProxy"))
|
||||
|
@ -214,6 +219,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
|
|||
return settings.value("nDatabaseCache");
|
||||
case ThreadsScriptVerif:
|
||||
return settings.value("nThreadsScriptVerif");
|
||||
case Listen:
|
||||
return settings.value("fListen");
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
|
@ -339,6 +346,12 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
|
|||
setRestartRequired(true);
|
||||
}
|
||||
break;
|
||||
case Listen:
|
||||
if (settings.value("fListen") != value) {
|
||||
settings.setValue("fListen", value);
|
||||
setRestartRequired(true);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -42,6 +42,7 @@ public:
|
|||
ThreadsScriptVerif, // int
|
||||
DatabaseCache, // int
|
||||
SpendZeroConfChange, // bool
|
||||
Listen, // bool
|
||||
OptionIDRowCount,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue