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:
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()