css: Print selectors
authorMatthias Clasen <mclasen@redhat.com>
Thu, 23 Jan 2020 23:51:42 +0000 (18:51 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 24 Jan 2020 14:08:52 +0000 (09:08 -0500)
Add code that prints all the selectors when a theme
is loaded. #ifdefed out.

gtk/gtkcssprovider.c

index 6c25afae67aac5ecba7f4998d6b8cc4a0953a5d9..c8d3eb0656d53af10d0782340d713d314178800e 100644 (file)
@@ -978,15 +978,55 @@ gtk_css_provider_postprocess (GtkCssProvider *css_provider)
 
       ruleset = &g_array_index (priv->rulesets, GtkCssRuleset, i);
 
+
       _gtk_css_selector_tree_builder_add (builder,
                                          ruleset->selector,
                                          &ruleset->selector_match,
                                          ruleset);
     }
 
+#if 0
+  {
+    GString *str = g_string_new ("");
+    g_string_append_printf (str, "%d rules\n", priv->rulesets->len);
+
+    for (i = 0; i < priv->rulesets->len; i++)
+      {
+        GtkCssRuleset *ruleset;
+
+        ruleset = &g_array_index (priv->rulesets, GtkCssRuleset, i);
+
+        _gtk_css_selector_print (ruleset->selector, str);
+        g_string_append (str, "\n");
+      }
+
+    g_print ("%s\n", str->str);
+    g_string_free (str, TRUE);
+  }
+#endif
+
   priv->tree = _gtk_css_selector_tree_builder_build (builder);
   _gtk_css_selector_tree_builder_free (builder);
 
+#ifdef PRINT_SELECTORS 
+  {
+    GString *str = g_string_new ("");
+
+    for (i = 0; i < priv->rulesets->len; i++)
+      {
+        GtkCssRuleset *ruleset;
+
+        ruleset = &g_array_index (priv->rulesets, GtkCssRuleset, i);
+
+        _gtk_css_selector_print (ruleset->selector, str);
+        g_string_append (str, "\n");
+      }
+
+    g_print ("%s\n", str->str);
+    g_string_free (str, TRUE);
+  }
+#endif
+
 #ifndef VERIFY_TREE
   for (i = 0; i < priv->rulesets->len; i++)
     {