diff options
| author | Simon Rettberg | 2016-11-07 20:12:15 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2016-11-07 20:12:15 +0100 |
| commit | 250e49215555209a9a18b302a59e522ced145318 (patch) | |
| tree | 4ce54742c8a0d8ade5b5e5c78351824a442891d4 /dozentenmodul/src/main/java | |
| parent | [client] Fix ByteBuffer -> byte[] in VM config window (diff) | |
| download | tutor-module-250e49215555209a9a18b302a59e522ced145318.tar.gz tutor-module-250e49215555209a9a18b302a59e522ced145318.tar.xz tutor-module-250e49215555209a9a18b302a59e522ced145318.zip | |
[client] Directly open expert mode vmx editor on click, only hide simple window if changes were saved
Diffstat (limited to 'dozentenmodul/src/main/java')
2 files changed, 10 insertions, 7 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtConfigEditorWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtConfigEditorWindow.java index 67febdd9..301b068f 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtConfigEditorWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtConfigEditorWindow.java @@ -37,6 +37,8 @@ public class VirtConfigEditorWindow extends VirtConfigEditorWindowLayout impleme private final String originalMachineDescription; private final VirtConfigEditorWindow me = this; private final ImageDetailsActions actionHandler; + + private boolean configWasSaved = false; protected VirtConfigEditorWindow(Window modalParent, final ImageDetailsActions actionHandler, final String imageVersionId, final ByteBuffer currentMachineDescription, @@ -111,6 +113,7 @@ public class VirtConfigEditorWindow extends VirtConfigEditorWindowLayout impleme @Override public void virtConfCallback(boolean success) { if (success) { + configWasSaved = true; dispose(); } } @@ -125,12 +128,13 @@ public class VirtConfigEditorWindow extends VirtConfigEditorWindowLayout impleme return set; } - public static void open(Window modalParent, final ImageDetailsActions handler, + public static boolean open(Window modalParent, final ImageDetailsActions handler, final String imageVersionId, final ByteBuffer currentmachineDescription, final String originalMachineDescription) { VirtConfigEditorWindow win = new VirtConfigEditorWindow(modalParent, handler, imageVersionId, currentmachineDescription, originalMachineDescription); win.setVisible(true); + return win.configWasSaved; } private void safeClose() { diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtDropDownConfigEditorWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtDropDownConfigEditorWindow.java index 164aa586..9e6e098d 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtDropDownConfigEditorWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/VirtDropDownConfigEditorWindow.java @@ -107,13 +107,12 @@ public class VirtDropDownConfigEditorWindow extends VirtDropDownConfigEditorWind btnMore.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - if (Gui.showMessageBox(me, - "Bitte beachten Sie: dieser Modus ist für erfahrene Nutzer geeignet. \n Möchten Sie wirklich diesen Modus fortsetzen?", - MessageType.QUESTION_YESNO, null, null)) - me.dispose(); - VirtConfigEditorWindow.open(me, actionHandler, imageVersionId, + boolean didSave = VirtConfigEditorWindow.open(me, actionHandler, imageVersionId, ByteBuffer.wrap(meta.getDefinitionArray()), originalMachineDescription); - + // User did save the changes via the expert mode window - close this one too + if (didSave) { + dispose(); + } } }); |
