Skip to content

Commit f30835f

Browse files
sc0wraveit65
authored andcommitted
avoid deprecated gtk_image_menu_item_new_from_stock
and set the "help-browser" icon in Help/Contents
1 parent d8b0585 commit f30835f

File tree

1 file changed

+38
-9
lines changed

1 file changed

+38
-9
lines changed

src/math-window.c

+38-9
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ static GtkWidget *add_menu(GtkWidget *menu_bar, const gchar *name)
323323
gtk_menu_shell_append(GTK_MENU_SHELL(menu_bar), menu_item);
324324
gtk_widget_show(menu_item);
325325
menu = gtk_menu_new();
326+
gtk_menu_set_reserve_toggle_size(GTK_MENU(menu),FALSE);
326327
gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), menu);
327328

328329
return menu;
@@ -355,6 +356,31 @@ static GtkWidget *radio_menu_item_new(GSList **group, const gchar *name)
355356
return menu_item;
356357
}
357358

359+
static GtkWidget *gtk_image_menu_item_new_from_icon (const gchar *icon_name,
360+
const gchar *label_name,
361+
GtkAccelGroup *accel_group)
362+
{
363+
GtkWidget *box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
364+
GtkWidget *icon = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
365+
GtkWidget *label = gtk_accel_label_new (g_strconcat (label_name, " ", NULL));
366+
GtkWidget *menu_item = gtk_menu_item_new ();
367+
368+
gtk_container_add (GTK_CONTAINER (box), icon);
369+
370+
gtk_label_set_use_underline (GTK_LABEL (label), TRUE);
371+
gtk_label_set_xalign (GTK_LABEL (label), 0.0);
372+
373+
gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (label), menu_item);
374+
375+
gtk_box_pack_end (GTK_BOX (box), label, TRUE, TRUE, 0);
376+
377+
gtk_container_add (GTK_CONTAINER (menu_item), box);
378+
379+
gtk_widget_show_all (menu_item);
380+
381+
return menu_item;
382+
}
383+
358384
static void create_menu(MathWindow* window)
359385
{
360386
GtkAccelGroup* accel_group;
@@ -383,17 +409,20 @@ static void create_menu(MathWindow* window)
383409
#define HELP_CONTENTS_LABEL _("_Contents")
384410

385411
menu = add_menu(window->priv->menu_bar, CALCULATOR_MENU_LABEL);
386-
add_menu_item(menu, gtk_image_menu_item_new_from_stock("gtk-copy", accel_group), G_CALLBACK(copy_cb), window);
387-
add_menu_item(menu, gtk_image_menu_item_new_from_stock("gtk-paste", accel_group), G_CALLBACK(paste_cb), window);
388-
menu_item = add_menu_item(menu, gtk_image_menu_item_new_from_stock("gtk-undo", accel_group), G_CALLBACK(undo_cb), window);
412+
menu_item = add_menu_item(menu, gtk_image_menu_item_new_from_icon("edit-copy",_("_Copy"), accel_group), G_CALLBACK(copy_cb), window);
413+
gtk_widget_add_accelerator(menu_item, "activate", accel_group, GDK_KEY_C, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
414+
menu_item = add_menu_item(menu, gtk_image_menu_item_new_from_icon("edit-paste",_("_Paste"), accel_group), G_CALLBACK(paste_cb), window);
415+
gtk_widget_add_accelerator(menu_item, "activate", accel_group, GDK_KEY_V, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
416+
menu_item = add_menu_item(menu, gtk_image_menu_item_new_from_icon("edit-undo",_("_Undo"), accel_group), G_CALLBACK(undo_cb), window);
389417
gtk_widget_add_accelerator(menu_item, "activate", accel_group, GDK_KEY_Z, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
390-
menu_item = add_menu_item(menu, gtk_image_menu_item_new_from_stock("gtk-redo", accel_group), G_CALLBACK(redo_cb), window);
418+
menu_item = add_menu_item(menu, gtk_image_menu_item_new_from_icon("edit-redo",_("_Redo"), accel_group), G_CALLBACK(redo_cb), window);
391419
gtk_widget_add_accelerator(menu_item, "activate", accel_group, GDK_KEY_Z, GDK_CONTROL_MASK | GDK_SHIFT_MASK, GTK_ACCEL_VISIBLE);
392420
add_menu_item(menu, gtk_separator_menu_item_new(), NULL, NULL);
393-
add_menu_item(menu, gtk_image_menu_item_new_from_stock("gtk-preferences", accel_group), G_CALLBACK(show_preferences_cb), window);
421+
add_menu_item(menu, gtk_image_menu_item_new_from_icon("preferences-desktop",_("_Preferences"), accel_group), G_CALLBACK(show_preferences_cb), window);
394422
add_menu_item(menu, gtk_separator_menu_item_new(), NULL, NULL);
395-
menu_item = add_menu_item(menu, gtk_image_menu_item_new_from_stock("gtk-quit", accel_group), G_CALLBACK(quit_cb), window);
396-
gtk_widget_add_accelerator(menu_item, "activate", accel_group, GDK_KEY_W, GDK_CONTROL_MASK, 0);
423+
menu_item = add_menu_item(menu, gtk_image_menu_item_new_from_icon("application-exit",_("_Quit"), accel_group), G_CALLBACK(quit_cb), window);
424+
gtk_widget_add_accelerator(menu_item, "activate", accel_group, GDK_KEY_Q, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
425+
gtk_widget_add_accelerator(menu_item, "activate", accel_group, GDK_KEY_W, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
397426

398427
menu = add_menu(window->priv->menu_bar, MODE_MENU_LABEL);
399428
window->priv->mode_basic_menu_item = add_menu_item(menu, radio_menu_item_new(&group, MODE_BASIC_LABEL), G_CALLBACK(mode_changed_cb), window);
@@ -406,9 +435,9 @@ static void create_menu(MathWindow* window)
406435
g_object_set_data(G_OBJECT(window->priv->mode_programming_menu_item), "calcmode", GINT_TO_POINTER(PROGRAMMING));
407436

408437
menu = add_menu(window->priv->menu_bar, HELP_MENU_LABEL);
409-
menu_item = add_menu_item(menu, gtk_menu_item_new_with_mnemonic(HELP_CONTENTS_LABEL), G_CALLBACK(help_cb), window);
438+
menu_item = add_menu_item(menu, gtk_image_menu_item_new_from_icon("help-browser", HELP_CONTENTS_LABEL, accel_group), G_CALLBACK(help_cb), window);
410439
gtk_widget_add_accelerator(menu_item, "activate", accel_group, GDK_KEY_F1, 0, GTK_ACCEL_VISIBLE);
411-
add_menu_item(menu, gtk_image_menu_item_new_from_stock("gtk-about", accel_group), G_CALLBACK(about_cb), window);
440+
add_menu_item(menu, gtk_image_menu_item_new_from_icon("help-about",_("_About"), accel_group), G_CALLBACK(about_cb), window);
412441
}
413442

414443
static void

0 commit comments

Comments
 (0)