diff options
| author | 2016-08-11 14:18:43 +0100 | |
|---|---|---|
| committer | 2016-08-11 14:18:43 +0100 | |
| commit | 6c90b5f41ec9ea8c512981e4dbe69d5d9769651f (patch) | |
| tree | 4b116a3801ea9405cace5b9f2a56b11c51c0b516 /src/main/java/cuchaz/enigma/gui | |
| parent | Removed util (diff) | |
| download | enigma-fork-6c90b5f41ec9ea8c512981e4dbe69d5d9769651f.tar.gz enigma-fork-6c90b5f41ec9ea8c512981e4dbe69d5d9769651f.tar.xz enigma-fork-6c90b5f41ec9ea8c512981e4dbe69d5d9769651f.zip | |
Allow exporting mappings as SRG or Enigma
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui')
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/Gui.java | 4 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/GuiController.java | 12 | ||||
| -rw-r--r-- | src/main/java/cuchaz/enigma/gui/elements/MenuBar.java | 34 |
3 files changed, 50 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java index d93aa9f..5b0b599 100644 --- a/src/main/java/cuchaz/enigma/gui/Gui.java +++ b/src/main/java/cuchaz/enigma/gui/Gui.java | |||
| @@ -319,6 +319,8 @@ public class Gui { | |||
| 319 | this.menuBar.openMappingsMenu.setEnabled(true); | 319 | this.menuBar.openMappingsMenu.setEnabled(true); |
| 320 | this.menuBar.saveMappingsMenu.setEnabled(false); | 320 | this.menuBar.saveMappingsMenu.setEnabled(false); |
| 321 | this.menuBar.saveMappingsAsMenu.setEnabled(true); | 321 | this.menuBar.saveMappingsAsMenu.setEnabled(true); |
| 322 | this.menuBar.saveMappingsOldMenu.setEnabled(true); | ||
| 323 | this.menuBar.saveMappingsSrgMenu.setEnabled(true); | ||
| 322 | this.menuBar.closeMappingsMenu.setEnabled(true); | 324 | this.menuBar.closeMappingsMenu.setEnabled(true); |
| 323 | this.menuBar.exportSourceMenu.setEnabled(true); | 325 | this.menuBar.exportSourceMenu.setEnabled(true); |
| 324 | this.menuBar.exportJarMenu.setEnabled(true); | 326 | this.menuBar.exportJarMenu.setEnabled(true); |
| @@ -340,6 +342,8 @@ public class Gui { | |||
| 340 | this.menuBar.openMappingsMenu.setEnabled(false); | 342 | this.menuBar.openMappingsMenu.setEnabled(false); |
| 341 | this.menuBar.saveMappingsMenu.setEnabled(false); | 343 | this.menuBar.saveMappingsMenu.setEnabled(false); |
| 342 | this.menuBar.saveMappingsAsMenu.setEnabled(false); | 344 | this.menuBar.saveMappingsAsMenu.setEnabled(false); |
| 345 | this.menuBar.saveMappingsOldMenu.setEnabled(false); | ||
| 346 | this.menuBar.saveMappingsSrgMenu.setEnabled(false); | ||
| 343 | this.menuBar.closeMappingsMenu.setEnabled(false); | 347 | this.menuBar.closeMappingsMenu.setEnabled(false); |
| 344 | this.menuBar.exportSourceMenu.setEnabled(false); | 348 | this.menuBar.exportSourceMenu.setEnabled(false); |
| 345 | this.menuBar.exportJarMenu.setEnabled(false); | 349 | this.menuBar.exportJarMenu.setEnabled(false); |
diff --git a/src/main/java/cuchaz/enigma/gui/GuiController.java b/src/main/java/cuchaz/enigma/gui/GuiController.java index c301594..fe7d097 100644 --- a/src/main/java/cuchaz/enigma/gui/GuiController.java +++ b/src/main/java/cuchaz/enigma/gui/GuiController.java | |||
| @@ -17,6 +17,7 @@ import com.strobel.decompiler.languages.java.ast.CompilationUnit; | |||
| 17 | 17 | ||
| 18 | import java.io.File; | 18 | import java.io.File; |
| 19 | import java.io.FileReader; | 19 | import java.io.FileReader; |
| 20 | import java.io.FileWriter; | ||
| 20 | import java.io.IOException; | 21 | import java.io.IOException; |
| 21 | import java.util.Collection; | 22 | import java.util.Collection; |
| 22 | import java.util.Deque; | 23 | import java.util.Deque; |
| @@ -87,6 +88,17 @@ public class GuiController { | |||
| 87 | this.isDirty = false; | 88 | this.isDirty = false; |
| 88 | } | 89 | } |
| 89 | 90 | ||
| 91 | public void saveOldMappings(File file) throws IOException { | ||
| 92 | FileWriter out = new FileWriter(file); | ||
| 93 | new MappingsOldWriter().write(out, this.deobfuscator.getMappings()); | ||
| 94 | this.isDirty = false; | ||
| 95 | } | ||
| 96 | |||
| 97 | public void saveSRGMappings(File file) throws IOException { | ||
| 98 | new MappingsSRGWriter().write(file, this.deobfuscator); | ||
| 99 | this.isDirty = false; | ||
| 100 | } | ||
| 101 | |||
| 90 | public void closeMappings() { | 102 | public void closeMappings() { |
| 91 | this.deobfuscator.setMappings(null); | 103 | this.deobfuscator.setMappings(null); |
| 92 | this.gui.setMappingsFile(null); | 104 | this.gui.setMappingsFile(null); |
diff --git a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java index e870334..e79476b 100644 --- a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java +++ b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java | |||
| @@ -22,6 +22,8 @@ public class MenuBar extends JMenuBar { | |||
| 22 | 22 | ||
| 23 | public final JMenuItem saveMappingsMenu; | 23 | public final JMenuItem saveMappingsMenu; |
| 24 | public final JMenuItem saveMappingsAsMenu; | 24 | public final JMenuItem saveMappingsAsMenu; |
| 25 | public final JMenuItem saveMappingsOldMenu; | ||
| 26 | public final JMenuItem saveMappingsSrgMenu; | ||
| 25 | public final JMenuItem closeMappingsMenu; | 27 | public final JMenuItem closeMappingsMenu; |
| 26 | 28 | ||
| 27 | 29 | ||
| @@ -121,6 +123,38 @@ public class MenuBar extends JMenuBar { | |||
| 121 | this.saveMappingsAsMenu = item; | 123 | this.saveMappingsAsMenu = item; |
| 122 | } | 124 | } |
| 123 | { | 125 | { |
| 126 | JMenuItem item = new JMenuItem("Save Mappings as Enigma"); | ||
| 127 | menu.add(item); | ||
| 128 | item.addActionListener(event -> { | ||
| 129 | if (this.gui.mappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | ||
| 130 | try { | ||
| 131 | this.gui.getController().saveOldMappings(this.gui.mappingsFileChooser.getSelectedFile()); | ||
| 132 | this.saveMappingsMenu.setEnabled(true); | ||
| 133 | } catch (IOException ex) { | ||
| 134 | throw new Error(ex); | ||
| 135 | } | ||
| 136 | } | ||
| 137 | }); | ||
| 138 | item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)); | ||
| 139 | this.saveMappingsOldMenu = item; | ||
| 140 | } | ||
| 141 | { | ||
| 142 | JMenuItem item = new JMenuItem("Save Mappings as SRG"); | ||
| 143 | menu.add(item); | ||
| 144 | item.addActionListener(event -> { | ||
| 145 | if (this.gui.mappingsFileChooser.showSaveDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) { | ||
| 146 | try { | ||
| 147 | this.gui.getController().saveSRGMappings(this.gui.mappingsFileChooser.getSelectedFile()); | ||
| 148 | this.saveMappingsMenu.setEnabled(true); | ||
| 149 | } catch (IOException ex) { | ||
| 150 | throw new Error(ex); | ||
| 151 | } | ||
| 152 | } | ||
| 153 | }); | ||
| 154 | item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)); | ||
| 155 | this.saveMappingsSrgMenu = item; | ||
| 156 | } | ||
| 157 | { | ||
| 124 | JMenuItem item = new JMenuItem("Close Mappings"); | 158 | JMenuItem item = new JMenuItem("Close Mappings"); |
| 125 | menu.add(item); | 159 | menu.add(item); |
| 126 | item.addActionListener(event -> this.gui.getController().closeMappings()); | 160 | item.addActionListener(event -> this.gui.getController().closeMappings()); |