diff options
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/elements')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/elements/MenuBar.java | 54 |
1 files changed, 13 insertions, 41 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java index e988d74..038698b 100644 --- a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java +++ b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java | |||
| @@ -17,11 +17,9 @@ public class MenuBar extends JMenuBar { | |||
| 17 | 17 | ||
| 18 | public final JMenuItem closeJarMenu; | 18 | public final JMenuItem closeJarMenu; |
| 19 | 19 | ||
| 20 | public final JMenuItem openMappingsJsonMenu; | ||
| 21 | public final JMenuItem openEnigmaMappingsMenu; | 20 | public final JMenuItem openEnigmaMappingsMenu; |
| 22 | 21 | ||
| 23 | public final JMenuItem saveMappingsMenu; | 22 | public final JMenuItem saveMappingsMenu; |
| 24 | public final JMenuItem saveMappingsJsonMenu; | ||
| 25 | public final JMenuItem saveMappingEnigmaFileMenu; | 23 | public final JMenuItem saveMappingEnigmaFileMenu; |
| 26 | public final JMenuItem saveMappingEnigmaDirectoryMenu; | 24 | public final JMenuItem saveMappingEnigmaDirectoryMenu; |
| 27 | public final JMenuItem saveMappingsSrgMenu; | 25 | public final JMenuItem saveMappingsSrgMenu; |
| @@ -64,6 +62,7 @@ public class MenuBar extends JMenuBar { | |||
| 64 | } | 62 | } |
| 65 | menu.addSeparator(); | 63 | menu.addSeparator(); |
| 66 | JMenu openMenu = new JMenu("Open Mappings..."); | 64 | JMenu openMenu = new JMenu("Open Mappings..."); |
| 65 | menu.add(openMenu); | ||
| 67 | { | 66 | { |
| 68 | JMenuItem item = new JMenuItem("Enigma"); | 67 | JMenuItem item = new JMenuItem("Enigma"); |
| 69 | openMenu.add(item); | 68 | openMenu.add(item); |
| @@ -80,27 +79,12 @@ public class MenuBar extends JMenuBar { | |||
| 80 | }); | 79 | }); |
| 81 | this.openEnigmaMappingsMenu = item; | 80 | this.openEnigmaMappingsMenu = item; |
| 82 | } | 81 | } |
| 83 | menu.add(openMenu); | ||
| 84 | { | ||
| 85 | JMenuItem item = new JMenuItem("JSON (directory)"); | ||
| 86 | openMenu.add(item); | ||
| 87 | item.addActionListener(event -> { | ||
| 88 | if (this.gui.jsonMappingsFileChooser.showOpenDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | ||
| 89 | try { | ||
| 90 | this.gui.getController().openJsonMappings(this.gui.jsonMappingsFileChooser.getSelectedFile()); | ||
| 91 | } catch (IOException ex) { | ||
| 92 | throw new Error(ex); | ||
| 93 | } | ||
| 94 | } | ||
| 95 | }); | ||
| 96 | this.openMappingsJsonMenu = item; | ||
| 97 | } | ||
| 98 | { | 82 | { |
| 99 | JMenuItem item = new JMenuItem("Save Mappings"); | 83 | JMenuItem item = new JMenuItem("Save Mappings"); |
| 100 | menu.add(item); | 84 | menu.add(item); |
| 101 | item.addActionListener(event -> { | 85 | item.addActionListener(event -> { |
| 102 | try { | 86 | try { |
| 103 | this.gui.getController().saveMappings(this.gui.jsonMappingsFileChooser.getSelectedFile()); | 87 | this.gui.getController().saveMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile()); |
| 104 | } catch (IOException ex) { | 88 | } catch (IOException ex) { |
| 105 | throw new Error(ex); | 89 | throw new Error(ex); |
| 106 | } | 90 | } |
| @@ -109,13 +93,15 @@ public class MenuBar extends JMenuBar { | |||
| 109 | this.saveMappingsMenu = item; | 93 | this.saveMappingsMenu = item; |
| 110 | } | 94 | } |
| 111 | JMenu saveMenu = new JMenu("Save Mappings As..."); | 95 | JMenu saveMenu = new JMenu("Save Mappings As..."); |
| 96 | menu.add(saveMenu); | ||
| 112 | { | 97 | { |
| 113 | JMenuItem item = new JMenuItem("Enigma (single file)"); | 98 | JMenuItem item = new JMenuItem("Enigma (single file)"); |
| 114 | saveMenu.add(item); | 99 | saveMenu.add(item); |
| 115 | item.addActionListener(event -> { | 100 | item.addActionListener(event -> { |
| 116 | if (this.gui.jsonMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 101 | // TODO: Use a specific file chooser for it |
| 102 | if (this.gui.enigmaMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | ||
| 117 | try { | 103 | try { |
| 118 | this.gui.getController().saveEnigmaMappings(this.gui.jsonMappingsFileChooser.getSelectedFile(), false); | 104 | this.gui.getController().saveEnigmaMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile(), false); |
| 119 | this.saveMappingsMenu.setEnabled(true); | 105 | this.saveMappingsMenu.setEnabled(true); |
| 120 | } catch (IOException ex) { | 106 | } catch (IOException ex) { |
| 121 | throw new Error(ex); | 107 | throw new Error(ex); |
| @@ -128,9 +114,10 @@ public class MenuBar extends JMenuBar { | |||
| 128 | JMenuItem item = new JMenuItem("Enigma (directory)"); | 114 | JMenuItem item = new JMenuItem("Enigma (directory)"); |
| 129 | saveMenu.add(item); | 115 | saveMenu.add(item); |
| 130 | item.addActionListener(event -> { | 116 | item.addActionListener(event -> { |
| 131 | if (this.gui.jsonMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 117 | // TODO: Use a specific file chooser for it |
| 118 | if (this.gui.enigmaMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | ||
| 132 | try { | 119 | try { |
| 133 | this.gui.getController().saveEnigmaMappings(this.gui.jsonMappingsFileChooser.getSelectedFile(), true); | 120 | this.gui.getController().saveEnigmaMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile(), true); |
| 134 | this.saveMappingsMenu.setEnabled(true); | 121 | this.saveMappingsMenu.setEnabled(true); |
| 135 | } catch (IOException ex) { | 122 | } catch (IOException ex) { |
| 136 | throw new Error(ex); | 123 | throw new Error(ex); |
| @@ -140,29 +127,14 @@ public class MenuBar extends JMenuBar { | |||
| 140 | item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)); | 127 | item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)); |
| 141 | this.saveMappingEnigmaDirectoryMenu = item; | 128 | this.saveMappingEnigmaDirectoryMenu = item; |
| 142 | } | 129 | } |
| 143 | menu.add(saveMenu); | ||
| 144 | { | ||
| 145 | JMenuItem item = new JMenuItem("JSON (directory)"); | ||
| 146 | saveMenu.add(item); | ||
| 147 | item.addActionListener(event -> { | ||
| 148 | if (this.gui.jsonMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | ||
| 149 | try { | ||
| 150 | this.gui.getController().saveJsonMappings(this.gui.jsonMappingsFileChooser.getSelectedFile()); | ||
| 151 | this.saveMappingsMenu.setEnabled(true); | ||
| 152 | } catch (IOException ex) { | ||
| 153 | throw new Error(ex); | ||
| 154 | } | ||
| 155 | } | ||
| 156 | }); | ||
| 157 | this.saveMappingsJsonMenu = item; | ||
| 158 | } | ||
| 159 | { | 130 | { |
| 160 | JMenuItem item = new JMenuItem("SRG"); | 131 | JMenuItem item = new JMenuItem("SRG (single file)"); |
| 161 | saveMenu.add(item); | 132 | saveMenu.add(item); |
| 162 | item.addActionListener(event -> { | 133 | item.addActionListener(event -> { |
| 163 | if (this.gui.jsonMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | 134 | // TODO: Use a specific file chooser for it |
| 135 | if (this.gui.enigmaMappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | ||
| 164 | try { | 136 | try { |
| 165 | this.gui.getController().saveSRGMappings(this.gui.jsonMappingsFileChooser.getSelectedFile()); | 137 | this.gui.getController().saveSRGMappings(this.gui.enigmaMappingsFileChooser.getSelectedFile()); |
| 166 | this.saveMappingsMenu.setEnabled(true); | 138 | this.saveMappingsMenu.setEnabled(true); |
| 167 | } catch (IOException ex) { | 139 | } catch (IOException ex) { |
| 168 | throw new Error(ex); | 140 | throw new Error(ex); |