TEA Console automatic dark theme support
The TEA Console text colors now change automatically with dark theme to
avoid unreadable text.
Change-Id: I4b87b9653ad692a2772bfa8914a885e9fdeb675f
diff --git a/org.eclipse.tea.core.ui/META-INF/MANIFEST.MF b/org.eclipse.tea.core.ui/META-INF/MANIFEST.MF
index 3830c52..4ba325d 100644
--- a/org.eclipse.tea.core.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.tea.core.ui/META-INF/MANIFEST.MF
@@ -64,4 +64,5 @@
OSGI-INF/org.eclipse.tea.core.ui.internal.listeners.EventBrokerBridge.xml
Bundle-ActivationPolicy: lazy
Import-Package: javax.annotation;version="1.2.0",
+ org.eclipse.e4.ui.css.swt.theme,
javax.inject;version="1.0.0"
diff --git a/org.eclipse.tea.core.ui/src/org/eclipse/tea/core/ui/TaskingConsole.java b/org.eclipse.tea.core.ui/src/org/eclipse/tea/core/ui/TaskingConsole.java
index 015dc3a..bae3859 100644
--- a/org.eclipse.tea.core.ui/src/org/eclipse/tea/core/ui/TaskingConsole.java
+++ b/org.eclipse.tea.core.ui/src/org/eclipse/tea/core/ui/TaskingConsole.java
@@ -12,6 +12,7 @@
import java.io.PrintStream;
+import org.eclipse.e4.ui.css.swt.theme.IThemeEngine;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Display;
@@ -35,6 +36,7 @@
* If this class is used outside the IDE, all output goes to {@code System.out}
* or {@code System.err}.
*/
+@SuppressWarnings("restriction")
@Component(service = TaskingLog.class)
@TaskingLogQualifier(headless = false)
public class TaskingConsole extends TaskingLog {
@@ -86,7 +88,11 @@
}
if (config.useColors) {
- if (config.useDarkColors) {
+
+ boolean isDarkTheme = ((IThemeEngine) Display.getDefault().getData("org.eclipse.e4.ui.css.swt.theme"))
+ .getActiveTheme().getLabel().equals("Dark");
+
+ if (config.useDarkColors || isDarkTheme) {
sInfo.setColor(new Color(null, 164, 164, 164));
sStd.setColor(new Color(null, 255, 255, 255));
sWrn.setColor(new Color(null, 255, 190, 50));
diff --git a/org.eclipse.tea.core.ui/src/org/eclipse/tea/core/ui/config/TaskingConsoleConfig.java b/org.eclipse.tea.core.ui/src/org/eclipse/tea/core/ui/config/TaskingConsoleConfig.java
index da2186a..49f9092 100644
--- a/org.eclipse.tea.core.ui/src/org/eclipse/tea/core/ui/config/TaskingConsoleConfig.java
+++ b/org.eclipse.tea.core.ui/src/org/eclipse/tea/core/ui/config/TaskingConsoleConfig.java
@@ -21,7 +21,7 @@
@TaskingConfigProperty(description = "Use colored streams")
public Boolean useColors = true;
- @TaskingConfigProperty(description = "Adapt colors to dark theme")
+ @TaskingConfigProperty(description = "Force colors to dark theme")
public Boolean useDarkColors = false;
}