ThomasV 10 years ago
parent
commit
8251c5b6d9
  1. 6
      gui/qt/__init__.py
  2. 9
      gui/qt/installwizard.py
  3. 21
      gui/qt/main_window.py

6
gui/qt/__init__.py

@ -160,8 +160,12 @@ class ElectrumGui:
return
wizard = installwizard.InstallWizard(self.config, self.network, storage)
wizard.show()
if action == 'new':
action, wallet_type = wizard.restore_or_create()
else:
wallet_type = None
try:
wallet = wizard.run(action)
wallet = wizard.run(action, wallet_type)
except BaseException as e:
traceback.print_exc(file=sys.stdout)
QMessageBox.information(None, _('Error'), str(e), _('OK'))

9
gui/qt/installwizard.py

@ -314,13 +314,9 @@ class InstallWizard(QDialog):
return run_password_dialog(self, None, self)[2]
def run(self, action, wallet_type):
def run(self, action):
if action == 'new':
action, wallet_type = self.restore_or_create()
if action in ['create', 'restore']:
if wallet_type == 'multisig':
wallet_type = self.choice(_("Multi Signature Wallet"), 'Select wallet type', [('2of2', _("2 of 2")),('2of3',_("2 of 3"))])
if not wallet_type:
@ -332,7 +328,6 @@ class InstallWizard(QDialog):
return
elif wallet_type == 'twofactor':
wallet_type = '2fa'
if action == 'create':
self.storage.put('wallet_type', wallet_type, False)

21
gui/qt/main_window.py

@ -274,11 +274,12 @@ class ElectrumWindow(QMainWindow):
# run wizard
if action is not None:
wallet = self.gui_object.run_wizard(storage, action)
if not wallet:
self.show()
return
else:
wallet.start_threads(self.network)
# keep current wallet
if not wallet:
self.show()
return
# close current wallet
self.close_wallet()
# load new wallet in gui
@ -329,11 +330,19 @@ class ElectrumWindow(QMainWindow):
self.hide()
wizard = installwizard.InstallWizard(self.config, self.network, storage)
wallet = wizard.run('new')
action, wallet_type = wizard.restore_or_create()
if not action:
self.show()
return
# close current wallet, but keep a reference to it
self.close_wallet()
wallet = wizard.run(action, wallet_type)
if wallet:
if self.wallet:
self.close_wallet()
self.load_wallet(wallet)
else:
self.wallet.start_threads()
self.load_wallet(self.wallet)
self.show()

Loading…
Cancel
Save