commit c616c3bfad6954e39192e24d9e1695822209bcb6
parent 193c29af87406646c7db54b0095a2c88ad6d8553
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:
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/electrum/plugins/labels/labels.py b/electrum/plugins/labels/labels.py
@@ -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
@@ -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)
diff --git a/electrum/plugins/labels/qt.py b/electrum/plugins/labels/qt.py
@@ -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:"))