URI: 
       tqt wizard: change wizard_dialog semantics to raise exceptions - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 7aaac2ee307ea64b22cf3ad88305fe45e19ae439
   DIR parent 099315013e4f112adbceed3e2f104458d0866826
  HTML Author: SomberNight <somber.night@protonmail.com>
       Date:   Tue, 14 May 2019 15:31:33 +0200
       
       qt wizard: change wizard_dialog semantics to raise exceptions
       
       Specifically GoBack and UserCancelled will not be suppressed anymore.
       Previously, if 'run_next' raised GoBack, that would propagate out fully,
       while if 'func' itself raised it would be suppressed. This was confusing.
       
       somewhat related: #5334
       
       Diffstat:
         M electrum/gui/qt/installwizard.py    |      20 ++++++++++----------
       
       1 file changed, 10 insertions(+), 10 deletions(-)
       ---
   DIR diff --git a/electrum/gui/qt/installwizard.py b/electrum/gui/qt/installwizard.py
       t@@ -87,20 +87,20 @@ class CosignWidget(QWidget):
        def wizard_dialog(func):
            def func_wrapper(*args, **kwargs):
                run_next = kwargs['run_next']
       -        wizard = args[0]
       +        wizard = args[0]  # type: InstallWizard
                wizard.back_button.setText(_('Back') if wizard.can_go_back() else _('Cancel'))
                try:
                    out = func(*args, **kwargs)
       +            if type(out) is not tuple:
       +                out = (out,)
       +            run_next(*out)
                except GoBack:
       -            wizard.go_back() if wizard.can_go_back() else wizard.close()
       -            return
       -        except UserCancelled:
       -            return
       -        #if out is None:
       -        #    out = ()
       -        if type(out) is not tuple:
       -            out = (out,)
       -        run_next(*out)
       +            if wizard.can_go_back():
       +                wizard.go_back()
       +                return
       +            else:
       +                wizard.close()
       +                raise
            return func_wrapper