[gtk/matthiasc/for-master] gtk-demo: Dark theme support for dnd demo
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/matthiasc/for-master] gtk-demo: Dark theme support for dnd demo
- Date: Sun, 9 Aug 2020 22:28:23 +0000 (UTC)
commit 42902085e59962aafba7554ed43845e771b945de
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Aug 9 17:36:41 2020 -0400
gtk-demo: Dark theme support for dnd demo
Add minimal dark theme support to the dnd demo,
by picking suitable default colors for our items.
demos/gtk-demo/dnd.c | 30 +++++++++++++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
---
diff --git a/demos/gtk-demo/dnd.c b/demos/gtk-demo/dnd.c
index 70ea875c1c..1aff3b1bcd 100644
--- a/demos/gtk-demo/dnd.c
+++ b/demos/gtk-demo/dnd.c
@@ -153,6 +153,30 @@ click_done (GtkGesture *gesture)
gtk_widget_insert_after (item, canvas, last_child);
}
+static gboolean
+theme_is_dark (void)
+{
+ GtkSettings *settings;
+ char *theme;
+ gboolean prefer_dark;
+ gboolean dark;
+
+ settings = gtk_settings_get_default ();
+ g_object_get (settings,
+ "gtk-theme-name", &theme,
+ "gtk-application-prefer-dark-theme", &prefer_dark,
+ NULL);
+
+ if ((strcmp (theme, "Adwaita") == 0 && prefer_dark) || strcmp (theme, "HighContrastInverse") == 0)
+ dark = TRUE;
+ else
+ dark = FALSE;
+
+ g_free (theme);
+
+ return dark;
+}
+
static void
canvas_item_init (CanvasItem *item)
{
@@ -180,7 +204,11 @@ canvas_item_init (CanvasItem *item)
gtk_widget_set_name (item->label, id);
g_free (id);
- gdk_rgba_parse (&rgba, "yellow");
+ if (theme_is_dark ())
+ gdk_rgba_parse (&rgba, "blue");
+ else
+ gdk_rgba_parse (&rgba, "yellow");
+
set_color (item, &rgba);
item->angle = 0;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]