electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit e0aab69e67c33fb6306162208e17b70faccf0812
parent 638bdc23f2830bcc14fe2a204ce88b4ed297d08e
Author: Neil Booth <kyuupichan@gmail.com>
Date:   Mon, 28 Dec 2015 22:51:50 +0900

Better handling of watching only

Avoid unnecessary message at startup.
It can now be dynamic and menus, title bar update properly.

Diffstat:
Mgui/qt/main_window.py | 26+++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py @@ -256,36 +256,42 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.dummy_address = a[0] if a else None self.accounts_expanded = self.wallet.storage.get('accounts_expanded',{}) self.current_account = self.wallet.storage.get("current_account", None) - title = 'Electrum %s - %s' % (self.wallet.electrum_version, self.wallet.basename()) - if self.wallet.is_watching_only(): - title += ' [%s]' % (_('watching only')) - self.setWindowTitle( title ) self.history_list.update() self.need_update.set() # Once GUI has been initialized check if we want to announce something since the callback has been called before the GUI was initialized self.notify_transactions() # update menus self.update_new_account_menu() - self.export_menu.setEnabled(not self.wallet.is_watching_only()) - self.password_menu.setEnabled(self.wallet.can_change_password()) self.seed_menu.setEnabled(self.wallet.has_seed()) self.mpk_menu.setEnabled(self.wallet.is_deterministic()) - self.import_menu.setVisible(self.wallet.can_import()) - self.export_menu.setEnabled(self.wallet.can_export()) self.update_lock_icon() self.update_buttons_on_seed() self.update_console() self.clear_receive_tab() self.receive_list.update() self.tabs.show() + # set geometry try: self.setGeometry(*self.wallet.storage.get("winpos-qt")) except: self.setGeometry(100, 100, 840, 400) + self.watching_only_changed() self.show() - self.warn_if_watching_only() run_hook('load_wallet', wallet, self) + self.warn_if_watching_only() + + def watching_only_changed(self): + self.saved_wwo = self.wallet.is_watching_only() + title = 'Electrum %s - %s' % (self.wallet.electrum_version, + self.wallet.basename()) + if self.wallet.is_watching_only(): + title += ' [%s]' % (_('watching only')) + self.setWindowTitle(title) + self.export_menu.setEnabled(not self.wallet.is_watching_only()) + self.password_menu.setEnabled(self.wallet.can_change_password()) + self.import_menu.setVisible(self.wallet.can_import()) + self.export_menu.setEnabled(self.wallet.can_export()) def warn_if_watching_only(self): if self.wallet.is_watching_only(): @@ -519,6 +525,8 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): if self.require_fee_update: self.do_update_fee() self.require_fee_update = False + if self.saved_wwo != self.wallet.is_watching_only(): + self.watching_only_changed() run_hook('timer_actions') def format_amount(self, x, is_diff=False, whitespaces=False):