diff options
author | Timm Bäder <mail@baedert.org> | 2016-10-03 09:46:57 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2016-10-16 18:17:21 +0200 |
commit | 421be38a3c3b306038f61fd0490d17d1a9a787ef (patch) | |
tree | 57a71aacfd1101861d62e43655d3e0ac9e29cab2 | |
parent | d36e4125d12dcd74079657a2c74139c74b761e55 (diff) | |
download | gtk+-421be38a3c3b306038f61fd0490d17d1a9a787ef.tar.gz |
toolbutton: Stop using GtkImageMenuItem
-rw-r--r-- | gtk/gtktoolbutton.c | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c index 522c3d475c..9143a9be14 100644 --- a/gtk/gtktoolbutton.c +++ b/gtk/gtktoolbutton.c @@ -873,59 +873,54 @@ clone_image_menu_size (GtkImage *image) return NULL; } - + static gboolean gtk_tool_button_create_menu_proxy (GtkToolItem *item) { GtkToolButton *button = GTK_TOOL_BUTTON (item); GtkWidget *menu_item; GtkWidget *menu_image = NULL; - GtkStockItem stock_item; gboolean use_mnemonic = TRUE; - const char *label; + const char *label_text; + GtkWidget *box; + GtkWidget *label; if (_gtk_tool_item_create_menu_proxy (item)) return TRUE; - G_GNUC_BEGIN_IGNORE_DEPRECATIONS; - if (GTK_IS_LABEL (button->priv->label_widget)) { - label = gtk_label_get_label (GTK_LABEL (button->priv->label_widget)); + label_text = gtk_label_get_label (GTK_LABEL (button->priv->label_widget)); use_mnemonic = gtk_label_get_use_underline (GTK_LABEL (button->priv->label_widget)); } else if (button->priv->label_text) { - label = button->priv->label_text; + label_text = button->priv->label_text; use_mnemonic = button->priv->use_underline; } - else if (button->priv->stock_id && gtk_stock_lookup (button->priv->stock_id, &stock_item)) - { - label = stock_item.label; - } else { - label = ""; + label_text = ""; } - if (use_mnemonic) - menu_item = gtk_image_menu_item_new_with_mnemonic (label); - else - menu_item = gtk_image_menu_item_new_with_label (label); - if (GTK_IS_IMAGE (button->priv->icon_widget)) { menu_image = clone_image_menu_size (GTK_IMAGE (button->priv->icon_widget)); } - else if (button->priv->stock_id) - { - menu_image = gtk_image_new_from_stock (button->priv->stock_id, GTK_ICON_SIZE_MENU); - } + + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); + if (use_mnemonic) + label = gtk_label_new_with_mnemonic (label_text); + else + label = gtk_label_new (label_text); if (menu_image) - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item), menu_image); + gtk_container_add (GTK_CONTAINER (box), menu_image); - G_GNUC_END_IGNORE_DEPRECATIONS; + gtk_container_add (GTK_CONTAINER (box), label); + + menu_item = gtk_menu_item_new (); + gtk_container_add (GTK_CONTAINER (menu_item), box); g_signal_connect_closure_by_id (menu_item, g_signal_lookup ("activate", G_OBJECT_TYPE (menu_item)), 0, |