From ef3532566332d96914a44641b22f0cb628a8e109 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Wed, 7 Jun 2017 15:42:45 +0100 Subject: Add dark LAF --- src/main/java/cuchaz/enigma/Main.java | 6 ++---- src/main/java/cuchaz/enigma/config/Config.java | 6 ++++-- src/main/java/cuchaz/enigma/config/Themes.java | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 6 deletions(-) (limited to 'src/main/java/cuchaz/enigma') diff --git a/src/main/java/cuchaz/enigma/Main.java b/src/main/java/cuchaz/enigma/Main.java index 688a55e..339b15e 100644 --- a/src/main/java/cuchaz/enigma/Main.java +++ b/src/main/java/cuchaz/enigma/Main.java @@ -11,18 +11,16 @@ package cuchaz.enigma; -import cuchaz.enigma.config.Config; +import cuchaz.enigma.config.Themes; import cuchaz.enigma.gui.Gui; -import javax.swing.*; import java.io.File; import java.util.jar.JarFile; public class Main { public static void main(String[] args) throws Exception { - if (Config.getInstance().useSystemLAF) - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + Themes.setLAF(); Gui gui = new Gui(); // parse command-line args diff --git a/src/main/java/cuchaz/enigma/config/Config.java b/src/main/java/cuchaz/enigma/config/Config.java index 75ced70..4441468 100644 --- a/src/main/java/cuchaz/enigma/config/Config.java +++ b/src/main/java/cuchaz/enigma/config/Config.java @@ -40,7 +40,8 @@ public class Config { public Integer identifierColor; public Integer defaultTextColor; - public boolean useSystemLAF = true; + public boolean useSystemLAF; + public boolean useDraculaLAF; private Config() { gson = new GsonBuilder() @@ -95,6 +96,7 @@ public class Config { this.identifierColor = 0x000000; this.defaultTextColor = 0x000000; this.useSystemLAF = true; + this.useDraculaLAF = false; this.saveConfig(); } @@ -113,4 +115,4 @@ public class Config { public static Config getInstance() { return INSTANCE; } -} \ No newline at end of file +} diff --git a/src/main/java/cuchaz/enigma/config/Themes.java b/src/main/java/cuchaz/enigma/config/Themes.java index 04ecfde..4b1f478 100644 --- a/src/main/java/cuchaz/enigma/config/Themes.java +++ b/src/main/java/cuchaz/enigma/config/Themes.java @@ -1,5 +1,6 @@ package cuchaz.enigma.config; +import com.bulenkov.darcula.DarculaLaf; import cuchaz.enigma.gui.Gui; import cuchaz.enigma.gui.MinecraftSyntaxKit; import cuchaz.enigma.gui.highlight.DeobfuscatedHighlightPainter; @@ -7,6 +8,7 @@ import cuchaz.enigma.gui.highlight.ObfuscatedHighlightPainter; import cuchaz.enigma.gui.highlight.OtherHighlightPainter; import de.sciss.syntaxpane.DefaultSyntaxKit; +import javax.swing.*; import java.awt.*; import java.io.IOException; @@ -43,6 +45,7 @@ public class Themes { Config.getInstance().typeColor = 0xF8F8F2; Config.getInstance().identifierColor = 0xF8F8F2; Config.getInstance().defaultTextColor = 0xF8F8F2; + Config.getInstance().useDraculaLAF = true; updateTheme(gui); } @@ -60,7 +63,20 @@ public class Themes { gui.otherHighlightPainter = new OtherHighlightPainter(); gui.editor.updateUI(); gui.editor.setBackground(new Color(Config.getInstance().editorBackground)); + setLAF(); + SwingUtilities.updateComponentTreeUI(gui.getFrame()); gui.getController().refreshCurrentClass(); } + public static void setLAF(){ + try { + if (Config.getInstance().useDraculaLAF){ + UIManager.setLookAndFeel(new DarculaLaf()); + } else if (Config.getInstance().useSystemLAF) + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Exception e){ + throw new Error("Failed to set LAF", e); + } + } + } -- cgit v1.2.3