diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-04-17 00:20:09 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-04-17 10:57:36 -0400 |
commit | df1816a29cb5e7b37494aaf7f92fcd6bba98e7ef (patch) | |
tree | 964c89f35e269b545b0b5d531cc66659a591f6f6 /gtk/gtkbutton.c | |
parent | fdbbef863dd34211311016eaaf58ae4767e9f409 (diff) | |
download | gtk+-df1816a29cb5e7b37494aaf7f92fcd6bba98e7ef.tar.gz |
button: Drop relief
We are only using this as a boolean, so change it
to a boolean property named has-frame.
Diffstat (limited to 'gtk/gtkbutton.c')
-rw-r--r-- | gtk/gtkbutton.c | 75 |
1 files changed, 34 insertions, 41 deletions
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index 6ad1fb6304..b1be03fa9f 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -102,7 +102,7 @@ enum { enum { PROP_0, PROP_LABEL, - PROP_RELIEF, + PROP_HAS_FRAME, PROP_USE_UNDERLINE, PROP_ICON_NAME, @@ -228,13 +228,12 @@ gtk_button_class_init (GtkButtonClass *klass) FALSE, GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY); - props[PROP_RELIEF] = - g_param_spec_enum ("relief", - P_("Border relief"), - P_("The border relief style"), - GTK_TYPE_RELIEF_STYLE, - GTK_RELIEF_NORMAL, - GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY); + props[PROP_HAS_FRAME] = + g_param_spec_boolean ("has-frame", + P_("Has Frame"), + P_("Whether the button has a frame"), + TRUE, + GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY); props[PROP_ICON_NAME] = g_param_spec_string ("icon-name", @@ -484,8 +483,8 @@ gtk_button_set_property (GObject *object, case PROP_LABEL: gtk_button_set_label (button, g_value_get_string (value)); break; - case PROP_RELIEF: - gtk_button_set_relief (button, g_value_get_enum (value)); + case PROP_HAS_FRAME: + gtk_button_set_has_frame (button, g_value_get_boolean (value)); break; case PROP_USE_UNDERLINE: gtk_button_set_use_underline (button, g_value_get_boolean (value)); @@ -519,8 +518,8 @@ gtk_button_get_property (GObject *object, case PROP_LABEL: g_value_set_string (value, gtk_button_get_label (button)); break; - case PROP_RELIEF: - g_value_set_enum (value, gtk_button_get_relief (button)); + case PROP_HAS_FRAME: + g_value_set_boolean (value, gtk_button_get_has_frame (button)); break; case PROP_USE_UNDERLINE: g_value_set_boolean (value, priv->use_underline); @@ -641,51 +640,45 @@ gtk_button_new_with_mnemonic (const gchar *label) } /** - * gtk_button_set_relief: - * @button: The #GtkButton you want to set relief styles of - * @relief: The GtkReliefStyle as described above + * gtk_Button_set_has_frame: + * @button: a #GtkButton + * @has_frame: whether the button should have a visible frame * - * Sets the relief style of the edges of the given #GtkButton widget. - * Two styles exist, %GTK_RELIEF_NORMAL and %GTK_RELIEF_NONE. - * The default style is, as one can guess, %GTK_RELIEF_NORMAL. + * Sets the style of the button. Buttons can has a flat appearance + * or have a frame drawn around them. */ void -gtk_button_set_relief (GtkButton *button, - GtkReliefStyle relief) +gtk_button_set_has_frame (GtkButton *button, + gboolean has_frame) { - GtkReliefStyle old_relief; g_return_if_fail (GTK_IS_BUTTON (button)); - old_relief = gtk_button_get_relief (button); - if (old_relief != relief) - { - if (relief == GTK_RELIEF_NONE) - gtk_widget_add_css_class (GTK_WIDGET (button), GTK_STYLE_CLASS_FLAT); - else - gtk_widget_remove_css_class (GTK_WIDGET (button), GTK_STYLE_CLASS_FLAT); + if (gtk_button_get_has_frame (button) == has_frame) + return; - g_object_notify_by_pspec (G_OBJECT (button), props[PROP_RELIEF]); - } + if (has_frame) + gtk_widget_remove_css_class (GTK_WIDGET (button), GTK_STYLE_CLASS_FLAT); + else + gtk_widget_add_css_class (GTK_WIDGET (button), GTK_STYLE_CLASS_FLAT); + + g_object_notify_by_pspec (G_OBJECT (button), props[PROP_HAS_FRAME]); } /** - * gtk_button_get_relief: - * @button: The #GtkButton you want the #GtkReliefStyle from. + * gtk_button_get_has_frame: + * @button: a #GtkButton * - * Returns the current relief style of the given #GtkButton. + * Returns whether the button has a frame. * - * Returns: The current #GtkReliefStyle + * Returns: %TRUE if the button has a frame */ -GtkReliefStyle -gtk_button_get_relief (GtkButton *button) +gboolean +gtk_button_get_has_frame (GtkButton *button) { - g_return_val_if_fail (GTK_IS_BUTTON (button), GTK_RELIEF_NORMAL); + g_return_val_if_fail (GTK_IS_BUTTON (button), TRUE); - if (gtk_widget_has_css_class (GTK_WIDGET (button), GTK_STYLE_CLASS_FLAT)) - return GTK_RELIEF_NONE; - else - return GTK_RELIEF_NORMAL; + return !gtk_widget_has_css_class (GTK_WIDGET (button), GTK_STYLE_CLASS_FLAT); } static void |