add switch-gui button for qt

This commit is contained in:
bkkcoins 2013-01-05 19:44:20 +07:00
parent 558ba16bc2
commit 30de518be9
4 changed files with 29 additions and 11 deletions

View File

@ -13,6 +13,7 @@
<file>icons/status_connected.png</file> <file>icons/status_connected.png</file>
<file>icons/status_disconnected.png</file> <file>icons/status_disconnected.png</file>
<file>icons/status_waiting.png</file> <file>icons/status_waiting.png</file>
<file>icons/switchgui.png</file>
<file>icons/unconfirmed.png</file> <file>icons/unconfirmed.png</file>
<file>icons/network.png</file> <file>icons/network.png</file>
</qresource> </qresource>

BIN
icons/switchgui.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -88,14 +88,17 @@ def load_theme_paths():
class ElectrumGui(QObject): class ElectrumGui(QObject):
def __init__(self, wallet, config): def __init__(self, wallet, config, expert=None):
super(QObject, self).__init__() super(QObject, self).__init__()
self.wallet = wallet self.wallet = wallet
self.config = config self.config = config
self.check_qt_version() 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): def check_qt_version(self):
qtVersion = qVersion() qtVersion = qVersion()
@ -122,14 +125,15 @@ class ElectrumGui(QObject):
if url: if url:
self.set_url(url) self.set_url(url)
timer = Timer() if self.expert == None:
timer.start() timer = Timer()
self.expert = gui_qt.ElectrumWindow(self.wallet, self.config) timer.start()
self.expert.app = self.app self.expert = gui_qt.ElectrumWindow(self.wallet, self.config)
self.expert.connect_slots(timer) self.expert.app = self.app
self.expert.update_wallet() self.expert.connect_slots(timer)
self.app.exec_() self.expert.update_wallet()
self.app.exec_()
def expand(self): def expand(self):
"""Hide the lite mode window and show pro-mode.""" """Hide the lite mode window and show pro-mode."""

View File

@ -294,6 +294,7 @@ class ElectrumWindow(QMainWindow):
def __init__(self, wallet, config): def __init__(self, wallet, config):
QMainWindow.__init__(self) QMainWindow.__init__(self)
self.lite = None
self.wallet = wallet self.wallet = wallet
self.config = config self.config = config
self.wallet.interface.register_callback('updated', self.update_callback) self.wallet.interface.register_callback('updated', self.update_callback)
@ -1108,6 +1109,9 @@ class ElectrumWindow(QMainWindow):
def create_status_bar(self): def create_status_bar(self):
sb = QStatusBar() sb = QStatusBar()
sb.setFixedHeight(35) 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: 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/lock.png"), "Password", lambda: self.change_password_dialog(self.wallet, self) ) )
sb.addPermanentWidget( StatusBarButton( QIcon(":icons/preferences.png"), "Preferences", self.settings_dialog ) ) 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) ) self.status_button = StatusBarButton( QIcon(":icons/status_disconnected.png"), "Network", lambda: self.network_dialog(self.wallet, self) )
sb.addPermanentWidget( self.status_button ) sb.addPermanentWidget( self.status_button )
self.setStatusBar(sb) 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): def new_contact_dialog(self):
text, ok = QInputDialog.getText(self, _('New Contact'), _('Address') + ':') text, ok = QInputDialog.getText(self, _('New Contact'), _('Address') + ':')