summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog11
-rw-r--r--ChangeLog.pre-2-1011
-rw-r--r--ChangeLog.pre-2-411
-rw-r--r--ChangeLog.pre-2-611
-rw-r--r--ChangeLog.pre-2-811
-rw-r--r--gtk/gtkmenuitem.c12
-rw-r--r--gtk/gtkmenushell.c14
7 files changed, 75 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index ad1d56a1b..6f9c52b25 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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: