From 0d7ff8635b99a826875ef14ad8567893635c44c7 Mon Sep 17 00:00:00 2001 From: Sander van Grieken Date: Wed, 18 Sep 2024 15:02:01 +0200 Subject: [PATCH] qml: add seed passphrase property to QEWallet, show in WalletDetails --- electrum/gui/qml/components/WalletDetails.qml | 22 +++++++++++++++++++ electrum/gui/qml/qewallet.py | 7 ++++++ 2 files changed, 29 insertions(+) diff --git a/electrum/gui/qml/components/WalletDetails.qml b/electrum/gui/qml/components/WalletDetails.qml index c0b8b9d7d..967789f74 100644 --- a/electrum/gui/qml/components/WalletDetails.qml +++ b/electrum/gui/qml/components/WalletDetails.qml @@ -175,6 +175,28 @@ Pane { } } + Label { + id: seed_extension_label + Layout.columnSpan: 2 + Layout.topMargin: constants.paddingSmall + visible: seedText.visible && Daemon.currentWallet.seedPassphrase + text: qsTr('Seed Extension') + color: Material.accentColor + } + + TextHighlightPane { + Layout.columnSpan: 2 + Layout.fillWidth: true + visible: seed_extension_label.visible + Label { + Layout.fillWidth: true + text: Daemon.currentWallet.seedPassphrase + wrapMode: Text.Wrap + font.family: FixedFont + font.pixelSize: constants.fontSizeMedium + } + } + Label { Layout.columnSpan: 2 Layout.topMargin: constants.paddingSmall diff --git a/electrum/gui/qml/qewallet.py b/electrum/gui/qml/qewallet.py index 66fa2aac8..f519d8818 100644 --- a/electrum/gui/qml/qewallet.py +++ b/electrum/gui/qml/qewallet.py @@ -105,6 +105,7 @@ class QEWallet(AuthMixin, QObject, QtEventListener): self._lightningbalancefrozen = QEAmount() self._seed = '' + self._seed_passphrase = '' self.tx_notification_queue = queue.Queue() self.tx_notification_last_time = 0 @@ -374,6 +375,10 @@ class QEWallet(AuthMixin, QObject, QtEventListener): def seed(self): return self._seed + @pyqtProperty(str, notify=dataChanged) + def seedPassphrase(self): + return self._seed_passphrase + @pyqtProperty(str, notify=dataChanged) def txinType(self): if self.wallet.wallet_type == 'imported': @@ -770,9 +775,11 @@ class QEWallet(AuthMixin, QObject, QtEventListener): def retrieve_seed(self): try: self._seed = self.wallet.get_seed(self.password) + self._seed_passphrase = self.wallet.keystore.get_passphrase(self.password) self.seedRetrieved.emit() except Exception: self._seed = '' + self._seed_passphrase = '' self.dataChanged.emit()