electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 8251c5b6d9cca735e91770433c7082013f73135c
parent 50fed3dce59196aeee29e63c737f25357b0a5a01
Author: ThomasV <thomasv@gitorious>
Date:   Mon, 20 Apr 2015 10:33:32 +0200

fix #1057

Diffstat:
Mgui/qt/__init__.py | 6+++++-
Mgui/qt/installwizard.py | 9++-------
Mgui/qt/main_window.py | 21+++++++++++++++------
3 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/gui/qt/__init__.py b/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')) diff --git a/gui/qt/installwizard.py b/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) diff --git a/gui/qt/main_window.py b/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()