tMerge pull request #2579 from bauerj/view-menu - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit f5dd32b8f25755d38bd2bbebac4be9899f0821d9 DIR parent cad3798f84476366b548670b530293fde918a037 HTML Author: ThomasV <thomasv@electrum.org> Date: Sat, 1 Jul 2017 22:18:57 +0200 Merge pull request #2579 from bauerj/view-menu Hide console tab by default Diffstat: M gui/qt/main_window.py | 45 +++++++++++++++++++------------- 1 file changed, 27 insertions(+), 18 deletions(-) --- DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py t@@ -126,6 +126,8 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): self.receive_tab = self.create_receive_tab() self.addresses_tab = self.create_addresses_tab() self.utxo_tab = self.create_utxo_tab() + self.console_tab = self.create_console_tab() + self.contacts_tab = self.create_contacts_tab() tabs.addTab(self.create_history_tab(), _('History') ) tabs.addTab(self.send_tab, _('Send') ) tabs.addTab(self.receive_tab, _('Receive') ) t@@ -133,8 +135,10 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): tabs.addTab(self.addresses_tab, _('Addresses')) if self.config.get('show_utxo_tab', False): tabs.addTab(self.utxo_tab, _('Coins')) - tabs.addTab(self.create_contacts_tab(), _('Contacts') ) - tabs.addTab(self.create_console_tab(), _('Console') ) + if self.config.get('show_contacts_tab', False): + tabs.addTab(self.contacts_tab, _('Contacts') ) + if self.config.get('show_console_tab', False): + tabs.addTab(self.console_tab, _('Console') ) tabs.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.setCentralWidget(tabs) t@@ -202,22 +206,15 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): if self.fx.history_used_spot: self.history_list.update() - def toggle_addresses_tab(self): - show = not self.config.get('show_addresses_tab', False) - self.config.set_key('show_addresses_tab', show) + def toggle_tab(self, tab): + show = not self.config.get('show_{}_tab'.format(tab.name), False) + self.config.set_key('show_{}_tab'.format(tab.name), show) + item_text = (_("Hide") if show else _("Show")) + " " + tab.description + tab.menu_action.setText(item_text) if show: - self.tabs.insertTab(3, self.addresses_tab, _('Addresses')) + self.tabs.insertTab(3, tab, tab.description) else: - i = self.tabs.indexOf(self.addresses_tab) - self.tabs.removeTab(i) - - def toggle_utxo_tab(self): - show = not self.config.get('show_utxo_tab', False) - self.config.set_key('show_utxo_tab', show) - if show: - self.tabs.insertTab(3, self.utxo_tab, _('Coins')) - else: - i = self.tabs.indexOf(self.utxo_tab) + i = self.tabs.indexOf(tab) self.tabs.removeTab(i) def push_top_level_window(self, window): t@@ -452,8 +449,20 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): wallet_menu.addSeparator() wallet_menu.addAction(_("Find"), self.toggle_search).setShortcut(QKeySequence("Ctrl+F")) - wallet_menu.addAction(_("Addresses"), self.toggle_addresses_tab).setShortcut(QKeySequence("Ctrl+A")) - wallet_menu.addAction(_("Coins"), self.toggle_utxo_tab) + + def add_toggle_action(view_menu, target_tab, tab_description, tab_name): + is_shown = self.config.get('show_{}_tab'.format(tab_name), False) + item_name = (_("Hide") if is_shown else _("Show")) + " " + tab_description + target_tab = getattr(self, "{}_tab".format(tab_name)) + target_tab.name = tab_name + target_tab.description = tab_description + target_tab.menu_action = view_menu.addAction(item_name, lambda: self.toggle_tab(target_tab)) + + view_menu = menubar.addMenu(_("&View")) + add_toggle_action(view_menu, self.addresses_tab, "Addresses", "addresses") + add_toggle_action(view_menu, self.utxo_tab, "Coins", "utxo") + add_toggle_action(view_menu, self.console_tab, "Console", "console") + add_toggle_action(view_menu, self.contacts_tab, "Contacts", "contacts") tools_menu = menubar.addMenu(_("&Tools"))