diff options
Diffstat (limited to 'pluma/pluma-utils.c')
-rw-r--r-- | pluma/pluma-utils.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/pluma/pluma-utils.c b/pluma/pluma-utils.c index 35136c3c..e8fa3f55 100644 --- a/pluma/pluma-utils.c +++ b/pluma/pluma-utils.c @@ -1698,3 +1698,27 @@ free_resources: g_regex_unref (regex); return found; } + +GtkWidget * +pluma_image_menu_item_new_from_pixbuf (GdkPixbuf *icon_pixbuf, + const gchar *label_name) +{ + GtkWidget *icon; + GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); + + if (icon_pixbuf) + icon = gtk_image_new_from_pixbuf (icon_pixbuf); + else + icon = gtk_image_new (); + + GtkWidget *label_menu = gtk_label_new (g_strconcat (label_name, " ", NULL)); + GtkWidget *menuitem = gtk_menu_item_new (); + + gtk_container_add (GTK_CONTAINER (box), icon); + gtk_container_add (GTK_CONTAINER (box), label_menu); + + gtk_container_add (GTK_CONTAINER (menuitem), box); + gtk_widget_show_all (menuitem); + + return menuitem; +} |