From 30de518be9a173f9ec64c5e616ff3b6384a0418b Mon Sep 17 00:00:00 2001 From: bkkcoins Date: Sat, 5 Jan 2013 19:44:20 +0700 Subject: [PATCH] add switch-gui button for qt --- icons.qrc | 1 + icons/switchgui.png | Bin 0 -> 1649 bytes lib/gui_lite.py | 26 +++++++++++++++----------- lib/gui_qt.py | 13 +++++++++++++ 4 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 icons/switchgui.png diff --git a/icons.qrc b/icons.qrc index ef3c6f1..5ad965f 100644 --- a/icons.qrc +++ b/icons.qrc @@ -13,6 +13,7 @@ icons/status_connected.png icons/status_disconnected.png icons/status_waiting.png + icons/switchgui.png icons/unconfirmed.png icons/network.png diff --git a/icons/switchgui.png b/icons/switchgui.png new file mode 100644 index 0000000000000000000000000000000000000000..ec18650d7a60d131d2be098860734acb72fcbd1d GIT binary patch literal 1649 zcmV-%29EiOP)6z``>}FTkf}wlft5@&; ze^swuy%|`M6q zB~rzELz6b|6;&hhxv@SsHqpUH(79_D>+XJm^FO>dCxLr5Mick#{h6LQTo~X2N6-og z!+@aW2wRRY2nYf}BzB_{B?uuvkv3q47zhStfI;%W9GIXMAO@xeYN&ykVG8C!oFF0? z!t}PC{PgY@>p5S<>Z%C*ar7^)M3xu;aSkVf3k2tqPbdT}hXmk)crsjn(s*3LP6R~y zI_Y;}Jw(7I{eY3Yi=Y<2uWlKW>o*Kwtt8N!HN?5ha0VjXH3?8A3?xX%dekU}BhnB{ozQ z5y4>@Xaq!4vPO<^97Y0YqKhEF<*xG0@ynPA58u9qFmODz{{-(myNOOudHLWe0_Xa6 z>Ue-W_yQ@z05!u5RO4sbj`gvc#Uw0eAYBYZ(42h}Dd@FB$Hk7aacv7H>B>~%ul9f? zMpI81DX4hEsWU_saY>9SII+?MmU$~h_u7v2+`D-)(|Bm#pKMvz=I|?90Jzxks0n*_ z-oTziXXr(6;JF)l>EJ1Z)C+Y9n4%UBQ;0K)8DffP9PgrniI95OnP9}(C$=L6o3DO$ z4t%^MW)R}o@%9Ncb%%j-!k$BC5P|Ww>xE=lA{i~NPE4gtLi56F;-Mv3>HUawaKO{rFr2IaJRo7X0u ztH`U8ZnxXdGz=;1Xt)P7t*7S!y2+|XQ8Zv@0DRWo>i2rRflWGU)dxaI>JmtXErh5lQ50pshk>8V8;!D1?19n1=34bAiVBBO zlaMJB&9YE!4~#gvM~U|yRn3{Hcb%M*NYis**oG+sQ`HRcun?Kg{kZxZfCihmn6lD5 zU0&Vtq>FK>FYbXxS;!GZ5s@zfTu5Mb^a~!Sd!eB`c(GQs2KXE(u)#a!$aA2|*g~)L zFr5KCanQLi4om<&zz_F8I0jV5_^`?68zyzYOPYmR6Wf6Mft!IzK*}CS2$?aaa`FO9 zjwO>62=yZ^eos$VOFY;2I%bL0q_5ykOO@gUEBqwi?|bv>F32hf!aIORlFmy&uS`II zkl#Q0gsqS7y7P^*eU$lnBr7%2k1O>{^2bQ7p9AUIXHo5P?DOxL zK6?r{51a$0fZnL%whTuq+80|a_sO@d$cikK{0Aekn@j!H(EtDd03~!qSaf7zbY(hY za%Ew3WdJfTF)%GKGA%JMR539+F*G_gHZ3qVIxsNVl~St!001R)MObuXVRU6WZEs|0 vW_bWIFfceRFf=VNGE^}&IyE#pG&n6VH99ab>0%Da00000NkvXXu0mjfvqI^8 literal 0 HcmV?d00001 diff --git a/lib/gui_lite.py b/lib/gui_lite.py index 2989709..dc7b434 100644 --- a/lib/gui_lite.py +++ b/lib/gui_lite.py @@ -88,14 +88,17 @@ def load_theme_paths(): class ElectrumGui(QObject): - def __init__(self, wallet, config): + def __init__(self, wallet, config, expert=None): super(QObject, self).__init__() self.wallet = wallet self.config = config self.check_qt_version() - self.app = QApplication(sys.argv) - + self.expert = expert + if self.expert != None: + self.app = self.expert.app + else: + self.app = QApplication(sys.argv) def check_qt_version(self): qtVersion = qVersion() @@ -122,14 +125,15 @@ class ElectrumGui(QObject): if url: self.set_url(url) - - timer = Timer() - timer.start() - self.expert = gui_qt.ElectrumWindow(self.wallet, self.config) - self.expert.app = self.app - self.expert.connect_slots(timer) - self.expert.update_wallet() - self.app.exec_() + + if self.expert == None: + timer = Timer() + timer.start() + self.expert = gui_qt.ElectrumWindow(self.wallet, self.config) + self.expert.app = self.app + self.expert.connect_slots(timer) + self.expert.update_wallet() + self.app.exec_() def expand(self): """Hide the lite mode window and show pro-mode.""" diff --git a/lib/gui_qt.py b/lib/gui_qt.py index adcadf6..1c364af 100644 --- a/lib/gui_qt.py +++ b/lib/gui_qt.py @@ -294,6 +294,7 @@ class ElectrumWindow(QMainWindow): def __init__(self, wallet, config): QMainWindow.__init__(self) + self.lite = None self.wallet = wallet self.config = config self.wallet.interface.register_callback('updated', self.update_callback) @@ -1108,6 +1109,9 @@ class ElectrumWindow(QMainWindow): def create_status_bar(self): sb = QStatusBar() sb.setFixedHeight(35) + qtVersion = qVersion() + if (int(qtVersion[0]) >= 4 and int(qtVersion[2]) >= 7): + sb.addPermanentWidget( StatusBarButton( QIcon(":icons/switchgui.png"), "Switch to Lite Mode", self.go_lite ) ) if self.wallet.seed: sb.addPermanentWidget( StatusBarButton( QIcon(":icons/lock.png"), "Password", lambda: self.change_password_dialog(self.wallet, self) ) ) sb.addPermanentWidget( StatusBarButton( QIcon(":icons/preferences.png"), "Preferences", self.settings_dialog ) ) @@ -1116,6 +1120,15 @@ class ElectrumWindow(QMainWindow): self.status_button = StatusBarButton( QIcon(":icons/status_disconnected.png"), "Network", lambda: self.network_dialog(self.wallet, self) ) sb.addPermanentWidget( self.status_button ) self.setStatusBar(sb) + + def go_lite(self): + import gui_lite + self.hide() + if self.lite: + self.lite.mini.show() + else: + self.lite = gui_lite.ElectrumGui(self.wallet, self.config, self) + self.lite.main(None) def new_contact_dialog(self): text, ok = QInputDialog.getText(self, _('New Contact'), _('Address') + ':') -- 1.7.1