summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui
diff options
context:
space:
mode:
authorGravatar Thog2017-03-24 01:28:34 +0100
committerGravatar Thog2017-03-24 01:28:34 +0100
commitf829582ae418504ff6685eeb14fad5a67916c6f9 (patch)
treebdcfebffe3f0618e06552dc59b7d1cef0b541dae /src/main/java/cuchaz/enigma/gui
parentFix var naming and locals var index issues (diff)
downloadenigma-fork-f829582ae418504ff6685eeb14fad5a67916c6f9.tar.gz
enigma-fork-f829582ae418504ff6685eeb14fad5a67916c6f9.tar.xz
enigma-fork-f829582ae418504ff6685eeb14fad5a67916c6f9.zip
Implement experimental Tiny mappings loader
~ This will need some tests and more security checks
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.java8
-rw-r--r--src/main/java/cuchaz/enigma/gui/elements/MenuBar.java16
3 files changed, 28 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java
index 9f8d6fc..77065a9 100644
--- a/src/main/java/cuchaz/enigma/gui/Gui.java
+++ b/src/main/java/cuchaz/enigma/gui/Gui.java
@@ -63,6 +63,7 @@ public class Gui {
63 // state 63 // state
64 public EntryReference<Entry, Entry> reference; 64 public EntryReference<Entry, Entry> reference;
65 public JFileChooser jarFileChooser; 65 public JFileChooser jarFileChooser;
66 public JFileChooser tinyMappingsFileChooser;
66 public JFileChooser enigmaMappingsFileChooser; 67 public JFileChooser enigmaMappingsFileChooser;
67 public JFileChooser exportSourceFileChooser; 68 public JFileChooser exportSourceFileChooser;
68 public JFileChooser exportJarFileChooser; 69 public JFileChooser exportJarFileChooser;
@@ -105,6 +106,7 @@ public class Gui {
105 // init file choosers 106 // init file choosers
106 this.jarFileChooser = new FileChooserFile(); 107 this.jarFileChooser = new FileChooserFile();
107 108
109 this.tinyMappingsFileChooser = new FileChooserFile();
108 this.enigmaMappingsFileChooser = new FileChooserAny(); 110 this.enigmaMappingsFileChooser = new FileChooserAny();
109 this.exportSourceFileChooser = new FileChooserFolder(); 111 this.exportSourceFileChooser = new FileChooserFolder();
110 this.exportJarFileChooser = new FileChooserFile(); 112 this.exportJarFileChooser = new FileChooserFile();
@@ -314,6 +316,7 @@ public class Gui {
314 316
315 // update menu 317 // update menu
316 this.menuBar.closeJarMenu.setEnabled(true); 318 this.menuBar.closeJarMenu.setEnabled(true);
319 this.menuBar.openTinyMappingsMenu.setEnabled(true);
317 this.menuBar.openEnigmaMappingsMenu.setEnabled(true); 320 this.menuBar.openEnigmaMappingsMenu.setEnabled(true);
318 this.menuBar.saveMappingsMenu.setEnabled(false); 321 this.menuBar.saveMappingsMenu.setEnabled(false);
319 this.menuBar.saveMappingEnigmaFileMenu.setEnabled(true); 322 this.menuBar.saveMappingEnigmaFileMenu.setEnabled(true);
@@ -336,6 +339,7 @@ public class Gui {
336 339
337 // update menu 340 // update menu
338 this.menuBar.closeJarMenu.setEnabled(false); 341 this.menuBar.closeJarMenu.setEnabled(false);
342 this.menuBar.openTinyMappingsMenu.setEnabled(false);
339 this.menuBar.openEnigmaMappingsMenu.setEnabled(false); 343 this.menuBar.openEnigmaMappingsMenu.setEnabled(false);
340 this.menuBar.saveMappingsMenu.setEnabled(false); 344 this.menuBar.saveMappingsMenu.setEnabled(false);
341 this.menuBar.saveMappingEnigmaFileMenu.setEnabled(false); 345 this.menuBar.saveMappingEnigmaFileMenu.setEnabled(false);
diff --git a/src/main/java/cuchaz/enigma/gui/GuiController.java b/src/main/java/cuchaz/enigma/gui/GuiController.java
index 1b461da..c3cdbf8 100644
--- a/src/main/java/cuchaz/enigma/gui/GuiController.java
+++ b/src/main/java/cuchaz/enigma/gui/GuiController.java
@@ -71,6 +71,14 @@ public class GuiController {
71 refreshCurrentClass(); 71 refreshCurrentClass();
72 } 72 }
73 73
74 public void openTinyMappings(File file) throws IOException, MappingParseException {
75 this.deobfuscator.setMappings(new MappingsTinyReader().read(file));
76 this.isDirty = false;
77 this.gui.setMappingsFile(file);
78 refreshClasses();
79 refreshCurrentClass();
80 }
81
74 public void saveMappings(File file) throws IOException { 82 public void saveMappings(File file) throws IOException {
75 Mappings mappings = this.deobfuscator.getMappings(); 83 Mappings mappings = this.deobfuscator.getMappings();
76 switch (mappings.getOriginMappingFormat()) { 84 switch (mappings.getOriginMappingFormat()) {
diff --git a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java
index cd11aca..e446c5a 100644
--- a/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java
+++ b/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java
@@ -14,6 +14,7 @@ public class MenuBar extends JMenuBar {
14 14
15 public final JMenuItem closeJarMenu; 15 public final JMenuItem closeJarMenu;
16 public final JMenuItem openEnigmaMappingsMenu; 16 public final JMenuItem openEnigmaMappingsMenu;
17 public final JMenuItem openTinyMappingsMenu;
17 public final JMenuItem saveMappingsMenu; 18 public final JMenuItem saveMappingsMenu;
18 public final JMenuItem saveMappingEnigmaFileMenu; 19 public final JMenuItem saveMappingEnigmaFileMenu;
19 public final JMenuItem saveMappingEnigmaDirectoryMenu; 20 public final JMenuItem saveMappingEnigmaDirectoryMenu;
@@ -71,6 +72,21 @@ public class MenuBar extends JMenuBar {
71 } 72 }
72 }); 73 });
73 this.openEnigmaMappingsMenu = item; 74 this.openEnigmaMappingsMenu = item;
75
76 item = new JMenuItem("Tiny");
77 openMenu.add(item);
78 item.addActionListener(event -> {
79 if (this.gui.tinyMappingsFileChooser.showOpenDialog(this.gui.getFrame()) == JFileChooser.APPROVE_OPTION) {
80 try {
81 this.gui.getController().openTinyMappings(this.gui.tinyMappingsFileChooser.getSelectedFile());
82 } catch (IOException ex) {
83 throw new Error(ex);
84 } catch (MappingParseException ex) {
85 JOptionPane.showMessageDialog(this.gui.getFrame(), ex.getMessage());
86 }
87 }
88 });
89 this.openTinyMappingsMenu = item;
74 } 90 }
75 { 91 {
76 JMenuItem item = new JMenuItem("Save Mappings"); 92 JMenuItem item = new JMenuItem("Save Mappings");