From 6a1c39728fa9d68b9c6b2c5fc50d96b2b8c5b8b7 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Mon, 4 Jul 2022 18:14:15 +0200 Subject: [PATCH] add 'spend unconfirmed' config option --- electrum/gui/qml/components/Preferences.qml | 21 ++++++++++++++++----- electrum/gui/qml/qeconfig.py | 10 ++++++++++ 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/electrum/gui/qml/components/Preferences.qml b/electrum/gui/qml/components/Preferences.qml index e64ec97cc..7509b73a2 100644 --- a/electrum/gui/qml/components/Preferences.qml +++ b/electrum/gui/qml/components/Preferences.qml @@ -41,7 +41,7 @@ Pane { } } - CheckBox { + Switch { id: thousands Layout.columnSpan: 2 text: qsTr('Add thousands separators to bitcoin amounts') @@ -51,14 +51,14 @@ Pane { } } - CheckBox { + Switch { id: checkSoftware Layout.columnSpan: 2 text: qsTr('Automatically check for software updates') enabled: false } - CheckBox { + Switch { id: fiatEnable text: qsTr('Fiat Currency') onCheckedChanged: { @@ -77,12 +77,12 @@ Pane { } } - CheckBox { + Switch { id: historicRates text: qsTr('Historic rates') enabled: Daemon.fx.enabled Layout.columnSpan: 2 - onCheckStateChanged: { + onCheckedChanged: { if (activeFocus) Daemon.fx.historicRates = checked } @@ -106,6 +106,16 @@ Pane { } } + Switch { + id: spendUnconfirmed + text: qsTr('Spend unconfirmed') + Layout.columnSpan: 2 + onCheckedChanged: { + if (activeFocus) + Config.spendUnconfirmed = checked + } + } + Label { text: qsTr('Lightning Routing') } @@ -133,6 +143,7 @@ Pane { historicRates.checked = Daemon.fx.historicRates rateSources.currentIndex = rateSources.indexOfValue(Daemon.fx.rateSource) fiatEnable.checked = Daemon.fx.enabled + spendUnconfirmed.checked = Config.spendUnconfirmed lnRoutingType.currentIndex = Config.useGossip ? 0 : 1 } } diff --git a/electrum/gui/qml/qeconfig.py b/electrum/gui/qml/qeconfig.py index f8af476d6..88bb0ee7e 100644 --- a/electrum/gui/qml/qeconfig.py +++ b/electrum/gui/qml/qeconfig.py @@ -70,6 +70,16 @@ class QEConfig(QObject): self.config.amt_add_thousands_sep = checked self.thousandsSeparatorChanged.emit() + spendUnconfirmedChanged = pyqtSignal() + @pyqtProperty(bool, notify=spendUnconfirmedChanged) + def spendUnconfirmed(self): + return not self.config.get('confirmed_only', False) + + @spendUnconfirmed.setter + def spendUnconfirmed(self, checked): + self.config.set_key('confirmed_only', not checked, True) + self.spendUnconfirmedChanged.emit() + useGossipChanged = pyqtSignal() @pyqtProperty(bool, notify=useGossipChanged) def useGossip(self):