diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-4 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-6 | 11 | ||||
-rw-r--r-- | ChangeLog.pre-2-8 | 11 | ||||
-rw-r--r-- | gtk/gtkmenuitem.c | 12 | ||||
-rw-r--r-- | gtk/gtkmenushell.c | 14 |
7 files changed, 75 insertions, 6 deletions
@@ -1,3 +1,14 @@ +Wed Jan 29 15:43:56 2003 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): + Make up from the menu bar go to the end of the submenu. + (#96114, Ian Peters.) + + * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): + Only do the select-but-not-activate stuff if the + menu is already active. Otherwise, just activate. + (#101690, Arvind Samptur) + Tue Jan 28 15:18:24 2003 Owen Taylor <otaylor@redhat.com> * autogen.sh (have_automake): Fix version in complaint diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index ad1d56a1b..6f9c52b25 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,14 @@ +Wed Jan 29 15:43:56 2003 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): + Make up from the menu bar go to the end of the submenu. + (#96114, Ian Peters.) + + * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): + Only do the select-but-not-activate stuff if the + menu is already active. Otherwise, just activate. + (#101690, Arvind Samptur) + Tue Jan 28 15:18:24 2003 Owen Taylor <otaylor@redhat.com> * autogen.sh (have_automake): Fix version in complaint diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index ad1d56a1b..6f9c52b25 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,14 @@ +Wed Jan 29 15:43:56 2003 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): + Make up from the menu bar go to the end of the submenu. + (#96114, Ian Peters.) + + * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): + Only do the select-but-not-activate stuff if the + menu is already active. Otherwise, just activate. + (#101690, Arvind Samptur) + Tue Jan 28 15:18:24 2003 Owen Taylor <otaylor@redhat.com> * autogen.sh (have_automake): Fix version in complaint diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index ad1d56a1b..6f9c52b25 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,14 @@ +Wed Jan 29 15:43:56 2003 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): + Make up from the menu bar go to the end of the submenu. + (#96114, Ian Peters.) + + * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): + Only do the select-but-not-activate stuff if the + menu is already active. Otherwise, just activate. + (#101690, Arvind Samptur) + Tue Jan 28 15:18:24 2003 Owen Taylor <otaylor@redhat.com> * autogen.sh (have_automake): Fix version in complaint diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index ad1d56a1b..6f9c52b25 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,14 @@ +Wed Jan 29 15:43:56 2003 Owen Taylor <otaylor@redhat.com> + + * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): + Make up from the menu bar go to the end of the submenu. + (#96114, Ian Peters.) + + * gtk/gtkmenuitem.c (gtk_menu_item_mnemonic_activate): + Only do the select-but-not-activate stuff if the + menu is already active. Otherwise, just activate. + (#101690, Arvind Samptur) + Tue Jan 28 15:18:24 2003 Owen Taylor <otaylor@redhat.com> * autogen.sh (have_automake): Fix version in complaint diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 48437b715..413d44a14 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -801,13 +801,13 @@ static gboolean gtk_menu_item_mnemonic_activate (GtkWidget *widget, gboolean group_cycling) { - if (group_cycling) + if (group_cycling && + widget->parent && + GTK_IS_MENU_SHELL (widget->parent) && + GTK_MENU_SHELL (widget->parent)->active) { - if (widget->parent && - GTK_IS_MENU_SHELL (widget->parent)) - gtk_menu_shell_select_item (GTK_MENU_SHELL (widget->parent), - widget); - + gtk_menu_shell_select_item (GTK_MENU_SHELL (widget->parent), + widget); } else g_signal_emit (widget, menu_item_signals[ACTIVATE_ITEM], 0); diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index b72c04d21..4b3fba1a4 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -1070,6 +1070,20 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, gtk_menu_shell_select_submenu_first (parent_menu_shell); } } + /* If there is no parent and the submenu is in the opposite direction + * to the menu, then make the PARENT direction wrap around to + * the bottom of the submenu. + */ + else 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) + { + GtkMenuShell *submenu = GTK_MENU_SHELL (GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu); + + if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != + GTK_MENU_SHELL_GET_CLASS (submenu)->submenu_placement) + _gtk_menu_shell_select_last (submenu, TRUE); + } break; case GTK_MENU_DIR_CHILD: |