electrum

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

commit 95fce65e12420ca85a9d9e53279df513b7584590
parent 84052bcdb2bac78f424d2478014c37cd752e217d
Author: ThomasV <thomasv@gitorious>
Date:   Thu,  1 May 2014 12:19:24 +0200

disable wallet menus when they do not apply

Diffstat:
Mgui/qt/main_window.py | 22++++++++++++++--------
Mlib/wallet.py | 6++++++
2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py @@ -195,7 +195,13 @@ class ElectrumWindow(QMainWindow): # 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() self.update_account_selector() - self.new_account.setEnabled(self.wallet.can_create_accounts()) + # update menus + self.new_account_menu.setEnabled(self.wallet.can_create_accounts()) + self.private_keys_menu.setEnabled(not self.wallet.is_watching_only()) + self.password_menu.setEnabled(not self.wallet.is_watching_only()) + self.seed_menu.setEnabled(self.wallet.has_seed()) + self.mpk_menu.setEnabled(self.wallet.is_deterministic()) + self.update_lock_icon() self.update_buttons_on_seed() self.update_console() @@ -273,22 +279,22 @@ class ElectrumWindow(QMainWindow): wallet_menu = menubar.addMenu(_("&Wallet")) wallet_menu.addAction(_("&New contact"), self.new_contact_dialog) - self.new_account = wallet_menu.addAction(_("&New account"), self.new_account_dialog) + self.new_account_menu = wallet_menu.addAction(_("&New account"), self.new_account_dialog) wallet_menu.addSeparator() - wallet_menu.addAction(_("&Password"), self.change_password_dialog) - wallet_menu.addAction(_("&Seed"), self.show_seed_dialog) - wallet_menu.addAction(_("&Master Public Keys"), self.show_master_public_keys) + self.password_menu = wallet_menu.addAction(_("&Password"), self.change_password_dialog) + self.seed_menu = wallet_menu.addAction(_("&Seed"), self.show_seed_dialog) + self.mpk_menu = wallet_menu.addAction(_("&Master Public Keys"), self.show_master_public_keys) wallet_menu.addSeparator() labels_menu = wallet_menu.addMenu(_("&Labels")) labels_menu.addAction(_("&Import"), self.do_import_labels) labels_menu.addAction(_("&Export"), self.do_export_labels) - keys_menu = wallet_menu.addMenu(_("&Private keys")) - keys_menu.addAction(_("&Import"), self.do_import_privkey) - keys_menu.addAction(_("&Export"), self.do_export_privkeys) + self.private_keys_menu = wallet_menu.addMenu(_("&Private keys")) + self.private_keys_menu.addAction(_("&Import"), self.do_import_privkey) + self.private_keys_menu.addAction(_("&Export"), self.do_export_privkeys) wallet_menu.addAction(_("&Export History"), self.do_export_history) diff --git a/lib/wallet.py b/lib/wallet.py @@ -1118,6 +1118,9 @@ class Imported_Wallet(Abstract_Wallet): def has_seed(self): return False + def is_deterministic(self): + return False + class Deterministic_Wallet(Abstract_Wallet): @@ -1128,6 +1131,9 @@ class Deterministic_Wallet(Abstract_Wallet): def has_seed(self): return self.seed != '' + def is_deterministic(self): + return True + def is_watching_only(self): return not self.has_seed()