diff --color -U 5 -r -Z -B ./org/gtk/gtkbutton.c ./mod/gtk/gtkbutton.c --- ./org/gtk/gtkbutton.c 2017-10-02 18:00:58.000000000 +0200 +++ ./mod/gtk/gtkbutton.c 2017-10-30 20:27:13.840160899 +0100 @@ -2160,10 +2160,31 @@ gchar *new_label; g_return_if_fail (GTK_IS_BUTTON (button)); priv = button->priv; + if (priv->image == NULL) + { + gchar *use_this_icon = NULL; + if (g_strcmp0 (label, _("_Select")) == 0 || g_strcmp0 (label, _("_OK")) == 0) use_this_icon = "gtk-ok"; + else if (g_strcmp0 (label, _("_Cancel")) == 0) use_this_icon = "gtk-cancel"; + else if (g_strcmp0 (label, _("_Close")) == 0) use_this_icon = "gtk-close"; + else if (g_strcmp0 (label, _("_Yes")) == 0) use_this_icon = "gtk-yes"; + else if (g_strcmp0 (label, _("_No")) == 0) use_this_icon = "gtk-no"; + else if (g_strcmp0 (label, _("_Print")) == 0) use_this_icon = "gtk-print"; + else if (g_strcmp0 (label, _("Pre_view")) == 0) use_this_icon = "gtk-print-preview"; + else if (g_strcmp0 (label, _("_Open")) == 0) use_this_icon = "gtk-open"; + else if (g_strcmp0 (label, _("_Save")) == 0) use_this_icon = "gtk-save"; + else if (g_strcmp0 (label, _("_Apply")) == 0) use_this_icon = "gtk-apply"; + else if (g_strcmp0 (label, _("_Stop")) == 0) use_this_icon = "gtk-stop"; + else if (g_strcmp0 (label, _("_Delete")) == 0) use_this_icon = "gtk-delete"; + else if (g_strcmp0 (label, _("_Remove")) == 0) use_this_icon = "gtk-remove"; + else if (g_strcmp0 (label, _("_Add")) == 0) use_this_icon = "gtk-add"; + else if (g_strcmp0 (label, _("_Help")) == 0) use_this_icon = "gtk-help"; + if (use_this_icon) + g_object_set (button, "image", gtk_image_new_from_icon_name (use_this_icon, GTK_ICON_SIZE_BUTTON), NULL); + } new_label = g_strdup (label); g_free (priv->label_text); priv->label_text = new_label; diff --color -U 5 -r -Z -B ./org/gtk/gtkmenuitem.c ./mod/gtk/gtkmenuitem.c --- ./org/gtk/gtkmenuitem.c 2017-10-02 18:00:49.000000000 +0200 +++ ./mod/gtk/gtkmenuitem.c 2017-10-30 20:30:02.683502598 +0100 @@ -1006,10 +1006,24 @@ * Returns: a new #GtkMenuItem */ GtkWidget* gtk_menu_item_new_with_mnemonic (const gchar *label) { + gchar *use_this_icon = NULL; + if (g_strcmp0 (label, _("Copy _Link Address")) == 0 || g_strcmp0 (label, _("_Copy")) == 0 + || g_strcmp0 (label, _("Copy URL")) == 0) use_this_icon = "gtk-copy"; + else if (g_strcmp0 (label, _("Cu_t")) == 0) use_this_icon = "gtk-cut"; + else if (g_strcmp0 (label, _("_Paste")) == 0) use_this_icon = "gtk-paste"; + else if (g_strcmp0 (label, _("_Delete")) == 0) use_this_icon = "gtk-delete"; + else if (g_strcmp0 (label, _("Select _All")) == 0) use_this_icon = "gtk-select-all"; + else if (g_strcmp0 (label, _("_Open Link")) == 0) use_this_icon = "gtk-jump-to"; + if (use_this_icon) + return g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, + "use-underline", TRUE, + "label", label, + "image", gtk_image_new_from_icon_name (use_this_icon, GTK_ICON_SIZE_MENU), + NULL); return g_object_new (GTK_TYPE_MENU_ITEM, "use-underline", TRUE, "label", label, NULL); }