summaryrefslogtreecommitdiff
path: root/gtk/gtkmenushell.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2004-12-15 16:27:30 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-12-15 16:27:30 +0000
commit8b927c6f58e4a5d21f2af439b3e4cb8ba99b4f7a (patch)
tree47e5cbf6a57414e35198655828216c4e70900761 /gtk/gtkmenushell.c
parentb418bf3aa4428c0c2189d846d64cd77ca8205841 (diff)
downloadgtk+-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.c16
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