URI: 
       ttrezor: check if device is connected before asking passphrase - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit ca6194e5634addf3c4b90454cb42f3ad1f7f6a4b
   DIR parent ad4449dc380d94f4fc79cdb7e25fc53c9f4663e2
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Sun, 14 Sep 2014 11:48:30 +0200
       
       ttrezor: check if device is connected before asking passphrase
       
       Diffstat:
         M plugins/trezor.py                   |      21 ++++++++++++++++++---
       
       1 file changed, 18 insertions(+), 3 deletions(-)
       ---
   DIR diff --git a/plugins/trezor.py b/plugins/trezor.py
       t@@ -79,16 +79,31 @@ class Plugin(BasePlugin):
            def enable(self):
                return BasePlugin.enable(self)
        
       +    def trezor_is_connected(self):
       +        try:
       +            self.wallet.get_client().ping('t')
       +        except:
       +            return False
       +        return True
       +
       +    @hook
       +    def init_qt(self, gui):
       +        self.window = gui.main_window
       +
            @hook
            def close_wallet(self):
                print_error("trezor: clear session")
       -        self.wallet.client.clear_session()
       +        if self.wallet.client:
       +            self.wallet.client.clear_session()
        
            @hook
            def load_wallet(self, wallet):
                self.wallet = wallet
       -        if not self.wallet.check_proper_device():
       -            QMessageBox.information(None, _('Error'), _("This wallet does not match your Trezor device"), _('OK'))
       +        if self.trezor_is_connected():
       +            if not self.wallet.check_proper_device():
       +                QMessageBox.information(self.window, _('Error'), _("This wallet does not match your Trezor device"), _('OK'))
       +        else:
       +            QMessageBox.information(self.window, _('Error'), _("Trezor device not detected.\nContinuing in watching-only mode."), _('OK'))
        
            @hook
            def installwizard_restore(self, wizard, storage):