Created
May 29, 2019 17:38
-
-
Save roblabla/9d9d0bd3ffc156f5a494bdab02b2c25e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 80831c0d3902e2d7b8ed975bce8eacf6d3ccb4dc Mon Sep 17 00:00:00 2001 | |
From: roblabla <unfiltered@roblab.la> | |
Date: Wed, 29 May 2019 19:36:44 +0200 | |
Subject: [PATCH] Add darcula support | |
--- | |
Ghidra/Framework/Docking/Module.manifest | 1 + | |
Ghidra/Framework/Docking/build.gradle | 1 + | |
.../src/main/java/docking/widgets/AbstractGCellRenderer.java | 5 +++-- | |
.../src/main/java/docking/widgets/filter/FilterTextField.java | 2 +- | |
.../src/main/java/docking/widgets/table/GTableHeaderRenderer.java | 8 ++++---- | |
.../java/ghidra/docking/util/DockingWindowsLookAndFeelUtils.java | 8 +++++--- | |
6 files changed, 15 insertions(+), 10 deletions(-) | |
diff --git a/Ghidra/Framework/Docking/Module.manifest b/Ghidra/Framework/Docking/Module.manifest | |
index 301420ac..5d3de509 100644 | |
--- a/Ghidra/Framework/Docking/Module.manifest | |
+++ b/Ghidra/Framework/Docking/Module.manifest | |
@@ -1,3 +1,4 @@ | |
MODULE FILE LICENSE: lib/timingframework-1.0.jar BSD | |
MODULE FILE LICENSE: lib/jcalendar-1.4.jar LGPL 2.1 | |
MODULE FILE LICENSE: lib/javahelp-2.0.05.jar GPL 2 With Classpath Exception | |
+MODULE FILE LICENSE: lib/darcula-2018.2.jar Apache License 2.0 | |
diff --git a/Ghidra/Framework/Docking/build.gradle b/Ghidra/Framework/Docking/build.gradle | |
index 84558ad5..5e5a5b8d 100644 | |
--- a/Ghidra/Framework/Docking/build.gradle | |
+++ b/Ghidra/Framework/Docking/build.gradle | |
@@ -9,6 +9,7 @@ eclipse.project.name = 'Framework Docking' | |
dependencies { | |
compile project(':Generic') | |
compile 'net.java.dev.timingframework:timingframework:1.0' | |
+ compile 'com.bulenkov:darcula:2018.2' | |
compile 'com.toedter:jcalendar:1.4' | |
diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/AbstractGCellRenderer.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/AbstractGCellRenderer.java | |
index 0a3714cd..a64603a6 100644 | |
--- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/AbstractGCellRenderer.java | |
+++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/AbstractGCellRenderer.java | |
@@ -32,7 +32,8 @@ import docking.widgets.label.GDHtmlLabel; | |
*/ | |
public abstract class AbstractGCellRenderer extends GDHtmlLabel { | |
- private static final Color ALTERNATE_BACKGROUND_COLOR = new Color(237, 243, 254); | |
+ private static final Color ALTERNATE_BACKGROUND_COLOR = new Color(0x32, 0x32, 0x32); | |
+ private static final Color REGULAR_BACKGROUND_COLOR = new Color(0x2b, 0x2b, 0x2b); | |
/** Allows the user to disable alternating row colors on JLists & JTables */ | |
private static final String DISABLE_ALTERNATING_ROW_COLORS_PROPERTY = | |
@@ -163,7 +164,7 @@ public abstract class AbstractGCellRenderer extends GDHtmlLabel { | |
protected static Color getBackgroundColorForRow(int row) { | |
if ((row & 1) == 1) { | |
- return Color.WHITE; | |
+ return REGULAR_BACKGROUND_COLOR; | |
} | |
return ALTERNATE_BACKGROUND_COLOR; | |
} | |
diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/filter/FilterTextField.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/filter/FilterTextField.java | |
index 6850c054..30313566 100644 | |
--- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/filter/FilterTextField.java | |
+++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/filter/FilterTextField.java | |
@@ -42,7 +42,7 @@ public class FilterTextField extends JPanel { | |
private static final int FLASH_FREQUENCY_MS = 250; | |
private static Color FLASH_BACKGROUND_COLOR = Color.WHITE; | |
- private static Color FILTERED_BACKGROUND_COLOR = Color.YELLOW; | |
+ private static Color FILTERED_BACKGROUND_COLOR = new Color(0x11, 0x11, 0x11); | |
/*package*/ static Color UNEDITABLE_BACKGROUND_COLOR = Color.LIGHT_GRAY; | |
private Color noFlashColor; | |
diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableHeaderRenderer.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableHeaderRenderer.java | |
index 778efa24..eea383b1 100644 | |
--- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableHeaderRenderer.java | |
+++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/table/GTableHeaderRenderer.java | |
@@ -38,10 +38,10 @@ import resources.icons.TranslateIcon; | |
public class GTableHeaderRenderer extends JPanel implements TableCellRenderer { | |
private static final int PADDING_FOR_COLUMN_NUMBER = 10; | |
- private static final Color PRIMARY_SORT_GRADIENT_START = new Color(205, 227, 244); | |
- private static final Color PRIMARY_SORT_GRADIENT_END = new Color(126, 186, 233); | |
- private static final Color DEFAULT_GRADIENT_START = Color.WHITE; | |
- private static final Color DEFAULT_GRADIENT_END = new Color(215, 215, 215); | |
+ private static final Color PRIMARY_SORT_GRADIENT_START = new Color(0x5B, 0x67, 0x74); | |
+ private static final Color PRIMARY_SORT_GRADIENT_END = new Color(0x52, 0x52, 0x52); | |
+ private static final Color DEFAULT_GRADIENT_START = new Color(0x3B, 0x47, 0x54); | |
+ private static final Color DEFAULT_GRADIENT_END = new Color(0x32, 0x32, 0x32); | |
private static final Icon UP_ICON = | |
ResourceManager.getScaledIcon(Icons.SORT_ASCENDING_ICON, 14, 14); | |
diff --git a/Ghidra/Framework/Docking/src/main/java/ghidra/docking/util/DockingWindowsLookAndFeelUtils.java b/Ghidra/Framework/Docking/src/main/java/ghidra/docking/util/DockingWindowsLookAndFeelUtils.java | |
index 121a3b0d..fa5df72d 100644 | |
--- a/Ghidra/Framework/Docking/src/main/java/ghidra/docking/util/DockingWindowsLookAndFeelUtils.java | |
+++ b/Ghidra/Framework/Docking/src/main/java/ghidra/docking/util/DockingWindowsLookAndFeelUtils.java | |
@@ -30,6 +30,9 @@ import ghidra.framework.Platform; | |
import ghidra.framework.preferences.Preferences; | |
import ghidra.util.*; | |
+import com.bulenkov.darcula.DarculaLaf; | |
+import javax.swing.plaf.basic.BasicLookAndFeel; | |
+ | |
/** | |
* A utility class to manage LookAndFeel (LaF) settings. | |
*/ | |
@@ -157,9 +160,8 @@ public class DockingWindowsLookAndFeelUtils { | |
throws ClassNotFoundException, InstantiationException, IllegalAccessException, | |
UnsupportedLookAndFeelException { | |
- String lookAndFeelClassName = findLookAndFeelClassName(lookAndFeelName); | |
- UIManager.setLookAndFeel(lookAndFeelClassName); | |
- fixupLookAndFeelIssues(); | |
+ BasicLookAndFeel dracula = new DarculaLaf(); | |
+ UIManager.setLookAndFeel(dracula); | |
} | |
private static String findLookAndFeelClassName(String lookAndFeelName) { | |
-- | |
2.16.2 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment