mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 06:52:36 +01:00
gui: add external signer path to options dialog
This commit is contained in:
parent
22b845291c
commit
6cdbc83e93
4 changed files with 48 additions and 0 deletions
|
@ -229,6 +229,36 @@
|
|||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBoxHww">
|
||||
<property name="title">
|
||||
<string>External Signer (e.g. hardware wallet)</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayoutHww">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayoutHww">
|
||||
<item>
|
||||
<widget class="QLabel" name="externalSignerPathLabel">
|
||||
<property name="text">
|
||||
<string>&External signer script path</string>
|
||||
</property>
|
||||
<property name="buddy">
|
||||
<cstring>externalSignerPath</cstring>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLineEdit" name="externalSignerPath">
|
||||
<property name="toolTip">
|
||||
<string>Full path to a Bitcoin Core compatible script (e.g. C:\Downloads\hwi.exe or /Users/you/Downloads/hwi.py). Beware: malware can steal your coins!</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_Wallet">
|
||||
<property name="orientation">
|
||||
|
|
|
@ -199,6 +199,7 @@ void OptionsDialog::setModel(OptionsModel *_model)
|
|||
connect(ui->prune, &QCheckBox::clicked, this, &OptionsDialog::togglePruneWarning);
|
||||
connect(ui->pruneSize, qOverload<int>(&QSpinBox::valueChanged), this, &OptionsDialog::showRestartWarning);
|
||||
connect(ui->databaseCache, qOverload<int>(&QSpinBox::valueChanged), this, &OptionsDialog::showRestartWarning);
|
||||
connect(ui->externalSignerPath, &QLineEdit::textChanged, [this]{ showRestartWarning(); });
|
||||
connect(ui->threadsScriptVerif, qOverload<int>(&QSpinBox::valueChanged), this, &OptionsDialog::showRestartWarning);
|
||||
/* Wallet */
|
||||
connect(ui->spendZeroConfChange, &QCheckBox::clicked, this, &OptionsDialog::showRestartWarning);
|
||||
|
@ -233,6 +234,7 @@ void OptionsDialog::setMapper()
|
|||
/* Wallet */
|
||||
mapper->addMapping(ui->spendZeroConfChange, OptionsModel::SpendZeroConfChange);
|
||||
mapper->addMapping(ui->coinControlFeatures, OptionsModel::CoinControlFeatures);
|
||||
mapper->addMapping(ui->externalSignerPath, OptionsModel::ExternalSignerPath);
|
||||
|
||||
/* Network */
|
||||
mapper->addMapping(ui->mapPortUpnp, OptionsModel::MapPortUPnP);
|
||||
|
|
|
@ -117,6 +117,13 @@ void OptionsModel::Init(bool resetSettings)
|
|||
settings.setValue("bSpendZeroConfChange", true);
|
||||
if (!gArgs.SoftSetBoolArg("-spendzeroconfchange", settings.value("bSpendZeroConfChange").toBool()))
|
||||
addOverriddenOption("-spendzeroconfchange");
|
||||
|
||||
if (!settings.contains("external_signer_path"))
|
||||
settings.setValue("external_signer_path", "");
|
||||
|
||||
if (!gArgs.SoftSetArg("-signer", settings.value("external_signer_path").toString().toStdString())) {
|
||||
addOverriddenOption("-signer");
|
||||
}
|
||||
#endif
|
||||
|
||||
// Network
|
||||
|
@ -326,6 +333,8 @@ QVariant OptionsModel::data(const QModelIndex & index, int role) const
|
|||
#ifdef ENABLE_WALLET
|
||||
case SpendZeroConfChange:
|
||||
return settings.value("bSpendZeroConfChange");
|
||||
case ExternalSignerPath:
|
||||
return settings.value("external_signer_path");
|
||||
#endif
|
||||
case DisplayUnit:
|
||||
return nDisplayUnit;
|
||||
|
@ -445,6 +454,12 @@ bool OptionsModel::setData(const QModelIndex & index, const QVariant & value, in
|
|||
setRestartRequired(true);
|
||||
}
|
||||
break;
|
||||
case ExternalSignerPath:
|
||||
if (settings.value("external_signer_path") != value.toString()) {
|
||||
settings.setValue("external_signer_path", value.toString());
|
||||
setRestartRequired(true);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
case DisplayUnit:
|
||||
setDisplayUnit(value);
|
||||
|
|
|
@ -65,6 +65,7 @@ public:
|
|||
Prune, // bool
|
||||
PruneSize, // int
|
||||
DatabaseCache, // int
|
||||
ExternalSignerPath, // QString
|
||||
SpendZeroConfChange, // bool
|
||||
Listen, // bool
|
||||
OptionIDRowCount,
|
||||
|
|
Loading…
Add table
Reference in a new issue