diff options
| author | 2017-06-07 08:29:37 +0100 | |
|---|---|---|
| committer | 2017-06-07 08:29:37 +0100 | |
| commit | ba5ffc258f6d58bf9d01226baea016db10cfd811 (patch) | |
| tree | 4fd3b77e619198a47d95ee55a742c8057dea591a /src/main/java/cuchaz/enigma/config/Themes.java | |
| parent | Add support for custom themes (#59) (diff) | |
| download | enigma-fork-ba5ffc258f6d58bf9d01226baea016db10cfd811.tar.gz enigma-fork-ba5ffc258f6d58bf9d01226baea016db10cfd811.tar.xz enigma-fork-ba5ffc258f6d58bf9d01226baea016db10cfd811.zip | |
Added theme switcher + dark theme (#60)
* Initial work on the color config
* Save and read config from file.+
* Allow changing the editor colors
* Remove the right margin
* Move config to the user's home dir
* Use Guava instead of Apache commons
* Add runtime theme switching, includes example "dark" theme.
* Rename dark theme as requested
* Small clean up
* Include suggestions from @Thog
Diffstat (limited to 'src/main/java/cuchaz/enigma/config/Themes.java')
| -rw-r--r-- | src/main/java/cuchaz/enigma/config/Themes.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/main/java/cuchaz/enigma/config/Themes.java b/src/main/java/cuchaz/enigma/config/Themes.java new file mode 100644 index 0000000..79c245b --- /dev/null +++ b/src/main/java/cuchaz/enigma/config/Themes.java | |||
| @@ -0,0 +1,66 @@ | |||
| 1 | package cuchaz.enigma.config; | ||
| 2 | |||
| 3 | import cuchaz.enigma.gui.Gui; | ||
| 4 | import cuchaz.enigma.gui.MinecraftSyntaxKit; | ||
| 5 | import cuchaz.enigma.gui.highlight.DeobfuscatedHighlightPainter; | ||
| 6 | import cuchaz.enigma.gui.highlight.ObfuscatedHighlightPainter; | ||
| 7 | import cuchaz.enigma.gui.highlight.OtherHighlightPainter; | ||
| 8 | import de.sciss.syntaxpane.DefaultSyntaxKit; | ||
| 9 | |||
| 10 | import java.awt.*; | ||
| 11 | import java.io.IOException; | ||
| 12 | |||
| 13 | public class Themes { | ||
| 14 | |||
| 15 | public static void setDefault(Gui gui) { | ||
| 16 | //TODO set to default | ||
| 17 | try { | ||
| 18 | Config.getInstance().reset(); | ||
| 19 | } catch (IOException e) { | ||
| 20 | e.printStackTrace(); | ||
| 21 | } | ||
| 22 | updateTheme(gui); | ||
| 23 | } | ||
| 24 | |||
| 25 | public static void setDark(Gui gui) { | ||
| 26 | //Based off colors found here: https://github.com/dracula/dracula-theme/ | ||
| 27 | Config.getInstance().obfuscatedColor = 0xFF5555; | ||
| 28 | Config.getInstance().obfuscatedHiglightAlpha = 0.3F; | ||
| 29 | Config.getInstance().obfuscatedColorOutline = 0xFF5555; | ||
| 30 | Config.getInstance().obfuscatedOutlineAlpha = 0.5F; | ||
| 31 | Config.getInstance().deobfuscatedColor = 0x50FA7B; | ||
| 32 | Config.getInstance().deobfuscatedHiglightAlpha = 0.3F; | ||
| 33 | Config.getInstance().deobfuscatedColorOutline = 0x50FA7B; | ||
| 34 | Config.getInstance().deobfuscatedOutlineAlpha = 0.5F; | ||
| 35 | Config.getInstance().otherColorOutline = 0xB4B4B4; | ||
| 36 | Config.getInstance().otherOutlineAlpha = 0.0F; | ||
| 37 | Config.getInstance().editorBackground = 0x282A36; | ||
| 38 | Config.getInstance().highlightColor = 0xFF79C6; | ||
| 39 | Config.getInstance().stringColor = 0xF1FA8C; | ||
| 40 | Config.getInstance().numberColor = 0xBD93F9; | ||
| 41 | Config.getInstance().operatorColor = 0xF8F8F2; | ||
| 42 | Config.getInstance().delimiterColor = 0xF8F8F2; | ||
| 43 | Config.getInstance().typeColor = 0xF8F8F2; | ||
| 44 | Config.getInstance().identifierColor = 0xF8F8F2; | ||
| 45 | Config.getInstance().defaultTextColor = 0xF8F8F2; | ||
| 46 | updateTheme(gui); | ||
| 47 | } | ||
| 48 | |||
| 49 | public static void updateTheme(Gui gui) { | ||
| 50 | try { | ||
| 51 | Config.getInstance().saveConfig(); | ||
| 52 | } catch (IOException e) { | ||
| 53 | e.printStackTrace(); | ||
| 54 | } | ||
| 55 | MinecraftSyntaxKit.invalidate(); | ||
| 56 | DefaultSyntaxKit.initKit(); | ||
| 57 | DefaultSyntaxKit.registerContentType("text/minecraft", MinecraftSyntaxKit.class.getName()); | ||
| 58 | gui.obfuscatedHighlightPainter = new ObfuscatedHighlightPainter(); | ||
| 59 | gui.deobfuscatedHighlightPainter = new DeobfuscatedHighlightPainter(); | ||
| 60 | gui.otherHighlightPainter = new OtherHighlightPainter(); | ||
| 61 | gui.editor.updateUI(); | ||
| 62 | gui.editor.setBackground(new Color(Config.getInstance().editorBackground)); | ||
| 63 | gui.getController().refreshCurrentClass(); | ||
| 64 | } | ||
| 65 | |||
| 66 | } | ||