summaryrefslogtreecommitdiff
path: root/katze/katze-arrayaction.c
diff options
context:
space:
mode:
authorChristian Dywan <christian@twotoasts.de>2009-11-17 19:18:14 +0100
committerChristian Dywan <christian@twotoasts.de>2009-11-17 19:18:14 +0100
commitc0a5f0d04b8fcbc9f859f5bf720f6f55a104dfb0 (patch)
treed31ba584c8ed7b2bcc2bde5afa767a0485b5e492 /katze/katze-arrayaction.c
parenta3a6655821605b82de5a68130fe17f4030e78ec3 (diff)
downloadmidori-c0a5f0d04b8fcbc9f859f5bf720f6f55a104dfb0.tar.gz
Connect overflow toolbar bookmark items for nested folder menus
Diffstat (limited to 'katze/katze-arrayaction.c')
-rw-r--r--katze/katze-arrayaction.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/katze/katze-arrayaction.c b/katze/katze-arrayaction.c
index f0422dda..db17b687 100644
--- a/katze/katze-arrayaction.c
+++ b/katze/katze-arrayaction.c
@@ -508,11 +508,21 @@ katze_array_action_proxy_create_menu_proxy_cb (GtkWidget* proxy,
GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
#endif
g_object_set_data (G_OBJECT (menuitem), "KatzeItem", item);
- g_signal_connect (menuitem, "button-press-event",
- G_CALLBACK (katze_array_action_menu_button_press_cb), array_action);
- /* we need the 'activate' signal as well for keyboard events */
- g_signal_connect (menuitem, "activate",
- G_CALLBACK (katze_array_action_menu_activate_cb), array_action);
+ if (KATZE_IS_ARRAY (item))
+ {
+ GtkWidget* submenu = gtk_menu_new ();
+ gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), submenu);
+ g_signal_connect (menuitem, "select",
+ G_CALLBACK (katze_array_action_menu_item_select_cb), array_action);
+ }
+ else
+ {
+ g_signal_connect (menuitem, "button-press-event",
+ G_CALLBACK (katze_array_action_menu_button_press_cb), array_action);
+ /* we need the 'activate' signal as well for keyboard events */
+ g_signal_connect (menuitem, "activate",
+ G_CALLBACK (katze_array_action_menu_activate_cb), array_action);
+ }
gtk_tool_item_set_proxy_menu_item (GTK_TOOL_ITEM (proxy),
"katze-tool-item-menu", menuitem);
return TRUE;