mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-31 01:11:35 +00:00
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
This commit is contained in:
parent
099315013e
commit
7aaac2ee30
1 changed files with 10 additions and 10 deletions
|
@ -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
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue