inspector: Show CSS pseudoclass names for node state

This is a better fit for showing CSS node state, since one
commonly looks at this information to devise CSS selectors,
where the CSS names are needed.
This commit is contained in:
Matthias Clasen 2016-01-24 10:58:32 -05:00
parent 33bb1af277
commit 761120a5e2

View File

@ -36,6 +36,7 @@
#include "gtkcsssectionprivate.h" #include "gtkcsssectionprivate.h"
#include "gtkcssstyleprivate.h" #include "gtkcssstyleprivate.h"
#include "gtkcssvalueprivate.h" #include "gtkcssvalueprivate.h"
#include "gtkcssselectorprivate.h"
#include "gtkliststore.h" #include "gtkliststore.h"
#include "gtksettings.h" #include "gtksettings.h"
#include "gtktreeview.h" #include "gtktreeview.h"
@ -374,30 +375,28 @@ strv_sort (char **strv)
static gchar * static gchar *
format_state_flags (GtkStateFlags state) format_state_flags (GtkStateFlags state)
{ {
GFlagsClass *fclass;
GString *str;
gint i;
str = g_string_new ("");
if (state) if (state)
{ {
fclass = g_type_class_ref (GTK_TYPE_STATE_FLAGS); GString *str;
for (i = 0; i < fclass->n_values; i++) gint i;
gboolean first = TRUE;
str = g_string_new ("");
for (i = 0; i < 31; i++)
{ {
if (state & fclass->values[i].value) if (state & (1 << i))
{ {
if (str->len) if (!first)
g_string_append (str, " | "); g_string_append (str, " | ");
g_string_append (str, fclass->values[i].value_nick); first = FALSE;
g_string_append (str, gtk_css_pseudoclass_name (1 << i));
} }
} }
g_type_class_unref (fclass); return g_string_free (str, FALSE);
} }
else
g_string_append (str, "normal");
return g_string_free (str, FALSE); return "";
} }
static void static void