diff options
author | Matthias Clasen <mclasen@redhat.com> | 2004-12-15 16:27:30 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2004-12-15 16:27:30 +0000 |
commit | 8b927c6f58e4a5d21f2af439b3e4cb8ba99b4f7a (patch) | |
tree | 47e5cbf6a57414e35198655828216c4e70900761 /gtk/gtkmenushell.c | |
parent | b418bf3aa4428c0c2189d846d64cd77ca8205841 (diff) | |
download | gtk+-8b927c6f58e4a5d21f2af439b3e4cb8ba99b4f7a.tar.gz |
Use _gtk_menu_item_popup_submenu() to make keynav into submenus work
2004-12-15 Matthias Clasen <mclasen@redhat.com>
* 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.
Diffstat (limited to 'gtk/gtkmenushell.c')
-rw-r--r-- | gtk/gtkmenushell.c | 16 |
1 files changed, 11 insertions, 5 deletions
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 |