diff options
| author | 2016-08-15 13:10:09 +0200 | |
|---|---|---|
| committer | 2016-08-15 13:10:09 +0200 | |
| commit | fa6263bf6e11293783931619461b5e88ef33f9aa (patch) | |
| tree | 1da5a1403e4fe4e4aceab505c6f0754c71d50455 /src/main/java/cuchaz/enigma/gui/elements | |
| parent | MARK EVERYTHING PUBLIC BECAUSE WE ARE EVIL (diff) | |
| download | enigma-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.java | 25 |
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(); |