Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2020-03-12 17:10:04 +0000
committerAlexander Kurtakov2020-03-12 18:39:28 +0000
commit593b5cd2a666c5f7e2b61577f5d656dab6306026 (patch)
tree2593d5f0812ca7b541cc36d7f792bfec0e0f45fc
parentc5cd5196ce6d290ce29426b4d7e79435df4fcc4b (diff)
downloadeclipse.platform.swt-593b5cd2a666c5f7e2b61577f5d656dab6306026.tar.gz
eclipse.platform.swt-593b5cd2a666c5f7e2b61577f5d656dab6306026.tar.xz
eclipse.platform.swt-593b5cd2a666c5f7e2b61577f5d656dab6306026.zip
Bug 561047 - Require Gtk 3.20+ as minimum
Drop css machinery for pre 3.20 Gtk. Change-Id: I703b8797a85e11cd46e96c5e5063eb684f59f207 Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_functional_gtk_pre_3_20.css13
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_pre_3_20.css15
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java43
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java6
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java9
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java9
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java4
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java3
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java17
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java18
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java21
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java3
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java5
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java17
15 files changed, 66 insertions, 133 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_functional_gtk_pre_3_20.css b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_functional_gtk_pre_3_20.css
deleted file mode 100644
index 4ed146c449..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_functional_gtk_pre_3_20.css
+++ /dev/null
@@ -1,13 +0,0 @@
-/* These CSS fixes have 'functinal' impact, no visual impact. E.g allow keyboard navigation in trees etc.. */
-.undershoot.top, .undershoot.right, .undershoot.bottom, .undershoot.lef {
- background-image: none;
-}
-
-@binding-set SWTTreeViewBinding {
- bind "Left" { "expand-collapse-cursor-row" (0,0,0)};
- bind "Right" {"expand-collapse-cursor-row" (0,1,0)};
-}
-
-GtkTreeView {
- gtk-key-bindings: SWTTreeViewBinding;
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_pre_3_20.css b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_pre_3_20.css
deleted file mode 100644
index 4b68e8a08b..0000000000
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_pre_3_20.css
+++ /dev/null
@@ -1,15 +0,0 @@
-/* These have an impact on visual aspects of SWT. Padding etc..
- There should not be hard-coded color fixes because this can break dark variants of themes.
- Instead either use OS.setDarkThemePreferred() if your theme has dark version or style manually via api */
-GtkToolbar {
- padding-top: 2px;
- padding-bottom: 2px;
-}
-
-GtkToolbar GtkButton {
- padding: 2px 4px 2px 4px;
-}
-
-GtkToolbar GtkMenuButton {
- padding: 1px 0px 1px 0px;
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
index 51918b63db..3717bc9ebb 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
@@ -724,11 +724,7 @@ private void overrideThemeValues () {
StringBuilder combinedCSS = new StringBuilder();
// Load functional CSS fixes. Such as keyboard functionality for some widgets.
- combinedCSS.append(load.apply(
- GTK.GTK_VERSION < OS.VERSION(3, 20, 0) ?
- "/org/eclipse/swt/internal/gtk/swt_functional_gtk_pre_3_20.css" :
- "/org/eclipse/swt/internal/gtk/swt_functional_gtk_3_20.css"
- , true));
+ combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_functional_gtk_3_20.css", true));
// By default, load CSS theme fixes to overcome things such as excessive padding that breaks SWT otherwise.
// Initially designed for Adwaita light/dark theme, but after investigation other themes (like Ubuntu's Ambiance + dark) seem to benefit from this also.
@@ -739,13 +735,9 @@ private void overrideThemeValues () {
// - These fixes should not contain any color information, otherwise it might break a light/dark variant of the theme.
// Color fixes should be put either into the theme itself or via swt user api.
if (System.getProperty("org.eclipse.swt.internal.gtk.noThemingFixes") == null) {
- if (GTK.GTK_VERSION >= OS.VERSION(3, 20, 0)) {
- combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_20.css", true));
- if (GTK.GTK_VERSION >= OS.VERSION(3, 24, 5)) {
- combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_24_5.css", true));
- }
- } else {
- combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_pre_3_20.css", true));
+ combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_20.css", true));
+ if (GTK.GTK_VERSION >= OS.VERSION(3, 24, 5)) {
+ combinedCSS.append(load.apply("/org/eclipse/swt/internal/gtk/swt_theming_fixes_gtk_3_24_5.css", true));
}
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
index 4223a23612..91d67c7e50 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
@@ -966,41 +966,34 @@ void setForegroundGdkRGBA (long handle, GdkRGBA rgba) {
long context = GTK.gtk_widget_get_style_context (handle);
GdkRGBA toSet = rgba == null ? display.COLOR_WIDGET_FOREGROUND_RGBA : rgba;
- String name, css;
+ String css;
String color = display.gtk_rgba_to_css_string(toSet);
int bits = SWT.CHECK | SWT.RADIO;
switch (style & bits) {
case SWT.CHECK:
- name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "checkbutton" : "GtkCheckButton";
- css = name + " {color: " + color + ";}";
- if (GTK.GTK_VERSION >= OS.VERSION(3, 20, 0)) {
- String checkColor;
- if (toggleButtonTheming) {
- GdkRGBA checkRGBA = rgba == null ? display.COLOR_TOGGLE_BUTTON_FOREGROUND_RGBA : rgba;
- checkColor = display.gtk_rgba_to_css_string(checkRGBA);
- } else {
- checkColor = display.gtk_rgba_to_css_string(toSet);
- }
- css += " check {color: " + checkColor + ";}";
+ css = "checkbutton {color: " + color + ";}";
+ String checkColor;
+ if (toggleButtonTheming) {
+ GdkRGBA checkRGBA = rgba == null ? display.COLOR_TOGGLE_BUTTON_FOREGROUND_RGBA : rgba;
+ checkColor = display.gtk_rgba_to_css_string(checkRGBA);
+ } else {
+ checkColor = display.gtk_rgba_to_css_string(toSet);
}
+ css += " check {color: " + checkColor + ";}";
break;
case SWT.RADIO:
- name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "radiobutton" : "GtkRadioButton";
- css = name + " {color: " + color + ";}";
- if (GTK.GTK_VERSION >= OS.VERSION(3, 20, 0)) {
- String radioColor;
- if (toggleButtonTheming) {
- GdkRGBA radioRGBA = rgba == null ? display.COLOR_TOGGLE_BUTTON_FOREGROUND_RGBA : rgba;
- radioColor = display.gtk_rgba_to_css_string(radioRGBA);
- } else {
- radioColor = display.gtk_rgba_to_css_string(toSet);
- }
- css += " radio {color: " + radioColor + ";}";
+ css = "radiobutton {color: " + color + ";}";
+ String radioColor;
+ if (toggleButtonTheming) {
+ GdkRGBA radioRGBA = rgba == null ? display.COLOR_TOGGLE_BUTTON_FOREGROUND_RGBA : rgba;
+ radioColor = display.gtk_rgba_to_css_string(radioRGBA);
+ } else {
+ radioColor = display.gtk_rgba_to_css_string(toSet);
}
+ css += " radio {color: " + radioColor + ";}";
break;
default:
- name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
- css = name + " {color: " + color + ";}";
+ css = "button {color: " + color + ";}";
}
// Cache foreground color
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
index f7a6b52986..517461f486 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
@@ -2192,10 +2192,8 @@ void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
// Set the selected background color
GdkRGBA selectedBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION).handle;
GdkRGBA selectedForeground = display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT).handle;
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "entry" : "GtkEntry";
- String selection = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? " selection" : ":selected";
- css += name + selection + " {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n";
- css += name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
+ css += "entry selection {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n";
+ css += "entry selection {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
// Cache background color
cssBackground = css;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
index dce460fbfe..4eaa7aaf33 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
@@ -4983,8 +4983,7 @@ private void _setBackground (Color color) {
void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
GdkRGBA selectedBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION).handle;
// Form background string
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? display.gtk_widget_class_get_css_name(handle)
- : display.gtk_widget_get_name(handle);
+ String name = display.gtk_widget_class_get_css_name(handle);
String css = name + " {background-color: " + display.gtk_rgba_to_css_string(rgba) + ";}\n"
+ name + ":selected" + " {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
@@ -5382,11 +5381,9 @@ void setForegroundGdkRGBA (long handle, GdkRGBA rgba) {
long context = GTK.gtk_widget_get_style_context (handle);
// Form foreground string
String color = display.gtk_rgba_to_css_string(toSet);
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? display.gtk_widget_class_get_css_name(handle)
- : display.gtk_widget_get_name(handle);
+ String name = display.gtk_widget_class_get_css_name(handle);
GdkRGBA selectedForeground = display.COLOR_LIST_SELECTION_TEXT_RGBA;
- String selection = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) &&
- !name.contains("treeview") ? " selection" : ":selected";
+ String selection = !name.contains("treeview") ? " selection" : ":selected";
String css = "* {color: " + color + ";}\n"
+ name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
index d430711368..2b9d271b80 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DateTime.java
@@ -1391,15 +1391,14 @@ void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
// "background-color" as their CSS property.
// Form background string
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? display.gtk_widget_class_get_css_name(handle)
- : display.gtk_widget_get_name(handle);
+ String name = display.gtk_widget_class_get_css_name(handle);
String css = name + " {background: " + display.gtk_rgba_to_css_string (rgba) + ";}\n" +
name + ":selected" + " {background: " + display.gtk_rgba_to_css_string(display.COLOR_LIST_SELECTION_RGBA) + ";}";
- // Cache background
- cssBackground = css;
+ // Cache background
+ cssBackground = css;
- // Apply background color and any cached foreground color
+ // Apply background color and any cached foreground color
String finalCss = display.gtk_css_create_css_color_string (cssBackground, cssForeground, SWT.BACKGROUND);
gtk_css_provider_load_from_css (context, finalCss);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
index e8f60258ad..3ffbfa70fa 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Spinner.java
@@ -935,9 +935,7 @@ void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
super.setBackgroundGdkRGBA(context, handle, rgba);
} else {
String color = display.gtk_rgba_to_css_string (background);
- String properties = " {background-image: -gtk-gradient (linear, 0 0, 0 1, color-stop(0, " + color + "), color-stop(1, " + color + "));}";
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "spinbutton" : "GtkSpinButton";
- String css = name + properties;
+ String css = "spinbutton {background-image: -gtk-gradient (linear, 0 0, 0 1, color-stop(0, " + color + "), color-stop(1, " + color + "));}";
cssBackground = css;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java
index 475bf14abc..e8e62854f3 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java
@@ -730,8 +730,7 @@ void reskinChildren (int flags) {
@Override
void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
// Form background string
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "notebook header" : "GtkNotebook.header";
- String css = name + " {background-color: " + display.gtk_rgba_to_css_string (rgba) + ";}";
+ String css = "notebook header {background-color: " + display.gtk_rgba_to_css_string (rgba) + ";}";
// Cache background
cssBackground = css;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
index e4a4522994..c1d08387ed 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
@@ -3376,14 +3376,13 @@ void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
background = rgba;
}
GdkRGBA selectedBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION).handle;
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "treeview" : "GtkTreeView";
- String css = name + " {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
- + name + ":selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
+ String css = "treeview {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"+
+ "treeview:selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
- // Cache background color
- cssBackground = css;
+ // Cache background color
+ cssBackground = css;
- // Apply background color and any foreground color
+ // Apply background color and any foreground color
String finalCss = display.gtk_css_create_css_color_string (cssBackground, cssForeground, SWT.BACKGROUND);
gtk_css_provider_load_from_css(context, finalCss);
}
@@ -3510,9 +3509,8 @@ public void setHeaderBackground(Color color) {
} else {
background = defaultBackground();
}
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
// background works for 3.18 and later, background-color only as of 3.20
- String css = name + " {background: " + display.gtk_rgba_to_css_string(background) + ";}\n";
+ String css = "button {background: " + display.gtk_rgba_to_css_string(background) + ";}\n";
headerCSSBackground = css;
String finalCss = display.gtk_css_create_css_color_string (headerCSSBackground, headerCSSForeground, SWT.BACKGROUND);
for (TableColumn column : columns) {
@@ -3567,8 +3565,7 @@ public void setHeaderForeground (Color color) {
} else {
foreground = display.COLOR_LIST_FOREGROUND_RGBA;
}
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
- String css = name + " {color: " + display.gtk_rgba_to_css_string(foreground) + ";}";
+ String css = "button {color: " + display.gtk_rgba_to_css_string(foreground) + ";}";
headerCSSForeground = css;
String finalCss = display.gtk_css_create_css_color_string (headerCSSBackground, headerCSSForeground, SWT.FOREGROUND);
for (TableColumn column : columns) {
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
index 90bd707f7d..6da67feb98 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
@@ -2210,20 +2210,16 @@ void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
GdkRGBA selectedForeground = display.getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT).handle;
String css;
String properties;
- String name;
- String selection = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? " selection" : ":selected";
if ((style & SWT.SINGLE) != 0) {
- name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "entry" : "GtkEntry";
- properties = " {background: " + display.gtk_rgba_to_css_string(background) + ";}\n"
- + name + ":selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n"
- + name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
+ properties = "entry {background: " + display.gtk_rgba_to_css_string(background) + ";}\n"
+ + "entry:selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n"
+ + "entry selection {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
} else {
- name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "textview text" : "GtkTextView";
- properties = " {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
- + name + ":selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n"
- + name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
+ properties = "textview {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
+ + "textview text:selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}\n"
+ + "textview text selection {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
}
- css = name + properties;
+ css = properties;
// Cache background color
cssBackground = css;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java
index 2f126959e5..1268b34280 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java
@@ -588,13 +588,12 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
@Override
void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
// Form background string
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "toolbar" : "GtkToolbar";
- String css = name + " {background-color: " + display.gtk_rgba_to_css_string(rgba) + "}";
+ String css = "toolbar {background-color: " + display.gtk_rgba_to_css_string(rgba) + "}";
- // Cache background color
- this.cssBackground = css;
+ // Cache background color
+ this.cssBackground = css;
- // Apply background color and any foreground color
+ // Apply background color and any foreground color
String finalCss = display.gtk_css_create_css_color_string (this.cssBackground, this.cssForeground, SWT.BACKGROUND);
gtk_css_provider_load_from_css(context, finalCss);
}
@@ -616,17 +615,15 @@ void setForegroundGdkRGBA (long handle, GdkRGBA rgba) {
long context = GTK.gtk_widget_get_style_context (handle);
// Form foreground string
String color = display.gtk_rgba_to_css_string(toSet);
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? display.gtk_widget_class_get_css_name(handle)
- : display.gtk_widget_get_name(handle);
+ String name = display.gtk_widget_class_get_css_name(handle);
GdkRGBA selectedForeground = display.COLOR_LIST_SELECTION_TEXT_RGBA;
- String selection = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? " selection" : ":selected";
String css = "* {color: " + color + ";}\n"
- + name + selection + " {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
+ + name + " selection {color: " + display.gtk_rgba_to_css_string(selectedForeground) + ";}";
- // Cache foreground color
- this.cssForeground = css;
+ // Cache foreground color
+ this.cssForeground = css;
- // Apply foreground color and any cached background color
+ // Apply foreground color and any cached background color
String finalCss = display.gtk_css_create_css_color_string (this.cssBackground, this.cssForeground, SWT.FOREGROUND);
gtk_css_provider_load_from_css(context, finalCss);
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java
index 9aae4dcd43..1b07d65527 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolTip.java
@@ -285,8 +285,7 @@ void createHandle (int index) {
Color background = display.getSystemColor (SWT.COLOR_INFO_BACKGROUND);
long context = GTK.gtk_widget_get_style_context (handle);
GdkRGBA bgRGBA = background.handle;
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "window" : "GtkWindow";
- String css = name + " {background-color: " + display.gtk_rgba_to_css_string(bgRGBA) + ";}";
+ String css = "window {background-color: " + display.gtk_rgba_to_css_string(bgRGBA) + ";}";
gtk_css_provider_load_from_css (context, css);
GTK.gtk_style_context_invalidate (context);
GTK.gtk_window_set_type_hint (handle, GDK.GDK_WINDOW_TYPE_HINT_TOOLTIP);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
index 1ba12ae76d..5b244d8001 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
@@ -872,14 +872,13 @@ private void setTrackerBackground(boolean opaque) {
} else if (opaque == cachedBackgroundIsOpaque.booleanValue()) {
return;
}
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "window" : "GtkWindow";
String css;
if (opaque) {
GTK.gtk_widget_set_opacity (overlay, 1.0);
- css = name + " {background-color: rgb(0,0,0);}";
+ css = "window {background-color: rgb(0,0,0);}";
} else {
GTK.gtk_widget_set_opacity (overlay, 0.0);
- css = name + " { "
+ css = "window { "
+ "border-top-color: transparent;"
+ "border-left-color: transparent;"
+ "border-right-color: transparent;"
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
index 1599ded0d0..76bee3fd0b 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
@@ -3499,14 +3499,13 @@ void setBackgroundGdkRGBA (long context, long handle, GdkRGBA rgba) {
background = rgba;
}
GdkRGBA selectedBackground = display.getSystemColor(SWT.COLOR_LIST_SELECTION).handle;
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "treeview" : "GtkTreeView";
- String css = name + " {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
- + name + ":selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
+ String css = "treeview {background-color: " + display.gtk_rgba_to_css_string(background) + ";}\n"
+ + "treeview:selected {background-color: " + display.gtk_rgba_to_css_string(selectedBackground) + ";}";
- // Cache background color
- cssBackground = css;
+ // Cache background color
+ cssBackground = css;
- // Apply background color and any foreground color
+ // Apply background color and any foreground color
String finalCss = display.gtk_css_create_css_color_string (cssBackground, cssForeground, SWT.BACKGROUND);
gtk_css_provider_load_from_css(context, finalCss);
}
@@ -3634,9 +3633,8 @@ public void setHeaderBackground (Color color) {
} else {
background = defaultBackground();
}
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
// background works for 3.18 and later, background-color only as of 3.20
- String css = name + " {background: " + display.gtk_rgba_to_css_string(background) + ";}\n";
+ String css = "button {background: " + display.gtk_rgba_to_css_string(background) + ";}\n";
headerCSSBackground = css;
String finalCss = display.gtk_css_create_css_color_string (headerCSSBackground, headerCSSForeground, SWT.BACKGROUND);
for (TreeColumn column : columns) {
@@ -3691,8 +3689,7 @@ public void setHeaderForeground (Color color) {
} else {
foreground = display.COLOR_LIST_FOREGROUND_RGBA;
}
- String name = GTK.GTK_VERSION >= OS.VERSION(3, 20, 0) ? "button" : "GtkButton";
- String css = name + " {color: " + display.gtk_rgba_to_css_string(foreground) + ";}";
+ String css = "button {color: " + display.gtk_rgba_to_css_string(foreground) + ";}";
headerCSSForeground = css;
String finalCss = display.gtk_css_create_css_color_string (headerCSSBackground, headerCSSForeground, SWT.FOREGROUND);
for (TreeColumn column : columns) {

Back to the top