tShow and change themes via GUI. - electrum - Electrum Bitcoin wallet
 (HTM) git clone https://git.parazyd.org/electrum
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
       ---
 (DIR) commit 4d5615b8a88a189c4b15ca499dca62a930315e57
 (DIR) parent 49aec96e1ec39b09698ad96ecf3c4a2fa20ef19a
 (HTM) Author: Amir Taaki <genjix@riseup.net>
       Date:   Sat, 18 Aug 2012 08:23:57 +0100
       
       Show and change themes via GUI.
       
       Diffstat:
         M lib/gui_lite.py                     |      29 ++++++++++++++++++++++++++---
       
       1 file changed, 26 insertions(+), 3 deletions(-)
       ---
 (DIR) diff --git a/lib/gui_lite.py b/lib/gui_lite.py
       t@@ -185,7 +185,24 @@ class MiniWindow(QDialog):
                view_menu = menubar.addMenu(_("&View"))
                expert_gui = view_menu.addAction(_("&Pro Mode"))
                expert_gui.triggered.connect(expand_callback)
       -        view_menu.addMenu(_("&Themes"))
       +        themes_menu = view_menu.addMenu(_("&Themes"))
       +        selected_theme = self.actuator.selected_theme()
       +        theme_group = QActionGroup(self)
       +        for theme_name in self.actuator.theme_names():
       +            theme_action = themes_menu.addAction(theme_name)
       +            theme_action.setCheckable(True)
       +            if selected_theme == theme_name:
       +                theme_action.setChecked(True)
       +            class SelectThemeFunctor:
       +                def __init__(self, theme_name, toggle_theme):
       +                    self.theme_name = theme_name
       +                    self.toggle_theme = toggle_theme
       +                def __call__(self, checked):
       +                    if checked:
       +                        self.toggle_theme(self.theme_name)
       +            delegate = SelectThemeFunctor(theme_name, self.toggle_theme)
       +            theme_action.toggled.connect(delegate)
       +            theme_group.addAction(theme_action)
                view_menu.addSeparator()
                show_history = view_menu.addAction(_("Show History"))
                show_history.setCheckable(True)
       t@@ -212,8 +229,10 @@ class MiniWindow(QDialog):
                self.layout().setSizeConstraint(QLayout.SetFixedSize)
                self.setObjectName("main_window")
                self.show()
       -    
       -    def recompute_style(self):
       +
       +    def toggle_theme(self, theme_name):
       +        self.actuator.change_theme(theme_name)
       +        # Recompute style globally
                qApp.style().unpolish(self)
                qApp.style().polish(self)
        
       t@@ -482,6 +501,10 @@ class MiniActuator:
            def selected_theme(self):
                return self.theme_name
        
       +    def change_theme(self, theme_name):
       +        self.wallet.theme = self.theme_name = theme_name
       +        self.load_theme()
       +    
            def set_configured_currency(self, set_quote_currency):
                currency = self.wallet.conversion_currency
                # currency can be none when Electrum is used for the first