From 8b927c6f58e4a5d21f2af439b3e4cb8ba99b4f7a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2004 16:27:30 +0000 Subject: Use _gtk_menu_item_popup_submenu() to make keynav into submenus work 2004-12-15 Matthias Clasen * gtk/gtkmenushell.c (gtk_menu_shell_select_submenu_first) (gtk_real_menu_shell_activate_current): Use _gtk_menu_item_popup_submenu() to make keynav into submenus work instantaneously, independent of the popup delay. (#161140) * gtk/gtkmenuitem.[hc]: _-prefix gtk_menu_item_popup_submenu() and make it non-static. * gtk/gtkmenuitem.c (gtk_menu_item_paint): Remove unused variables. --- gtk/gtkmenushell.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'gtk/gtkmenushell.c') diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index d318e167b8..0b70b93d03 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -1070,7 +1070,10 @@ gtk_menu_shell_select_submenu_first (GtkMenuShell *menu_shell) menu_item = GTK_MENU_ITEM (menu_shell->active_menu_item); if (menu_item->submenu) - gtk_menu_shell_select_first (GTK_MENU_SHELL (menu_item->submenu), TRUE); + { + _gtk_menu_item_popup_submenu (menu_item); + gtk_menu_shell_select_first (GTK_MENU_SHELL (menu_item->submenu), TRUE); + } } static void @@ -1190,13 +1193,16 @@ gtk_real_menu_shell_activate_current (GtkMenuShell *menu_shell, gboolean force_hide) { if (menu_shell->active_menu_item && - _gtk_menu_item_is_selectable (menu_shell->active_menu_item) && - GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu == NULL) - { + _gtk_menu_item_is_selectable (menu_shell->active_menu_item)) + { + + if (GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu == NULL) gtk_menu_shell_activate_item (menu_shell, menu_shell->active_menu_item, force_hide); - } + else + _gtk_menu_item_popup_submenu (menu_shell->active_menu_item); + } } static void -- cgit v1.2.1