summaryrefslogtreecommitdiff
path: root/gtk/inspector
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-12-07 12:42:37 -0500
committerMatthias Clasen <mclasen@redhat.com>2019-12-07 18:07:44 -0500
commitc89c652401c7933b1159b560d3618cd9ea56cce8 (patch)
tree82d7337d405601065c1f3c0f389f8b36c33b2361 /gtk/inspector
parentf0f57d156b014abbbec843d5306cfb03874ecee4 (diff)
downloadgtk+-c89c652401c7933b1159b560d3618cd9ea56cce8.tar.gz
inspector: Make the css tree respect inspected display
The display is used here to force reparsing the theme on the right settings object.
Diffstat (limited to 'gtk/inspector')
-rw-r--r--gtk/inspector/css-node-tree.c30
-rw-r--r--gtk/inspector/css-node-tree.h3
-rw-r--r--gtk/inspector/init.c3
-rw-r--r--gtk/inspector/window.c1
4 files changed, 21 insertions, 16 deletions
diff --git a/gtk/inspector/css-node-tree.c b/gtk/inspector/css-node-tree.c
index a95bb84092..11741e7c79 100644
--- a/gtk/inspector/css-node-tree.c
+++ b/gtk/inspector/css-node-tree.c
@@ -24,6 +24,7 @@
#include "css-node-tree.h"
#include "prop-editor.h"
+#include "window.h"
#include "gtktreemodelcssnode.h"
#include "gtktreeview.h"
@@ -222,27 +223,11 @@ gtk_inspector_css_node_tree_finalize (GObject *object)
}
static void
-ensure_css_sections (void)
-{
- GtkSettings *settings;
- gchar *theme_name;
-
- gtk_css_provider_set_keep_css_sections ();
-
- settings = gtk_settings_get_default ();
- g_object_get (settings, "gtk-theme-name", &theme_name, NULL);
- g_object_set (settings, "gtk-theme-name", theme_name, NULL);
- g_free (theme_name);
-}
-
-static void
gtk_inspector_css_node_tree_class_init (GtkInspectorCssNodeTreeClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
- ensure_css_sections ();
-
object_class->set_property = gtk_inspector_css_node_tree_set_property;
object_class->get_property = gtk_inspector_css_node_tree_get_property;
object_class->finalize = gtk_inspector_css_node_tree_finalize;
@@ -531,4 +516,17 @@ gtk_inspector_css_node_tree_get_node (GtkInspectorCssNodeTree *cnt)
return priv->node;
}
+void
+gtk_inspector_css_node_tree_set_display (GtkInspectorCssNodeTree *cnt,
+ GdkDisplay *display)
+{
+ GtkSettings *settings;
+ gchar *theme_name;
+
+ settings = gtk_settings_get_for_display (display);
+ g_object_get (settings, "gtk-theme-name", &theme_name, NULL);
+ g_object_set (settings, "gtk-theme-name", theme_name, NULL);
+ g_free (theme_name);
+}
+
// vim: set et sw=2 ts=2:
diff --git a/gtk/inspector/css-node-tree.h b/gtk/inspector/css-node-tree.h
index e1357a7dcb..881e433ce1 100644
--- a/gtk/inspector/css-node-tree.h
+++ b/gtk/inspector/css-node-tree.h
@@ -55,6 +55,9 @@ void gtk_inspector_css_node_tree_set_object (GtkInspectorCss
GObject *object);
GtkCssNode * gtk_inspector_css_node_tree_get_node (GtkInspectorCssNodeTree *cnt);
+void gtk_inspector_css_node_tree_set_display (GtkInspectorCssNodeTree *cnt,
+ GdkDisplay *display);
+
G_END_DECLS
diff --git a/gtk/inspector/init.c b/gtk/inspector/init.c
index 6c9230fca5..2681e62e81 100644
--- a/gtk/inspector/init.c
+++ b/gtk/inspector/init.c
@@ -46,6 +46,7 @@
#include "window.h"
#include "gtkmagnifierprivate.h"
+#include "gtkcssproviderprivate.h"
#include "gtkmodulesprivate.h"
@@ -96,6 +97,8 @@ gtk_inspector_init (void)
g_strfreev (paths);
g_io_module_scope_free (scope);
}
+
+ gtk_css_provider_set_keep_css_sections ();
}
// vim: set et sw=2 ts=2:
diff --git a/gtk/inspector/window.c b/gtk/inspector/window.c
index 2a80507977..2d82629124 100644
--- a/gtk/inspector/window.c
+++ b/gtk/inspector/window.c
@@ -274,6 +274,7 @@ gtk_inspector_window_constructed (GObject *object)
gtk_inspector_visual_set_display (GTK_INSPECTOR_VISUAL (iw->visual), iw->inspected_display);
gtk_inspector_general_set_display (GTK_INSPECTOR_GENERAL (iw->general), iw->inspected_display);
gtk_inspector_logs_set_display (GTK_INSPECTOR_LOGS (iw->logs), iw->inspected_display);
+ gtk_inspector_css_node_tree_set_display (GTK_INSPECTOR_CSS_NODE_TREE (iw->widget_css_node_tree), iw->inspected_display);
}
static void