summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui
diff options
context:
space:
mode:
authorGravatar modmuss502016-08-11 14:18:43 +0100
committerGravatar modmuss502016-08-11 14:18:43 +0100
commit6c90b5f41ec9ea8c512981e4dbe69d5d9769651f (patch)
tree4b116a3801ea9405cace5b9f2a56b11c51c0b516 /src/main/java/cuchaz/enigma/gui
parentRemoved util (diff)
downloadenigma-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.java4
-rw-r--r--src/main/java/cuchaz/enigma/gui/GuiController.java12
-rw-r--r--src/main/java/cuchaz/enigma/gui/elements/MenuBar.java34
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
18import java.io.File; 18import java.io.File;
19import java.io.FileReader; 19import java.io.FileReader;
20import java.io.FileWriter;
20import java.io.IOException; 21import java.io.IOException;
21import java.util.Collection; 22import java.util.Collection;
22import java.util.Deque; 23import 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());