commit 462ddd252d82ba29d694c970878bc3fc330fc74f
parent 06d0c67b9cc15ae7eecc598b60623e2b4ca5441d
Author: thomasv <thomasv@gitorious>
Date: Wed, 11 Sep 2013 15:23:27 +0200
fix: lite mode switch
Diffstat:
2 files changed, 27 insertions(+), 25 deletions(-)
diff --git a/gui/gui_classic/__init__.py b/gui/gui_classic/__init__.py
@@ -81,34 +81,38 @@ class ElectrumGui:
self.mini.hide()
self.expert.show()
- def minimize(self, wallet, expert, url):
+ def minimize(self):
+ self.config.set_key('lite_mode', True, True)
+ self.expert.hide()
+ self.mini.show()
+
+ def init_lite(self, wallet, expert, url):
import lite_window
+ if not self.check_qt_version():
+ return
+
actuator = lite_window.MiniActuator(self.config, wallet)
# Should probably not modify the current path but instead
# change the behaviour of rsrc(...)
old_path = QDir.currentPath()
actuator.load_theme()
- self.mini = lite_window.MiniWindow(actuator, self.expand, self.config)
- driver = lite_window.MiniDriver(wallet, self.mini)
+ mini = lite_window.MiniWindow(actuator, self.expand, self.config)
+ driver = lite_window.MiniDriver(wallet, mini)
# Reset path back to original value now that loading the GUI
# is completed.
QDir.setCurrent(old_path)
-
if url:
payto, amount, label, message, signature, identity, url = parse_url(url)
self.mini.set_payment_fields(payto, amount)
- self.expert = expert
+ return mini
def check_qt_version(self):
qtVersion = qVersion()
- if not(int(qtVersion[0]) >= 4 and int(qtVersion[2]) >= 7):
- app = QApplication(sys.argv)
- QMessageBox.warning(None,"Could not start Lite GUI.", "Electrum was unable to load the 'Lite GUI' because it needs Qt version >= 4.7.\nChanging your config to use the 'Classic' GUI")
- self.config.set_key('lite_mode', False, True)
- sys.exit(0)
+ return int(qtVersion[0]) >= 4 and int(qtVersion[2]) >= 7
+
def main(self, url):
@@ -127,7 +131,7 @@ class ElectrumGui:
s = Timer()
s.start()
- w = ElectrumWindow(self.config, self.network)
+ w = ElectrumWindow(self.config, self.network, self.minimize)
w.load_wallet(wallet)
self.windows.append(w)
@@ -136,11 +140,19 @@ class ElectrumGui:
w.connect_slots(s)
w.update_wallet()
+ self.expert = w
+ self.mini = self.init_lite(wallet, w, url)
+
if self.config.get('lite_mode'):
- self.check_qt_version()
- self.minimize(wallet, w, url)
+ if not self.mini:
+ QMessageBox.warning(None,"Could not start Lite GUI.", "Electrum was unable to load the 'Lite GUI' because it needs Qt version >= 4.7.\nChanging your config to use the 'Classic' GUI")
+ self.config.set_key('lite_mode', False, True)
+ sys.exit(0)
+ else:
+ self.minimize()
else:
w.show()
+ self.mini.hide()
self.app.exec_()
diff --git a/gui/gui_classic/main_window.py b/gui/gui_classic/main_window.py
@@ -151,11 +151,12 @@ class ElectrumWindow(QMainWindow):
self.showNormal()
- def __init__(self, config, network):
+ def __init__(self, config, network, go_lite):
QMainWindow.__init__(self)
self.config = config
self.network = network
+ self.go_lite = go_lite
self.init_plugins()
self._close_electrum = False
@@ -1373,17 +1374,6 @@ class ElectrumWindow(QMainWindow):
d.run()
self.update_lock_icon()
-
- def go_lite(self):
- import lite_window
- self.config.set_key('lite_mode', True, True)
- self.hide()
- if self.lite:
- self.lite.mini.show()
- else:
- self.lite = lite_window.ElectrumGui(self.config, None, None, self)
- self.lite.main(None)
-
def new_contact_dialog(self):
text, ok = QInputDialog.getText(self, _('New Contact'), _('Address') + ':')