summaryrefslogtreecommitdiff
path: root/gtk/gtkmenuitem.c
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2017-05-24 15:39:39 +0200
committerMatthias Clasen <mclasen@redhat.com>2017-07-19 21:27:13 -0400
commit34af3d39402e13335bc1a4c68a15c73bc3798f68 (patch)
treec7d4beba1e572f9ebab34337e95e35b234531810 /gtk/gtkmenuitem.c
parent01cdcec3eaa9fd91d6dd85f6a4a4988048b6c95d (diff)
downloadgtk+-34af3d39402e13335bc1a4c68a15c73bc3798f68.tar.gz
accellabel: Inherit from GtkWidget
Use a box and 2 labels.
Diffstat (limited to 'gtk/gtkmenuitem.c')
-rw-r--r--gtk/gtkmenuitem.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c
index 43efeceede..ab130da5ad 100644
--- a/gtk/gtkmenuitem.c
+++ b/gtk/gtkmenuitem.c
@@ -1292,9 +1292,10 @@ gtk_real_menu_item_set_label (GtkMenuItem *menu_item,
gtk_menu_item_ensure_label (menu_item);
child = gtk_bin_get_child (GTK_BIN (menu_item));
- if (GTK_IS_LABEL (child))
+ if (GTK_IS_LABEL (child) ||
+ GTK_IS_ACCEL_LABEL (child))
{
- gtk_label_set_label (GTK_LABEL (child), label ? label : "");
+ g_object_set (child, "label", label ? label : "", NULL);
g_object_notify_by_pspec (G_OBJECT (menu_item), menu_item_props[PROP_LABEL]);
}
@@ -1308,8 +1309,15 @@ gtk_real_menu_item_get_label (GtkMenuItem *menu_item)
gtk_menu_item_ensure_label (menu_item);
child = gtk_bin_get_child (GTK_BIN (menu_item));
- if (GTK_IS_LABEL (child))
- return gtk_label_get_label (GTK_LABEL (child));
+ if (GTK_IS_LABEL (child) ||
+ GTK_IS_ACCEL_LABEL (child))
+ {
+ const char *label;
+
+ g_object_get (child, "label", &label, NULL);
+
+ return label;
+ }
return NULL;
}
@@ -1818,7 +1826,7 @@ gtk_menu_item_ensure_label (GtkMenuItem *menu_item)
if (!gtk_bin_get_child (GTK_BIN (menu_item)))
{
- accel_label = g_object_new (GTK_TYPE_ACCEL_LABEL, "xalign", 0.0, NULL);
+ accel_label = g_object_new (GTK_TYPE_ACCEL_LABEL, NULL);
gtk_widget_set_halign (accel_label, GTK_ALIGN_FILL);
gtk_widget_set_valign (accel_label, GTK_ALIGN_CENTER);
@@ -1886,10 +1894,10 @@ gtk_menu_item_set_use_underline (GtkMenuItem *menu_item,
gtk_menu_item_ensure_label (menu_item);
child = gtk_bin_get_child (GTK_BIN (menu_item));
- if (GTK_IS_LABEL (child) &&
- gtk_label_get_use_underline (GTK_LABEL (child)) != setting)
+ if (GTK_IS_ACCEL_LABEL (child) &&
+ gtk_accel_label_get_use_underline (GTK_ACCEL_LABEL (child)) != setting)
{
- gtk_label_set_use_underline (GTK_LABEL (child), setting);
+ gtk_accel_label_set_use_underline (GTK_ACCEL_LABEL (child), setting);
g_object_notify_by_pspec (G_OBJECT (menu_item), menu_item_props[PROP_USE_UNDERLINE]);
}
}