URI: 
       tfix trezor initialiation hook (pass window in load_wallet) - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit f70a996619e6b0cc956cb0b794b22df4cc43e6ec
   DIR parent 70037b89a919172a893b0a3c3c25af67b301b55b
  HTML Author: ThomasV <thomasv@gitorious>
       Date:   Tue,  9 Jun 2015 09:58:40 +0200
       
       fix trezor initialiation hook (pass window in load_wallet)
       
       Diffstat:
         M gui/qt/__init__.py                  |       5 -----
         M gui/qt/main_window.py               |       5 ++---
         M lib/commands.py                     |       3 ++-
         M lib/plugins.py                      |       2 +-
         M plugins/btchipwallet.py             |       2 +-
         M plugins/cosigner_pool.py            |       2 +-
         M plugins/exchange_rate.py            |       2 +-
         M plugins/labels.py                   |       2 +-
         M plugins/trezor.py                   |      17 ++++++++---------
         M plugins/trustedcoin.py              |       2 +-
       
       10 files changed, 18 insertions(+), 24 deletions(-)
       ---
   DIR diff --git a/gui/qt/__init__.py b/gui/qt/__init__.py
       t@@ -73,9 +73,6 @@ class ElectrumGui:
                if app is None:
                    self.app = QApplication(sys.argv)
                self.app.installEventFilter(self.efilter)
       -        # let plugins know that we are using the qt gui
       -        always_hook('init_qt_app', self.app)
       -
        
            def build_tray_menu(self):
                m = QMenu()
       t@@ -105,8 +102,6 @@ class ElectrumGui:
            def close(self):
                self.current_window.close()
        
       -
       -
            def go_full(self):
                self.config.set_key('lite_mode', False, True)
                self.lite_window.hide()
   DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -236,8 +236,7 @@ class ElectrumWindow(QMainWindow):
                self.clear_receive_tab()
                self.update_receive_tab()
                self.show()
       -        run_hook('init_qt', self.gui_object)
       -        run_hook('load_wallet', wallet)
       +        run_hook('load_wallet', wallet, self)
        
            def import_old_contacts(self):
                # backward compatibility: import contacts
       t@@ -2622,7 +2621,7 @@ class ElectrumWindow(QMainWindow):
                        plugins[name] = p = module.Plugin(self.config, name)
                        p.enable()
                        p.wallet = self.wallet
       -                p.load_wallet(self.wallet)
       +                p.load_wallet(self.wallet, self)
                        p.init_qt(self.gui_object)
                    r = p.is_enabled()
                    cb.setChecked(r)
   DIR diff --git a/lib/commands.py b/lib/commands.py
       t@@ -525,7 +525,7 @@ class Commands:
                    PR_PAID: 'Paid',
                    PR_EXPIRED: 'Expired',
                }
       -        out['amount'] = format_satoshis(out.get('amount'))
       +        out['amount'] = format_satoshis(out.get('amount')) + ' BTC'
                out['status'] = pr_str[out.get('status', PR_UNKNOWN)]
                return out
        
       t@@ -626,6 +626,7 @@ config_variables = {
                'requests_dir': 'directory where a bip70 file will be written.',
                'ssl_privkey': 'Path to your SSL private key, needed to sign the request.',
                'ssl_chain': 'Chain of SSL certificates, needed for signed requests. Put your certificate at the top and the root CA at the end',
       +        'url_rewrite': 'Parameters passed to str.replace(), in order to create the r= part of bitcoin: URIs. Example: \"(\'file:///var/www/\',\'https://electrum.org/\')\"',
            },
            'listrequests':{
                'url_rewrite': 'Parameters passed to str.replace(), in order to create the r= part of bitcoin: URIs. Example: \"(\'file:///var/www/\',\'https://electrum.org/\')\"',
   DIR diff --git a/lib/plugins.py b/lib/plugins.py
       t@@ -169,7 +169,7 @@ class BasePlugin:
            def init_qt(self, gui): pass
        
            @hook
       -    def load_wallet(self, wallet): pass
       +    def load_wallet(self, wallet, window): pass
        
            @hook
            def close_wallet(self): pass
   DIR diff --git a/plugins/btchipwallet.py b/plugins/btchipwallet.py
       t@@ -73,7 +73,7 @@ class Plugin(BasePlugin):
                return True
        
            @hook
       -    def load_wallet(self, wallet):
       +    def load_wallet(self, wallet, window):
                if self.btchip_is_connected():
                    if not self.wallet.check_proper_device():
                        QMessageBox.information(self.window, _('Error'), _("This wallet does not match your BTChip device"), _('OK'))
   DIR diff --git a/plugins/cosigner_pool.py b/plugins/cosigner_pool.py
       t@@ -95,7 +95,7 @@ class Plugin(BasePlugin):
                return self.wallet.wallet_type in ['2of2', '2of3']
        
            @hook
       -    def load_wallet(self, wallet):
       +    def load_wallet(self, wallet, window):
                self.wallet = wallet
                if not self.is_available():
                    return
   DIR diff --git a/plugins/exchange_rate.py b/plugins/exchange_rate.py
       t@@ -259,7 +259,7 @@ class Plugin(BasePlugin):
                return quote_text
        
            @hook
       -    def load_wallet(self, wallet):
       +    def load_wallet(self, wallet, window):
                tx_list = {}
                for item in self.wallet.get_history(self.wallet.storage.get("current_account", None)):
                    tx_hash, conf, value, timestamp, balance = item
   DIR diff --git a/plugins/labels.py b/plugins/labels.py
       t@@ -51,7 +51,7 @@ class Plugin(BasePlugin):
                self.window.connect(self.window, SIGNAL('labels:pulled'), self.on_pulled)
        
            @hook
       -    def load_wallet(self, wallet):
       +    def load_wallet(self, wallet, window):
                self.wallet = wallet
        
                self.wallet_nonce = self.wallet.storage.get("wallet_nonce")
   DIR diff --git a/plugins/trezor.py b/plugins/trezor.py
       t@@ -46,6 +46,7 @@ class Plugin(BasePlugin):
                self._is_available = self._init()
                self._requires_settings = True
                self.wallet = None
       +        self.handler = None
        
            def constructor(self, s):
                return TrezorWallet(s)
       t@@ -82,9 +83,6 @@ class Plugin(BasePlugin):
                    return False
                return True
        
       -    @hook
       -    def add_plugin(self, wallet):
       -        wallet.plugin = self
        
            @hook
            def close_wallet(self):
       t@@ -95,16 +93,18 @@ class Plugin(BasePlugin):
                self.wallet = None
        
            @hook
       -    def init_qt_app(self, app):
       -        self.handler = TrezorQtHandler(app)
       -
       -    @hook
            def init_cmdline(self):
                self.handler = TrezorCmdLineHandler()
        
            @hook
       -    def load_wallet(self, wallet):
       +    def load_wallet(self, wallet, window):
                self.wallet = wallet
       +        self.window = window
       +        self.wallet.plugin = self
       +
       +        if self.handler is None:
       +            self.handler = TrezorQtHandler(self.window.app)
       +
                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'))
       t@@ -186,7 +186,6 @@ class TrezorWallet(BIP32_HD_Wallet):
                self.mpk = None
                self.device_checked = False
                self.force_watching_only = False
       -        always_hook('add_plugin', self)
        
            def get_action(self):
                if not self.accounts:
   DIR diff --git a/plugins/trustedcoin.py b/plugins/trustedcoin.py
       t@@ -322,7 +322,7 @@ class Plugin(BasePlugin):
                self.is_billing = False
        
            @hook
       -    def load_wallet(self, wallet):
       +    def load_wallet(self, wallet, window):
                self.trustedcoin_button = StatusBarButton( QIcon(":icons/trustedcoin.png"), _("Network"), self.settings_dialog)
                self.window.statusBar().addPermanentWidget(self.trustedcoin_button)
                self.xpub = self.wallet.master_public_keys.get('x1/')