diff options
| author | Simon Rettberg | 2015-08-10 12:29:16 +0200 |
|---|---|---|
| committer | Simon Rettberg | 2015-08-10 12:29:16 +0200 |
| commit | d5d04862dfcf37463da60ea1b125f03484ee993f (patch) | |
| tree | 92b12b6f03901a9de1bc222d5b1180264ccde5e6 /dozentenmodul/src/main/java/org | |
| parent | [client] TableColumnAdjuster: Add extra space for header's sort arrows (diff) | |
| download | tutor-module-d5d04862dfcf37463da60ea1b125f03484ee993f.tar.gz tutor-module-d5d04862dfcf37463da60ea1b125f03484ee993f.tar.xz tutor-module-d5d04862dfcf37463da60ea1b125f03484ee993f.zip | |
[client] Confirmation on close/cancel for ImageWizard
Diffstat (limited to 'dozentenmodul/src/main/java/org')
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java | 25 | ||||
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java | 67 |
2 files changed, 63 insertions, 29 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java index 8d1f046c..191eecdb 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java @@ -9,6 +9,7 @@ import org.openslx.bwlp.thrift.iface.ImageVersionWrite; import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.MainWindow; import org.openslx.dozmod.gui.helper.MessageType; +import org.openslx.dozmod.gui.helper.UiFeedback; import org.openslx.dozmod.gui.window.ImageListWindow; import org.openslx.dozmod.gui.wizard.page.ImageCustomPermissionPage; import org.openslx.dozmod.gui.wizard.page.ImageMetaDataPage; @@ -18,11 +19,11 @@ import org.openslx.dozmod.thrift.Session; import org.openslx.thrifthelper.ThriftManager; @SuppressWarnings("serial") -public class ImageWizard extends Wizard { +public class ImageWizard extends Wizard implements UiFeedback { private final static Logger LOGGER = Logger.getLogger(ImageWizard.class); - private final UploadWizardState uploadWizardState = new UploadWizardState();; + private final UploadWizardState uploadWizardState = new UploadWizardState(); protected ImageUploadPage imageUploadPage; protected ImageMetaDataPage imageMetaDataPage; protected ImageCustomPermissionPage imageCustomPermissionPage; @@ -92,10 +93,6 @@ public class ImageWizard extends Wizard { MessageType.ERROR, LOGGER, e); return; } - - Gui.showMessageBox(this, "Creation of image worked :)", MessageType.INFO, LOGGER, null); - // redirect to ImageListWindow - MainWindow.showPage(ImageListWindow.class); } private boolean isStateValid() { @@ -161,4 +158,20 @@ public class ImageWizard extends Wizard { uploadWizardState.selectedOs.getOsId(), uploadWizardState.meta.getVirtualizer().getVirtId(), uploadWizardState.isTemplate, uploadWizardState.permissions, uploadWizardState.shareMode); } + + @Override + protected boolean onCancelRequest() { + return Gui.showMessageBox(this, "Möchten Sie den Vorgang wirklich abbrechen?", + MessageType.QUESTION_YESNO, null, null); + } + + @Override + public boolean wantConfirmQuit() { + return uploadWizardState.uuid != null; + } + + @Override + public void escapePressed() { + doCancel(); + } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java index ed6e6380..bcacdde3 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java @@ -106,50 +106,32 @@ public class Wizard extends JDialog { @Override public void windowClosing(WindowEvent we) { - if (onCancelRequest()) - dispose(); + doCancel(); } }); // Äkschns btnNext.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - if (currentPage + 1 < pages.size()) { - if (!pages.get(currentPage).wantNextOrFinish()) - return; // Page canceled the operation - showPage(currentPage + 1); - } + doNext(); } }); btnPrev.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - if (currentPage > 0) { - showPage(currentPage - 1); - } + doPrevious(); } }); btnCancel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - if (onCancelRequest()) - dispose(); + doCancel(); } }); btnFinish.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - if (currentPage != -1) { - if (!pages.get(currentPage).wantNextOrFinish()) - return; - } - if (wantFinish()) { - if (currentPage != -1) { - pages.get(currentPage).onPageLeave(); - } - performFinish(); - dispose(); - } + doFinish(); } }); } @@ -216,6 +198,45 @@ public class Wizard extends JDialog { } } + protected final void doNext() { + if (!btnNext.isEnabled()) + return; + if (currentPage + 1 < pages.size()) { + if (!pages.get(currentPage).wantNextOrFinish()) + return; // Page canceled the operation + showPage(currentPage + 1); + } + } + + protected final void doPrevious() { + if (!btnPrev.isEnabled()) + return; + if (currentPage > 0) { + showPage(currentPage - 1); + } + } + + protected final void doCancel() { + if (onCancelRequest()) + dispose(); + } + + protected final void doFinish() { + if (!btnFinish.isEnabled()) + return; + if (currentPage != -1) { + if (!pages.get(currentPage).wantNextOrFinish()) + return; + } + if (wantFinish()) { + if (currentPage != -1) { + pages.get(currentPage).onPageLeave(); + } + performFinish(); + dispose(); + } + } + /* * Callback to wizard implementation */ |
