diff --git a/ChangeLog b/ChangeLog index f97331b364..eae4f73756 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Thu Jul 25 14:14:46 2002 Owen Taylor + + * gtk/gtkmenushell.c: When a menubar is up, use F10 to cycle + menubars, not Control-Tab (#87159, Calum Benson. Patch from + Padraig O'Briain.) + + * gtk/gtkmenubar.c: When cycling menu bars, cancel + after the last instead of wrapping around. + Thu Jul 25 11:57:57 2002 Owen Taylor [ Patch from Padraig O'Briain, #87904 ] diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index f97331b364..eae4f73756 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,12 @@ +Thu Jul 25 14:14:46 2002 Owen Taylor + + * gtk/gtkmenushell.c: When a menubar is up, use F10 to cycle + menubars, not Control-Tab (#87159, Calum Benson. Patch from + Padraig O'Briain.) + + * gtk/gtkmenubar.c: When cycling menu bars, cancel + after the last instead of wrapping around. + Thu Jul 25 11:57:57 2002 Owen Taylor [ Patch from Padraig O'Briain, #87904 ] diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index f97331b364..eae4f73756 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,12 @@ +Thu Jul 25 14:14:46 2002 Owen Taylor + + * gtk/gtkmenushell.c: When a menubar is up, use F10 to cycle + menubars, not Control-Tab (#87159, Calum Benson. Patch from + Padraig O'Briain.) + + * gtk/gtkmenubar.c: When cycling menu bars, cancel + after the last instead of wrapping around. + Thu Jul 25 11:57:57 2002 Owen Taylor [ Patch from Padraig O'Briain, #87904 ] diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index f97331b364..eae4f73756 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,12 @@ +Thu Jul 25 14:14:46 2002 Owen Taylor + + * gtk/gtkmenushell.c: When a menubar is up, use F10 to cycle + menubars, not Control-Tab (#87159, Calum Benson. Patch from + Padraig O'Briain.) + + * gtk/gtkmenubar.c: When cycling menu bars, cancel + after the last instead of wrapping around. + Thu Jul 25 11:57:57 2002 Owen Taylor [ Patch from Padraig O'Briain, #87904 ] diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index f97331b364..eae4f73756 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,12 @@ +Thu Jul 25 14:14:46 2002 Owen Taylor + + * gtk/gtkmenushell.c: When a menubar is up, use F10 to cycle + menubars, not Control-Tab (#87159, Calum Benson. Patch from + Padraig O'Briain.) + + * gtk/gtkmenubar.c: When cycling menu bars, cancel + after the last instead of wrapping around. + Thu Jul 25 11:57:57 2002 Owen Taylor [ Patch from Padraig O'Briain, #87904 ] diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index f97331b364..eae4f73756 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,12 @@ +Thu Jul 25 14:14:46 2002 Owen Taylor + + * gtk/gtkmenushell.c: When a menubar is up, use F10 to cycle + menubars, not Control-Tab (#87159, Calum Benson. Patch from + Padraig O'Briain.) + + * gtk/gtkmenubar.c: When cycling menu bars, cancel + after the last instead of wrapping around. + Thu Jul 25 11:57:57 2002 Owen Taylor [ Patch from Padraig O'Briain, #87904 ] diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index 7f891f2f15..cc1e67d204 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -532,13 +532,13 @@ _gtk_menu_bar_cycle_focus (GtkMenuBar *menubar, GtkDirectionType dir) { GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (menubar)); + GtkMenuItem *to_activate = NULL; if (GTK_WIDGET_TOPLEVEL (toplevel)) { GList *tmp_menubars = get_viewable_menu_bars (GTK_WINDOW (toplevel)); GList *menubars; GList *current; - GtkMenuBar *new; menubars = _gtk_container_focus_sort (GTK_CONTAINER (toplevel), tmp_menubars, dir, GTK_WIDGET (menubar)); @@ -547,26 +547,22 @@ _gtk_menu_bar_cycle_focus (GtkMenuBar *menubar, if (menubars) { current = g_list_find (menubars, menubar); - if (current && current->next) - new = current->next->data; - else - new = menubars->data; - - if (new != menubar) - { - GtkMenuShell *new_menushell = GTK_MENU_SHELL (new); + if (current && current->next) + { + GtkMenuShell *new_menushell = GTK_MENU_SHELL (current->next->data); if (new_menushell->children) - { - g_signal_emit_by_name (menubar, "cancel", 0); - gtk_signal_emit_by_name (GTK_OBJECT (new_menushell->children->data), - "activate_item"); - } + to_activate = new_menushell->children->data; } } g_list_free (menubars); } + + g_signal_emit_by_name (menubar, "cancel", 0); + + if (to_activate) + g_signal_emit_by_name (to_activate, "activate_item"); } static GtkShadowType diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 76acee8867..c2010c9bc5 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -320,19 +320,11 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) GTK_TYPE_BOOL, FALSE); gtk_binding_entry_add_signal (binding_set, - GDK_Tab, GDK_CONTROL_MASK, + GDK_F10, 0, "cycle_focus", 1, GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_FORWARD); gtk_binding_entry_add_signal (binding_set, - GDK_KP_Tab, GDK_CONTROL_MASK, - "cycle_focus", 1, - GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_FORWARD); - gtk_binding_entry_add_signal (binding_set, - GDK_Tab, GDK_CONTROL_MASK | GDK_SHIFT_MASK, - "cycle_focus", 1, - GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_BACKWARD); - gtk_binding_entry_add_signal (binding_set, - GDK_KP_Tab, GDK_CONTROL_MASK | GDK_SHIFT_MASK, + GDK_F10, GDK_SHIFT_MASK, "cycle_focus", 1, GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_BACKWARD); }