summaryrefslogtreecommitdiff
path: root/src/main/java/cuchaz/enigma/gui/Gui.java
diff options
context:
space:
mode:
authorGravatar Thomas Guillemard2016-08-12 19:23:54 +0200
committerGravatar Adrian Siekierka2016-08-12 19:23:54 +0200
commitc4970cc4addedd4565cf8c3ed9ea92b6a4487e0c (patch)
treea6f00a59cd0d5bc41014768506d9c4d3aad48de8 /src/main/java/cuchaz/enigma/gui/Gui.java
parentAllow exporting mappings as SRG or Enigma (diff)
downloadenigma-fork-c4970cc4addedd4565cf8c3ed9ea92b6a4487e0c.tar.gz
enigma-fork-c4970cc4addedd4565cf8c3ed9ea92b6a4487e0c.tar.xz
enigma-fork-c4970cc4addedd4565cf8c3ed9ea92b6a4487e0c.zip
Implement Enigma directory format (#1)
Others changes: ~ Rework File menu ~ Force UTF-8 for all I/O operations ~ Enigma now detect the original file format and use the correct one when you save a mapping
Diffstat (limited to 'src/main/java/cuchaz/enigma/gui/Gui.java')
-rw-r--r--src/main/java/cuchaz/enigma/gui/Gui.java33
1 files changed, 18 insertions, 15 deletions
diff --git a/src/main/java/cuchaz/enigma/gui/Gui.java b/src/main/java/cuchaz/enigma/gui/Gui.java
index 5b0b599..2269476 100644
--- a/src/main/java/cuchaz/enigma/gui/Gui.java
+++ b/src/main/java/cuchaz/enigma/gui/Gui.java
@@ -34,6 +34,7 @@ import cuchaz.enigma.analysis.*;
34import cuchaz.enigma.gui.dialog.CrashDialog; 34import cuchaz.enigma.gui.dialog.CrashDialog;
35import cuchaz.enigma.gui.elements.MenuBar; 35import cuchaz.enigma.gui.elements.MenuBar;
36import cuchaz.enigma.gui.elements.PopupMenuBar; 36import cuchaz.enigma.gui.elements.PopupMenuBar;
37import cuchaz.enigma.gui.filechooser.FileChooserAny;
37import cuchaz.enigma.gui.filechooser.FileChooserFile; 38import cuchaz.enigma.gui.filechooser.FileChooserFile;
38import cuchaz.enigma.gui.filechooser.FileChooserFolder; 39import cuchaz.enigma.gui.filechooser.FileChooserFolder;
39import cuchaz.enigma.gui.highlight.DeobfuscatedHighlightPainter; 40import cuchaz.enigma.gui.highlight.DeobfuscatedHighlightPainter;
@@ -78,8 +79,8 @@ public class Gui {
78 public EntryReference<Entry, Entry> m_reference; 79 public EntryReference<Entry, Entry> m_reference;
79 80
80 public JFileChooser jarFileChooser; 81 public JFileChooser jarFileChooser;
81 public JFileChooser mappingsFileChooser; 82 public JFileChooser jsonMappingsFileChooser;
82 public JFileChooser oldMappingsFileChooser; 83 public JFileChooser enigmaMappingsFileChooser;
83 84
84 public JFileChooser exportSourceFileChooser; 85 public JFileChooser exportSourceFileChooser;
85 public JFileChooser exportJarFileChooser; 86 public JFileChooser exportJarFileChooser;
@@ -106,10 +107,10 @@ public class Gui {
106 107
107 // init file choosers 108 // init file choosers
108 this.jarFileChooser = new FileChooserFile(); 109 this.jarFileChooser = new FileChooserFile();
109 this.mappingsFileChooser = new FileChooserFolder(); 110 this.jsonMappingsFileChooser = new FileChooserFolder();
110 111
111 112
112 this.oldMappingsFileChooser = new FileChooserFile(); 113 this.enigmaMappingsFileChooser = new FileChooserAny();
113 this.exportSourceFileChooser = new FileChooserFolder(); 114 this.exportSourceFileChooser = new FileChooserFolder();
114 this.exportJarFileChooser = new FileChooserFile(); 115 this.exportJarFileChooser = new FileChooserFile();
115 116
@@ -315,11 +316,12 @@ public class Gui {
315 316
316 // update menu 317 // update menu
317 this.menuBar.closeJarMenu.setEnabled(true); 318 this.menuBar.closeJarMenu.setEnabled(true);
318 this.menuBar.openOldMappingsMenu.setEnabled(true); 319 this.menuBar.openEnigmaMappingsMenu.setEnabled(true);
319 this.menuBar.openMappingsMenu.setEnabled(true); 320 this.menuBar.openMappingsJsonMenu.setEnabled(true);
320 this.menuBar.saveMappingsMenu.setEnabled(false); 321 this.menuBar.saveMappingsMenu.setEnabled(false);
321 this.menuBar.saveMappingsAsMenu.setEnabled(true); 322 this.menuBar.saveMappingsJsonMenu.setEnabled(true);
322 this.menuBar.saveMappingsOldMenu.setEnabled(true); 323 this.menuBar.saveMappingEnigmaFileMenu.setEnabled(true);
324 this.menuBar.saveMappingEnigmaDirectoryMenu.setEnabled(true);
323 this.menuBar.saveMappingsSrgMenu.setEnabled(true); 325 this.menuBar.saveMappingsSrgMenu.setEnabled(true);
324 this.menuBar.closeMappingsMenu.setEnabled(true); 326 this.menuBar.closeMappingsMenu.setEnabled(true);
325 this.menuBar.exportSourceMenu.setEnabled(true); 327 this.menuBar.exportSourceMenu.setEnabled(true);
@@ -338,11 +340,12 @@ public class Gui {
338 340
339 // update menu 341 // update menu
340 this.menuBar.closeJarMenu.setEnabled(false); 342 this.menuBar.closeJarMenu.setEnabled(false);
341 this.menuBar.openOldMappingsMenu.setEnabled(false); 343 this.menuBar.openEnigmaMappingsMenu.setEnabled(false);
342 this.menuBar.openMappingsMenu.setEnabled(false); 344 this.menuBar.openMappingsJsonMenu.setEnabled(false);
343 this.menuBar.saveMappingsMenu.setEnabled(false); 345 this.menuBar.saveMappingsMenu.setEnabled(false);
344 this.menuBar.saveMappingsAsMenu.setEnabled(false); 346 this.menuBar.saveMappingsJsonMenu.setEnabled(false);
345 this.menuBar.saveMappingsOldMenu.setEnabled(false); 347 this.menuBar.saveMappingEnigmaFileMenu.setEnabled(false);
348 this.menuBar.saveMappingEnigmaDirectoryMenu.setEnabled(false);
346 this.menuBar.saveMappingsSrgMenu.setEnabled(false); 349 this.menuBar.saveMappingsSrgMenu.setEnabled(false);
347 this.menuBar.closeMappingsMenu.setEnabled(false); 350 this.menuBar.closeMappingsMenu.setEnabled(false);
348 this.menuBar.exportSourceMenu.setEnabled(false); 351 this.menuBar.exportSourceMenu.setEnabled(false);
@@ -360,7 +363,7 @@ public class Gui {
360 } 363 }
361 364
362 public void setMappingsFile(File file) { 365 public void setMappingsFile(File file) {
363 this.mappingsFileChooser.setSelectedFile(file); 366 this.jsonMappingsFileChooser.setSelectedFile(file);
364 this.menuBar.saveMappingsMenu.setEnabled(file != null); 367 this.menuBar.saveMappingsMenu.setEnabled(file != null);
365 } 368 }
366 369
@@ -721,9 +724,9 @@ public class Gui {
721 JOptionPane.QUESTION_MESSAGE, null, options, options[2]); 724 JOptionPane.QUESTION_MESSAGE, null, options, options[2]);
722 switch (response) { 725 switch (response) {
723 case JOptionPane.YES_OPTION: // save and exit 726 case JOptionPane.YES_OPTION: // save and exit
724 if (this.mappingsFileChooser.getSelectedFile() != null || this.mappingsFileChooser.showSaveDialog(this.frame) == JFileChooser.APPROVE_OPTION) { 727 if (this.jsonMappingsFileChooser.getSelectedFile() != null || this.jsonMappingsFileChooser.showSaveDialog(this.frame) == JFileChooser.APPROVE_OPTION) {
725 try { 728 try {
726 this.controller.saveMappings(this.mappingsFileChooser.getCurrentDirectory()); 729 this.controller.saveMappings(this.jsonMappingsFileChooser.getCurrentDirectory());
727 this.frame.dispose(); 730 this.frame.dispose();
728 } catch (IOException ex) { 731 } catch (IOException ex) {
729 throw new Error(ex); 732 throw new Error(ex);