summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui/elements
diff options
context:
space:
mode:
authorGravatar Thog2016-08-15 13:10:09 +0200
committerGravatar Thog2016-08-15 13:10:09 +0200
commitfa6263bf6e11293783931619461b5e88ef33f9aa (patch)
tree1da5a1403e4fe4e4aceab505c6f0754c71d50455 /src/main/java/cuchaz/enigma/gui/elements
parentMARK EVERYTHING PUBLIC BECAUSE WE ARE EVIL (diff)
downloadenigma-fork-fa6263bf6e11293783931619461b5e88ef33f9aa.tar.gz
enigma-fork-fa6263bf6e11293783931619461b5e88ef33f9aa.tar.xz
enigma-fork-fa6263bf6e11293783931619461b5e88ef33f9aa.zip
"Close mappings" option now check if you have change your mappings and if you want to save them
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/elements')
-rw-r--r--src/main/java/cuchaz/enigma/gui/elements/MenuBar.java25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java
index 038698b..befe129 100644
--- a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java
+++ b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java
@@ -146,7 +146,30 @@ public class MenuBar extends JMenuBar {
146 { 146 {
147 JMenuItem item = new JMenuItem("Close Mappings"); 147 JMenuItem item = new JMenuItem("Close Mappings");
148 menu.add(item); 148 menu.add(item);
149 item.addActionListener(event -> this.gui.getController().closeMappings()); 149 item.addActionListener(event -> {
150 if (this.gui.getController().isDirty())
151 {
152 this.gui.showDiscardDiag((response -> {
153 if (response == JOptionPane.YES_OPTION)
154 {
155 try
156 {
157 gui.saveMapping();
158 this.gui.getController().closeMappings();
159 } catch (IOException e)
160 {
161 throw new Error(e);
162 }
163 }
164 else if (response == JOptionPane.NO_OPTION)
165 this.gui.getController().closeMappings();
166 return null;
167 }), "Save and close", "Discard changes", "Cancel");
168 }
169 else
170 this.gui.getController().closeMappings();
171
172 });
150 this.closeMappingsMenu = item; 173 this.closeMappingsMenu = item;
151 } 174 }
152 menu.addSeparator(); 175 menu.addSeparator();