diff options
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/MobileBKUState.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/MobileBKUState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/MobileBKUState.java index 4a825d17..1df8f755 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/MobileBKUState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/MobileBKUState.java @@ -223,13 +223,19 @@ public class MobileBKUState extends State { getStateMachine().getGUIProvider().display(ui); Display display = getStateMachine().getGUIProvider().getMainShell().getDisplay(); - while (!ui.isUserAck()) { + while (!ui.isUserAck() && !ui.isUserCancel()) { if (!display.readAndDispatch()) { display.sleep(); } } } + if (ui.isUserCancel()) { + ui.setUserCancel(false); + mobileStatus.setErrorMessage("cancel"); //$NON-NLS-1$ + return; + } + // user hit ok ui.setUserAck(false); @@ -272,13 +278,19 @@ public class MobileBKUState extends State { getStateMachine().getGUIProvider().display(tan); Display display = getStateMachine().getGUIProvider().getMainShell().getDisplay(); - while (!tan.isUserAck()) { + while (!tan.isUserAck() && !tan.isUserCancel()) { if (!display.readAndDispatch()) { display.sleep(); } } } + if (tan.isUserCancel()) { + tan.setUserCancel(false); + mobileStatus.setErrorMessage("cancel"); //$NON-NLS-1$ + return; + } + // user hit ok! tan.setUserAck(false); |