tplugins/labels: better error message when using imported wallets - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit c616c3bfad6954e39192e24d9e1695822209bcb6 DIR parent 193c29af87406646c7db54b0095a2c88ad6d8553 HTML Author: SomberNight <somber.night@protonmail.com> Date: Thu, 5 Nov 2020 01:59:19 +0100 plugins/labels: better error message when using imported wallets see #6703 Diffstat: M electrum/plugins/labels/labels.py | 4 ++-- M electrum/plugins/labels/qt.py | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) --- DIR diff --git a/electrum/plugins/labels/labels.py b/electrum/plugins/labels/labels.py t@@ -176,8 +176,6 @@ class LabelsPlugin(BasePlugin): def start_wallet(self, wallet: 'Abstract_Wallet'): if not wallet.network: return # 'offline' mode - nonce = self.get_nonce(wallet) - self.logger.info(f"wallet {wallet.basename()} nonce is {nonce}") mpk = wallet.get_fingerprint() if not mpk: return t@@ -186,6 +184,8 @@ class LabelsPlugin(BasePlugin): iv = hashlib.sha256(password).digest()[:16] wallet_id = hashlib.sha256(mpk).hexdigest() self.wallets[wallet] = (password, iv, wallet_id) + nonce = self.get_nonce(wallet) + self.logger.info(f"wallet {wallet.basename()} nonce is {nonce}") # If there is an auth token we can try to actually start syncing asyncio.run_coroutine_threadsafe(self.pull_safe_thread(wallet, False), wallet.network.asyncio_loop) DIR diff --git a/electrum/plugins/labels/qt.py b/electrum/plugins/labels/qt.py t@@ -31,12 +31,16 @@ class Plugin(LabelsPlugin): def requires_settings(self): return True - def settings_widget(self, window): + def settings_widget(self, window: WindowModalDialog): return EnterButton(_('Settings'), partial(self.settings_dialog, window)) - def settings_dialog(self, window): + def settings_dialog(self, window: WindowModalDialog): wallet = window.parent().wallet + if not wallet.get_fingerprint(): + window.show_error(_("{} plugin does not support this type of wallet.") + .format("Label Sync")) + return d = WindowModalDialog(window, _("Label Settings")) hbox = QHBoxLayout() hbox.addWidget(QLabel("Label sync options:"))