URI: 
       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:"))