summaryrefslogtreecommitdiff
path: root/enigma-swing
diff options
context:
space:
mode:
authorGravatar Joe2025-08-19 16:46:19 +0100
committerGravatar modmuss2025-09-13 09:14:23 +0100
commit40ab19aee2ae2a26dee37184f79596017e48edf7 (patch)
tree18af87109c167a92a9579908403be0bf56b39f84 /enigma-swing
parentFix guava again (#562) (diff)
downloadenigma-40ab19aee2ae2a26dee37184f79596017e48edf7.tar.gz
enigma-40ab19aee2ae2a26dee37184f79596017e48edf7.tar.xz
enigma-40ab19aee2ae2a26dee37184f79596017e48edf7.zip
Add I18n service
Diffstat (limited to 'enigma-swing')
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java5
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java5
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java6
-rw-r--r--enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java4
4 files changed, 10 insertions, 10 deletions
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java
index c85c4044..5881900c 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Gui.java
@@ -44,7 +44,6 @@ import javax.swing.tree.DefaultMutableTreeNode;
44import org.jetbrains.annotations.Nullable; 44import org.jetbrains.annotations.Nullable;
45 45
46import cuchaz.enigma.Enigma; 46import cuchaz.enigma.Enigma;
47import cuchaz.enigma.EnigmaProfile;
48import cuchaz.enigma.analysis.EntryReference; 47import cuchaz.enigma.analysis.EntryReference;
49import cuchaz.enigma.gui.config.Themes; 48import cuchaz.enigma.gui.config.Themes;
50import cuchaz.enigma.gui.config.UiConfig; 49import cuchaz.enigma.gui.config.UiConfig;
@@ -124,9 +123,9 @@ public class Gui {
124 public final JFileChooser exportJarFileChooser = new JFileChooser(); 123 public final JFileChooser exportJarFileChooser = new JFileChooser();
125 public SearchDialog searchDialog; 124 public SearchDialog searchDialog;
126 125
127 public Gui(EnigmaProfile profile, Set<EditableType> editableTypes) { 126 public Gui(Enigma enigma, Set<EditableType> editableTypes) {
128 this.editableTypes = editableTypes; 127 this.editableTypes = editableTypes;
129 this.controller = new GuiController(this, profile); 128 this.controller = new GuiController(this, enigma);
130 this.structurePanel = new StructurePanel(this); 129 this.structurePanel = new StructurePanel(this);
131 this.deobfPanel = new DeobfPanel(this); 130 this.deobfPanel = new DeobfPanel(this);
132 this.infoPanel = new IdentifierPanel(this); 131 this.infoPanel = new IdentifierPanel(this);
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java
index e8e4dbde..e1e8521a 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/GuiController.java
@@ -33,7 +33,6 @@ import javax.swing.SwingUtilities;
33import org.jetbrains.annotations.ApiStatus; 33import org.jetbrains.annotations.ApiStatus;
34 34
35import cuchaz.enigma.Enigma; 35import cuchaz.enigma.Enigma;
36import cuchaz.enigma.EnigmaProfile;
37import cuchaz.enigma.EnigmaProject; 36import cuchaz.enigma.EnigmaProject;
38import cuchaz.enigma.analysis.ClassImplementationsTreeNode; 37import cuchaz.enigma.analysis.ClassImplementationsTreeNode;
39import cuchaz.enigma.analysis.ClassInheritanceTreeNode; 38import cuchaz.enigma.analysis.ClassInheritanceTreeNode;
@@ -111,9 +110,9 @@ public class GuiController implements ClientPacketHandler {
111 110
112 private History<EntryReference<Entry<?>, Entry<?>>> referenceHistory; 111 private History<EntryReference<Entry<?>, Entry<?>>> referenceHistory;
113 112
114 public GuiController(Gui gui, EnigmaProfile profile) { 113 public GuiController(Gui gui, Enigma enigma) {
115 this.gui = gui; 114 this.gui = gui;
116 this.enigma = Enigma.builder().setProfile(profile).build(); 115 this.enigma = enigma;
117 } 116 }
118 117
119 public boolean isDirty() { 118 public boolean isDirty() {
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java
index 6dd89572..66402ad8 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/Main.java
@@ -27,6 +27,7 @@ import joptsimple.OptionSet;
27import joptsimple.OptionSpec; 27import joptsimple.OptionSpec;
28import joptsimple.ValueConverter; 28import joptsimple.ValueConverter;
29 29
30import cuchaz.enigma.Enigma;
30import cuchaz.enigma.EnigmaProfile; 31import cuchaz.enigma.EnigmaProfile;
31import cuchaz.enigma.gui.config.Themes; 32import cuchaz.enigma.gui.config.Themes;
32import cuchaz.enigma.gui.config.UiConfig; 33import cuchaz.enigma.gui.config.UiConfig;
@@ -101,8 +102,9 @@ public class Main {
101 } 102 }
102 103
103 EnigmaProfile parsedProfile = EnigmaProfile.read(options.valueOf(profile)); 104 EnigmaProfile parsedProfile = EnigmaProfile.read(options.valueOf(profile));
105 Enigma enigma = Enigma.builder().setProfile(parsedProfile).build();
104 106
105 I18n.setLanguage(UiConfig.getLanguage()); 107 I18n.setLanguage(UiConfig.getLanguage(), enigma.getServices());
106 108
107 // Provide fallback anti-aliasing for desktop environments the JRE doesn't recognize 109 // Provide fallback anti-aliasing for desktop environments the JRE doesn't recognize
108 if (Toolkit.getDefaultToolkit().getDesktopProperty("awt.font.desktophints") == null) { 110 if (Toolkit.getDefaultToolkit().getDesktopProperty("awt.font.desktophints") == null) {
@@ -117,7 +119,7 @@ public class Main {
117 119
118 Themes.setupTheme(); 120 Themes.setupTheme();
119 121
120 Gui gui = new Gui(parsedProfile, editables); 122 Gui gui = new Gui(enigma, editables);
121 GuiController controller = gui.getController(); 123 GuiController controller = gui.getController();
122 124
123 if (options.has("single-class-tree")) { 125 if (options.has("single-class-tree")) {
diff --git a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java
index 78050bb3..1789def1 100644
--- a/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java
+++ b/enigma-swing/src/main/java/cuchaz/enigma/gui/elements/MenuBar.java
@@ -524,7 +524,7 @@ public class MenuBar {
524 } 524 }
525 } 525 }
526 526
527 private static void prepareLanguagesMenu(JMenu languagesMenu) { 527 private void prepareLanguagesMenu(JMenu languagesMenu) {
528 ButtonGroup languageGroup = new ButtonGroup(); 528 ButtonGroup languageGroup = new ButtonGroup();
529 529
530 for (String lang : I18n.getAvailableLanguages()) { 530 for (String lang : I18n.getAvailableLanguages()) {
@@ -537,7 +537,7 @@ public class MenuBar {
537 537
538 languageButton.addActionListener(event -> { 538 languageButton.addActionListener(event -> {
539 UiConfig.setLanguage(lang); 539 UiConfig.setLanguage(lang);
540 I18n.setLanguage(lang); 540 I18n.setLanguage(lang, gui.getController().enigma.getServices());
541 LanguageUtil.dispatchLanguageChange(); 541 LanguageUtil.dispatchLanguageChange();
542 UiConfig.save(); 542 UiConfig.save();
543 }); 543 });