From c65069ab8a642a4ebdf7071e33014f8933caf458 Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Mon, 10 Dec 2018 19:11:14 -0500 Subject: Fix cursor and selection highlight color when using the dark theme --- src/main/java/cuchaz/enigma/config/Config.java | 8 +++++++- .../cuchaz/enigma/gui/highlight/SelectionHighlightPainter.java | 4 +++- src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java | 6 ++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/cuchaz/enigma/config/Config.java b/src/main/java/cuchaz/enigma/config/Config.java index 47bd0a7f..47b55066 100644 --- a/src/main/java/cuchaz/enigma/config/Config.java +++ b/src/main/java/cuchaz/enigma/config/Config.java @@ -64,6 +64,7 @@ public class Config { public void apply(Config config) { switch (this) { case DEFAULT: + //Defaults found here: https://github.com/Sciss/SyntaxPane/blob/122da367ff7a5d31627a70c62a48a9f0f4f85a0a/src/main/resources/de/sciss/syntaxpane/defaultsyntaxkit/config.properties#L139 config.lineNumbersForeground = 0x333300; config.lineNumbersBackground = 0xEEEEFF; config.lineNumbersSelected = 0xCCCCEE; @@ -76,6 +77,8 @@ public class Config { config.otherColorOutline = new AlphaColorEntry(0xB4B4B4, 1.0f); config.editorBackground = 0xFFFFFF; config.highlightColor = 0x3333EE; + config.caretColor = 0x000000; + config.selectionHighlightColor = 0x000000; config.stringColor = 0xCC6600; config.numberColor = 0x999933; config.operatorColor = 0x000000; @@ -98,6 +101,8 @@ public class Config { config.otherColorOutline = new AlphaColorEntry(0xB4B4B4, 0.0f); config.editorBackground = 0x282A36; config.highlightColor = 0xFF79C6; + config.caretColor = 0xF8F8F2; + config.selectionHighlightColor = 0xF8F8F2; config.stringColor = 0xF1FA8C; config.numberColor = 0xBD93F9; config.operatorColor = 0xF8F8F2; @@ -125,9 +130,10 @@ public class Config { public AlphaColorEntry deobfuscatedColorOutline; public AlphaColorEntry otherColorOutline; - //Defaults found here: https://github.com/Sciss/SyntaxPane/blob/122da367ff7a5d31627a70c62a48a9f0f4f85a0a/src/main/resources/de/sciss/syntaxpane/defaultsyntaxkit/config.properties#L139 public Integer editorBackground; public Integer highlightColor; + public Integer caretColor; + public Integer selectionHighlightColor; public Integer stringColor; public Integer numberColor; diff --git a/src/main/java/cuchaz/enigma/gui/highlight/SelectionHighlightPainter.java b/src/main/java/cuchaz/enigma/gui/highlight/SelectionHighlightPainter.java index 5cbeabc0..81a70a92 100644 --- a/src/main/java/cuchaz/enigma/gui/highlight/SelectionHighlightPainter.java +++ b/src/main/java/cuchaz/enigma/gui/highlight/SelectionHighlightPainter.java @@ -11,6 +11,8 @@ package cuchaz.enigma.gui.highlight; +import cuchaz.enigma.config.Config; + import javax.swing.text.Highlighter; import javax.swing.text.JTextComponent; import java.awt.*; @@ -22,7 +24,7 @@ public class SelectionHighlightPainter implements Highlighter.HighlightPainter { // draw a thick border Graphics2D g2d = (Graphics2D) g; Rectangle bounds = BoxHighlightPainter.getBounds(text, start, end); - g2d.setColor(Color.black); + g2d.setColor(new Color(Config.getInstance().selectionHighlightColor)); g2d.setStroke(new BasicStroke(2.0f)); g2d.drawRoundRect(bounds.x, bounds.y, bounds.width, bounds.height, 4, 4); } diff --git a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java index ffceae12..9b016313 100644 --- a/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java +++ b/src/main/java/cuchaz/enigma/gui/panels/PanelEditor.java @@ -1,5 +1,6 @@ package cuchaz.enigma.gui.panels; +import cuchaz.enigma.config.Config; import cuchaz.enigma.gui.BrowserCaret; import cuchaz.enigma.gui.Gui; @@ -68,4 +69,9 @@ public class PanelEditor extends JEditorPane { } }); } + + @Override + public Color getCaretColor() { + return new Color(Config.getInstance().caretColor); + } } -- cgit v1.2.3