remove ElectrumGui class for lite window
This commit is contained in:
parent
8614c0544c
commit
06d0c67b9c
|
@ -18,7 +18,7 @@
|
|||
|
||||
import sys, time, datetime, re, threading
|
||||
from electrum.i18n import _, set_language
|
||||
from electrum.util import print_error, print_msg
|
||||
from electrum.util import print_error, print_msg, parse_url
|
||||
import os.path, json, ast, traceback
|
||||
import shutil
|
||||
|
||||
|
@ -75,6 +75,40 @@ class ElectrumGui:
|
|||
self.app = QApplication(sys.argv)
|
||||
self.app.installEventFilter(self.efilter)
|
||||
|
||||
def expand(self):
|
||||
"""Hide the lite mode window and show pro-mode."""
|
||||
self.config.set_key('lite_mode', False, True)
|
||||
self.mini.hide()
|
||||
self.expert.show()
|
||||
|
||||
def minimize(self, wallet, expert, url):
|
||||
import lite_window
|
||||
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)
|
||||
|
||||
# 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
|
||||
|
||||
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)
|
||||
|
||||
def main(self, url):
|
||||
|
||||
|
@ -92,6 +126,7 @@ class ElectrumGui:
|
|||
|
||||
s = Timer()
|
||||
s.start()
|
||||
|
||||
w = ElectrumWindow(self.config, self.network)
|
||||
w.load_wallet(wallet)
|
||||
|
||||
|
@ -100,7 +135,12 @@ class ElectrumGui:
|
|||
w.app = self.app
|
||||
w.connect_slots(s)
|
||||
w.update_wallet()
|
||||
w.show()
|
||||
|
||||
if self.config.get('lite_mode'):
|
||||
self.check_qt_version()
|
||||
self.minimize(wallet, w, url)
|
||||
else:
|
||||
w.show()
|
||||
|
||||
self.app.exec_()
|
||||
|
||||
|
|
|
@ -134,93 +134,6 @@ def csv_transaction(wallet):
|
|||
QMessageBox.critical(None,"Unable to create csv", export_error_label + "\n" + str(reason))
|
||||
|
||||
|
||||
class ElectrumGui(QObject):
|
||||
|
||||
def __init__(self, config, interface, blockchain, expert=None):
|
||||
super(QObject, self).__init__()
|
||||
|
||||
self.config = config
|
||||
self.check_qt_version()
|
||||
self.expert = expert
|
||||
self.interface = interface
|
||||
self.blockchain = blockchain
|
||||
|
||||
|
||||
|
||||
|
||||
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('gui','classic',True)
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
def main(self, url):
|
||||
|
||||
if self.expert is None:
|
||||
self.app = QApplication(sys.argv)
|
||||
storage = WalletStorage(self.config)
|
||||
if not storage.file_exists:
|
||||
exit()
|
||||
self.wallet = Wallet(storage)
|
||||
self.wallet.start_threads(self.interface, self.blockchain)
|
||||
else:
|
||||
self.app = self.expert.app
|
||||
self.wallet = self.expert.wallet
|
||||
|
||||
actuator = MiniActuator(self.config, 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, self.config)
|
||||
driver = MiniDriver(self.wallet, self.mini)
|
||||
|
||||
# Reset path back to original value now that loading the GUI
|
||||
# is completed.
|
||||
QDir.setCurrent(old_path)
|
||||
|
||||
if url:
|
||||
self.set_url(url)
|
||||
|
||||
if self.expert is None:
|
||||
self.expert = ElectrumWindow(self.config)
|
||||
self.expert.load_wallet(self.wallet)
|
||||
self.expert.app = self.app
|
||||
timer = Timer()
|
||||
timer.start()
|
||||
self.expert.connect_slots(timer)
|
||||
self.expert.update_wallet()
|
||||
|
||||
self.app.exec_()
|
||||
|
||||
|
||||
def expand(self):
|
||||
"""Hide the lite mode window and show pro-mode."""
|
||||
self.config.set_key('gui', 'classic', True)
|
||||
self.mini.hide()
|
||||
self.expert.show()
|
||||
|
||||
def set_url(self, url):
|
||||
payto, amount, label, message, signature, identity, url = \
|
||||
self.wallet.parse_url(url, self.show_message, self.show_question)
|
||||
self.mini.set_payment_fields(payto, amount)
|
||||
|
||||
def show_message(self, message):
|
||||
QMessageBox.information(self.mini, _("Message"), message, _("OK"))
|
||||
|
||||
def show_question(self, message):
|
||||
choice = QMessageBox.question(self.mini, _("Message"), message,
|
||||
QMessageBox.Yes|QMessageBox.No,
|
||||
QMessageBox.No)
|
||||
return choice == QMessageBox.Yes
|
||||
|
||||
def restore_or_create(self):
|
||||
qt_gui_object = ElectrumGui(self.wallet, self.app)
|
||||
return qt_gui_object.restore_or_create()
|
||||
|
||||
class TransactionWindow(QDialog):
|
||||
|
||||
|
|
|
@ -1376,7 +1376,7 @@ class ElectrumWindow(QMainWindow):
|
|||
|
||||
def go_lite(self):
|
||||
import lite_window
|
||||
self.config.set_key('gui', 'lite', True)
|
||||
self.config.set_key('lite_mode', True, True)
|
||||
self.hide()
|
||||
if self.lite:
|
||||
self.lite.mini.show()
|
||||
|
@ -1958,7 +1958,7 @@ class ElectrumWindow(QMainWindow):
|
|||
lang_label=QLabel(_('Language') + ':')
|
||||
grid_ui.addWidget(lang_label, 1, 0)
|
||||
lang_combo = QComboBox()
|
||||
from i18n import languages
|
||||
from electrum.i18n import languages
|
||||
lang_combo.addItems(languages.values())
|
||||
try:
|
||||
index = languages.keys().index(self.config.get("language",''))
|
||||
|
|
Loading…
Reference in New Issue