summaryrefslogtreecommitdiff
path: root/wizards/com/sun/star/wizards/ui
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@sun.com>2009-12-16 14:21:11 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@sun.com>2009-12-16 14:21:11 +0100
commit1b78e405c0ba9cb2833bd0ee9474ac45baddaef3 (patch)
tree6adea6ce46447f03fd63fad9d18eb880720b2eaf /wizards/com/sun/star/wizards/ui
parent61aa2ad16c8995f2518f102b1fc0c99e80ab88cf (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.java16
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()