]> spindle.queued.net Git - midori/commitdiff
Connect overflow toolbar bookmark items for nested folder menus
authorChristian Dywan <christian@twotoasts.de>
Tue, 17 Nov 2009 17:50:22 +0000 (18:50 +0100)
committerChristian Dywan <christian@twotoasts.de>
Tue, 17 Nov 2009 18:18:14 +0000 (19:18 +0100)
katze/katze-arrayaction.c

index f0422dda3b088a4f210cad4c9018e143e898d08e..db17b687f2ae41d102e4c9ae09d8338f51355955 100644 (file)
@@ -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;