tMerge pull request #2582 from bauerj/tab-icons - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit 61b8e23fad55aa47d77cc853e57a30636f43ad88
 (DIR) parent f98a5617d684be97626a7d5ad5ab4e1ec6895ece
 (HTM) Author: ThomasV <thomasv@electrum.org>
       Date:   Thu, 13 Jul 2017 09:44:31 +0200
       
       Merge pull request #2582 from bauerj/tab-icons
       
       Add tab icons
       Diffstat:
         M gui/qt/main_window.py               |      59 +++++++++++++++++--------------
         M icons.qrc                           |       7 +++++++
         A icons/tab_addresses.png             |       0 
         A icons/tab_coins.png                 |       0 
         A icons/tab_console.png               |       0 
         A icons/tab_contacts.png              |       0 
         A icons/tab_history.png               |       0 
         A icons/tab_receive.png               |       0 
         A icons/tab_send.png                  |       0 
       
       9 files changed, 39 insertions(+), 27 deletions(-)
       ---
 (DIR) diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py
       t@@ -127,17 +127,23 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                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') )
       -        if self.config.get('show_addresses_tab', False):
       -            tabs.addTab(self.addresses_tab, _('Addresses'))
       -        if self.config.get('show_utxo_tab', False):
       -            tabs.addTab(self.utxo_tab, _('Coins'))
       -        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.addTab(self.create_history_tab(), QIcon(":icons/tab_history.png"), _('History'))
       +        tabs.addTab(self.send_tab, QIcon(":icons/tab_send.png"), _('Send'))
       +        tabs.addTab(self.receive_tab, QIcon(":icons/tab_receive.png"), _('Receive'))
       +
       +        def add_optional_tab(tabs, tab, icon, description, name):
       +            tab.tab_icon = icon
       +            tab.tab_description = description
       +            tab.tab_pos = len(tabs)
       +            tab.tab_name = name
       +            if self.config.get('show_{}_tab'.format(name), False):
       +                tabs.addTab(tab, icon, description)
       +
       +        add_optional_tab(tabs, self.addresses_tab, QIcon(":icons/tab_addresses.png"), _("Addresses"), "addresses")
       +        add_optional_tab(tabs, self.utxo_tab, QIcon(":icons/tab_coins.png"), _("Coins"), "utxo")
       +        add_optional_tab(tabs, self.contacts_tab, QIcon(":icons/tab_contacts.png"), _("Contacts"), "contacts")
       +        add_optional_tab(tabs, self.console_tab, QIcon(":icons/tab_console.png"), _("Console"), "console")
       +
                tabs.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
                self.setCentralWidget(tabs)
        
       t@@ -206,9 +212,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                    self.history_list.update()
        
            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
       +        show = not self.config.get('show_{}_tab'.format(tab.tab_name), False)
       +        self.config.set_key('show_{}_tab'.format(tab.tab_name), show)
       +        item_text = (_("Hide") if show else _("Show")) + " " + tab.tab_description
                tab.menu_action.setText(item_text)
                if show:
                    # Find out where to place the tab
       t@@ -220,7 +226,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                                break
                        except AttributeError:
                            pass
       -            self.tabs.insertTab(index, tab, tab.description)
       +            self.tabs.insertTab(index, tab, tab.tab_icon, tab.tab_description)
                else:
                    i = self.tabs.indexOf(tab)
                    self.tabs.removeTab(i)
       t@@ -460,19 +466,16 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
                wallet_menu.addSeparator()
                wallet_menu.addAction(_("Find"), self.toggle_search).setShortcut(QKeySequence("Ctrl+F"))
        
       -        def add_toggle_action(view_menu, target_tab, tab_description, tab_name, tab_pos):
       -            is_shown = self.config.get('show_{}_tab'.format(tab_name), False)
       -            item_name = (_("Hide") if is_shown else _("Show")) + " " + tab_description
       -            target_tab.name = tab_name
       -            target_tab.description = tab_description
       -            target_tab.tab_pos = tab_pos
       -            target_tab.menu_action = view_menu.addAction(item_name, lambda: self.toggle_tab(target_tab))
       +        def add_toggle_action(view_menu, tab):
       +            is_shown = self.config.get('show_{}_tab'.format(tab.tab_name), False)
       +            item_name = (_("Hide") if is_shown else _("Show")) + " " + tab.tab_description
       +            tab.menu_action = view_menu.addAction(item_name, lambda: self.toggle_tab(tab))
        
                view_menu = menubar.addMenu(_("&View"))
       -        add_toggle_action(view_menu, self.addresses_tab, "Addresses", "addresses", 1)
       -        add_toggle_action(view_menu, self.utxo_tab, "Coins", "utxo", 2)
       -        add_toggle_action(view_menu, self.contacts_tab, "Contacts", "contacts", 3)
       -        add_toggle_action(view_menu, self.console_tab, "Console", "console", 4)
       +        add_toggle_action(view_menu, self.addresses_tab)
       +        add_toggle_action(view_menu, self.utxo_tab)
       +        add_toggle_action(view_menu, self.contacts_tab)
       +        add_toggle_action(view_menu, self.console_tab)
        
                tools_menu = menubar.addMenu(_("&Tools"))
        
       t@@ -516,7 +519,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError):
        
            def show_about(self):
                QMessageBox.about(self, "Electrum",
       -            _("Version")+" %s" % (self.wallet.electrum_version) + "\n\n" + _("Electrum's focus is speed, with low resource usage and simplifying Bitcoin. You do not need to perform regular backups, because your wallet can be recovered from a secret phrase that you can memorize or write on paper. Startup times are instant because it operates in conjunction with high-performance servers that handle the most complicated parts of the Bitcoin system."))
       +            _("Version")+" %s" % (self.wallet.electrum_version) + "\n\n" +
       +                _("Electrum's focus is speed, with low resource usage and simplifying Bitcoin. You do not need to perform regular backups, because your wallet can be recovered from a secret phrase that you can memorize or write on paper. Startup times are instant because it operates in conjunction with high-performance servers that handle the most complicated parts of the Bitcoin system."  + "\n\n" +
       +                _("Uses icons from the Icons8 icon pack (icons8.com).")))
        
            def show_report_bug(self):
                msg = ' '.join([
 (DIR) diff --git a/icons.qrc b/icons.qrc
       t@@ -31,6 +31,13 @@
            <file>icons/status_waiting.png</file>
            <file>icons/status_lagging.png</file>
            <file>icons/seal.png</file>
       +    <file>icons/tab_addresses.png</file>
       +    <file>icons/tab_coins.png</file>
       +    <file>icons/tab_console.png</file>
       +    <file>icons/tab_contacts.png</file>
       +    <file>icons/tab_history.png</file>
       +    <file>icons/tab_receive.png</file>
       +    <file>icons/tab_send.png</file>
            <file>icons/tor_logo.png</file>
            <file>icons/speaker.png</file>
            <file>icons/trezor_unpaired.png</file>
 (DIR) diff --git a/icons/tab_addresses.png b/icons/tab_addresses.png
       Binary files differ.
 (DIR) diff --git a/icons/tab_coins.png b/icons/tab_coins.png
       Binary files differ.
 (DIR) diff --git a/icons/tab_console.png b/icons/tab_console.png
       Binary files differ.
 (DIR) diff --git a/icons/tab_contacts.png b/icons/tab_contacts.png
       Binary files differ.
 (DIR) diff --git a/icons/tab_history.png b/icons/tab_history.png
       Binary files differ.
 (DIR) diff --git a/icons/tab_receive.png b/icons/tab_receive.png
       Binary files differ.
 (DIR) diff --git a/icons/tab_send.png b/icons/tab_send.png
       Binary files differ.