Skip to content

Commit e9bd5cb

Browse files
sc0wlukefromdc
authored andcommitted
caja-bookmark: avoid deprecated GtkImageMenuItem
avoid deprecated: gtk_image_menu_item_new_with_label gtk_image_menu_item_set_image
1 parent 3403ff7 commit e9bd5cb

File tree

2 files changed

+40
-13
lines changed

2 files changed

+40
-13
lines changed

libcaja-private/caja-bookmark.c

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,38 @@ create_image_widget_for_bookmark (CajaBookmark *bookmark)
604604
return widget;
605605
}
606606

607+
static GtkWidget *
608+
bookmark_image_menu_item_new_from_pixbuf (GdkPixbuf *icon_pixbuf,
609+
const gchar *label_name)
610+
{
611+
GtkWidget *icon;
612+
GtkLabel *label;
613+
614+
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
615+
616+
if (icon_pixbuf)
617+
icon = gtk_image_new_from_pixbuf (icon_pixbuf);
618+
else
619+
icon = gtk_image_new ();
620+
621+
GtkWidget *label_menu = gtk_label_new (g_strconcat (label_name, " ", NULL));
622+
623+
label = GTK_LABEL (label_menu);
624+
gtk_label_set_use_underline (label, FALSE);
625+
gtk_label_set_ellipsize (label, PANGO_ELLIPSIZE_END);
626+
gtk_label_set_max_width_chars (label, (ELLIPSISED_MENU_ITEM_MIN_CHARS + 2));
627+
628+
GtkWidget *menuitem = gtk_menu_item_new ();
629+
630+
gtk_container_add (GTK_CONTAINER (box), icon);
631+
gtk_container_add (GTK_CONTAINER (box), label_menu);
632+
633+
gtk_container_add (GTK_CONTAINER (menuitem), box);
634+
gtk_widget_show_all (menuitem);
635+
636+
return menuitem;
637+
}
638+
607639
/**
608640
* caja_bookmark_menu_item_new:
609641
*
@@ -614,23 +646,15 @@ create_image_widget_for_bookmark (CajaBookmark *bookmark)
614646
GtkWidget *
615647
caja_bookmark_menu_item_new (CajaBookmark *bookmark)
616648
{
649+
GdkPixbuf *icon;
617650
GtkWidget *menu_item;
618651
GtkWidget *image_widget;
619-
GtkLabel *label;
620-
621-
menu_item = gtk_image_menu_item_new_with_label (bookmark->details->name);
622-
label = GTK_LABEL (gtk_bin_get_child (GTK_BIN (menu_item)));
623-
gtk_label_set_use_underline (label, FALSE);
624-
gtk_label_set_ellipsize (label, PANGO_ELLIPSIZE_END);
625-
gtk_label_set_max_width_chars (label, ELLIPSISED_MENU_ITEM_MIN_CHARS);
626652

627653
image_widget = create_image_widget_for_bookmark (bookmark);
628-
if (image_widget != NULL)
629-
{
630-
gtk_widget_show (image_widget);
631-
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (menu_item),
632-
image_widget);
633-
}
654+
655+
icon = gtk_image_get_pixbuf (GTK_IMAGE (image_widget));
656+
657+
menu_item = bookmark_image_menu_item_new_from_pixbuf (icon, bookmark->details->name);
634658

635659
return menu_item;
636660
}

src/caja-navigation-action.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,9 @@ connect_proxy (GtkAction *action, GtkWidget *proxy)
237237

238238
/* set an empty menu, so the arrow button becomes sensitive */
239239
menu = gtk_menu_new ();
240+
241+
gtk_menu_set_reserve_toggle_size (GTK_MENU (menu), FALSE);
242+
240243
gtk_menu_tool_button_set_menu (button, menu);
241244

242245
gtk_menu_tool_button_set_arrow_tooltip_text (button,

0 commit comments

Comments
 (0)