electrum

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

commit 49aec96e1ec39b09698ad96ecf3c4a2fa20ef19a
parent 304ccb6fd7fc3fabb8a99e7c8d05fe8c2e46ac2f
Author: Amir Taaki <genjix@riseup.net>
Date:   Sat, 18 Aug 2012 08:23:26 +0100

Load theme in gui according to setting.

Diffstat:
Mlib/gui_lite.py | 45+++++++++++++++++++++++++++------------------
1 file changed, 27 insertions(+), 18 deletions(-)

diff --git a/lib/gui_lite.py b/lib/gui_lite.py @@ -4,7 +4,7 @@ from PyQt4.QtCore import * from PyQt4.QtGui import * from decimal import Decimal as D -from util import appdata_dir, get_resource_path as rsrc +from util import get_resource_path as rsrc from i18n import _ import decimal import exchange_rate @@ -15,6 +15,7 @@ import time import wallet import webbrowser import history_widget +import util try: import lib.gui_qt as gui_qt @@ -40,36 +41,25 @@ def resize_line_edit_width(line_edit, text_input): text_input += "A" line_edit.setMinimumWidth(metrics.width(text_input)) -def cd_data_dir(): - assert sys.argv - prefix_path = os.path.dirname(sys.argv[0]) - local_data = os.path.join(prefix_path, "data") - if os.path.exists(os.path.join(local_data, "style.css")): - data_dir = local_data - else: - data_dir = appdata_dir() - QDir.setCurrent(data_dir) - class ElectrumGui: def __init__(self, wallet): self.wallet = wallet self.app = QApplication(sys.argv) - # Should probably not modify the current path but instead - # change the behaviour of rsrc(...) - self.old_path = QDir.currentPath() - cd_data_dir() - with open(rsrc("style.css")) as style_file: - self.app.setStyleSheet(style_file.read()) def main(self, url): actuator = MiniActuator(self.wallet) + # Should probably not modify the current path but instead + # change the behaviour of rsrc(...) + old_path = QDir.currentPath() + actuator.load_theme() + self.mini = MiniWindow(actuator, self.expand) driver = MiniDriver(self.wallet, self.mini) # Reset path back to original value now that loading the GUI # is completed. - QDir.setCurrent(self.old_path) + QDir.setCurrent(old_path) if url: self.set_url(url) @@ -473,6 +463,25 @@ class MiniActuator: def __init__(self, wallet): self.wallet = wallet + self.theme_name = self.wallet.theme + self.themes = util.load_theme_paths() + + def load_theme(self): + try: + theme_prefix, theme_path = self.themes[self.theme_name] + except KeyError: + util.print_error("Theme not found! ", self.theme_name) + return + theme_css = os.path.join(theme_path, "style.css") + QDir.setCurrent(theme_prefix) + with open(rsrc(theme_css)) as style_file: + qApp.setStyleSheet(style_file.read()) + + def theme_names(self): + return self.themes.keys() + def selected_theme(self): + return self.theme_name + def set_configured_currency(self, set_quote_currency): currency = self.wallet.conversion_currency # currency can be none when Electrum is used for the first