static void gstyle_color_panel_actions_toggle_page (GSimpleAction *action, GVariant *variant, gpointer user_data) { GstyleColorPanel *self = (GstyleColorPanel *)user_data; g_autoptr (GVariant) value = NULL; g_autofree gchar *page_name = NULL; const gchar *name; gboolean state; g_assert (GSTYLE_IS_COLOR_PANEL (self)); value = g_action_get_state (G_ACTION (action)); state = g_variant_get_boolean (value); name = g_action_get_name(G_ACTION (action)); if (!g_str_has_prefix (name, "toggle-")) return; page_name = g_strdup (&name [7]); g_simple_action_set_state (action, g_variant_new_boolean (!state)); if (!state) { _gstyle_color_panel_update_prefs_page (self, page_name); gtk_stack_set_visible_child_name (self->prefs_stack, page_name); } gstyle_slidein_reveal_slide (GSTYLE_SLIDEIN (self->prefs_slidein), !gstyle_slidein_get_revealed (GSTYLE_SLIDEIN (self->prefs_slidein))); }
static void gstyle_slidein_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GstyleSlidein *self = GSTYLE_SLIDEIN (object); switch (prop_id) { case PROP_DIRECTION_TYPE: g_value_set_enum (value, gstyle_slidein_get_direction_type (self)); break; case PROP_DURATION: g_value_set_double (value, gstyle_slidein_get_duration (self)); break; case PROP_INTERPOLATE_SIZE: g_value_set_boolean (value, gstyle_slidein_get_interpolate_size (self)); break; case PROP_REVEALED: g_value_set_boolean (value, gstyle_slidein_get_revealed (self)); break; case PROP_SLIDE_FRACTION: g_value_set_double (value, gstyle_slidein_get_slide_fraction (self)); break; case PROP_SLIDE_MARGIN: g_value_set_uint (value, gstyle_slidein_get_slide_margin (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }