diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2009-12-16 14:21:11 +0100 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2009-12-16 14:21:11 +0100 |
commit | 1b78e405c0ba9cb2833bd0ee9474ac45baddaef3 (patch) | |
tree | 6adea6ce46447f03fd63fad9d18eb880720b2eaf /wizards/com/sun/star/wizards/ui | |
parent | 61aa2ad16c8995f2518f102b1fc0c99e80ab88cf (diff) |
dba33e: #i107623# allow finishWizard to return a success flag, and re-enable the finish button in case of failure
Diffstat (limited to 'wizards/com/sun/star/wizards/ui')
-rw-r--r-- | wizards/com/sun/star/wizards/ui/WizardDialog.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/wizards/com/sun/star/wizards/ui/WizardDialog.java b/wizards/com/sun/star/wizards/ui/WizardDialog.java index 15b840fa9c89..01d97c4278ed 100644 --- a/wizards/com/sun/star/wizards/ui/WizardDialog.java +++ b/wizards/com/sun/star/wizards/ui/WizardDialog.java @@ -685,7 +685,7 @@ public abstract class WizardDialog extends UnoDialog2 implements VetoableChangeL } } - public abstract void finishWizard(); + public abstract boolean finishWizard(); /** * This function will call if the finish button is pressed on the UI. @@ -693,8 +693,18 @@ public abstract class WizardDialog extends UnoDialog2 implements VetoableChangeL public void finishWizard_1() { enableFinishButton(false); - finishWizard(); - removeTerminateListener(); + boolean success = false; + try + { + success = finishWizard(); + } + finally + { + if ( !success ) + enableFinishButton( true ); + } + if ( success ) + removeTerminateListener(); } public int getMaximalStep() |