diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-04-10 16:20:55 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-04-10 16:20:55 +0100 |
commit | 267fb0b00eec762da36f9f763521399efb914c2b (patch) | |
tree | dcabd2b7412e43bef694feaeb881eeb08e93b765 /gtk/menu.c | |
parent | 1922eb1e2a688c1927ab05436dec5043c31b8e78 (diff) | |
download | netsurf-267fb0b00eec762da36f9f763521399efb914c2b.tar.gz netsurf-267fb0b00eec762da36f9f763521399efb914c2b.tar.bz2 |
cope with deprication of image menus in GTK 3.10
Diffstat (limited to 'gtk/menu.c')
-rw-r--r-- | gtk/menu.c | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/gtk/menu.c b/gtk/menu.c index 8b684d6c6..6052d140b 100644 --- a/gtk/menu.c +++ b/gtk/menu.c @@ -21,35 +21,46 @@ #include <gdk/gdkkeysyms.h> #include <gtk/gtk.h> -#include "gtk/menu.h" #include "utils/messages.h" #include "utils/utils.h" +#include "gtk/compat.h" +#include "gtk/menu.h" + /** - * adds image menu item to specified menu + * Adds image menu item to a menu. + * * \param menu the menu to add the item to - * \param item a pointer to the item's location in the menu struct + * \param item_out a pointer to the item's location in the menu struct * \param message the menu item I18n lookup value * \param messageAccel the menu item accelerator I18n lookup value * \param group the 'global' in a gtk sense accelerator group + * \return true if sucessful and \a item_out updated else false. */ static bool nsgtk_menu_add_image_item(GtkMenu *menu, - GtkImageMenuItem **item, const char *message, + GtkWidget **item_out, const char *message, const char *messageAccel, GtkAccelGroup *group) { unsigned int key; GdkModifierType mod; - *item = GTK_IMAGE_MENU_ITEM(gtk_image_menu_item_new_with_mnemonic( - messages_get(message))); - if (*item == NULL) + GtkWidget *item; + + item = nsgtk_image_menu_item_new_with_mnemonic(messages_get(message)); + if (item == NULL) { return false; + } + gtk_accelerator_parse(messages_get(messageAccel), &key, &mod); - if (key > 0) - gtk_widget_add_accelerator(GTK_WIDGET(*item), "activate", - group, key, mod, GTK_ACCEL_VISIBLE); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), GTK_WIDGET(*item)); - gtk_widget_show(GTK_WIDGET(*item)); + if (key > 0) { + gtk_widget_add_accelerator(item, "activate", group, key, mod, + GTK_ACCEL_VISIBLE); + } + gtk_menu_shell_append(GTK_MENU_SHELL(menu), item); + gtk_widget_show(item); + + *item_out = item; + return true; } |