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;