summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2002-02-26 03:23:45 +0000
committerOwen Taylor <otaylor@src.gnome.org>2002-02-26 03:23:45 +0000
commit86e7c7dfe9b4efe3c299870a5f967f0ffe33b245 (patch)
tree5c8a8eeb4132d83139ad6dfe8517f72fb44ac6b1
parent93fa867e14e02c5714b1909ccbe10fd9bcb2cfe8 (diff)
downloadgtk+-86e7c7dfe9b4efe3c299870a5f967f0ffe33b245.tar.gz
Fix double set of bindings for page-up/down. (#72605, Tor Lillquist)
Mon Feb 25 22:10:47 2002 Owen Taylor <otaylor@redhat.com> * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix double set of bindings for page-up/down. (#72605, Tor Lillquist) * gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers when setting up accelerator to make accelerators look prettier. (#65416, Guillermo S. Romero)
-rw-r--r--ChangeLog9
-rw-r--r--ChangeLog.pre-2-09
-rw-r--r--ChangeLog.pre-2-109
-rw-r--r--ChangeLog.pre-2-29
-rw-r--r--ChangeLog.pre-2-49
-rw-r--r--ChangeLog.pre-2-69
-rw-r--r--ChangeLog.pre-2-89
-rw-r--r--gtk/gtkmenu.c18
-rw-r--r--gtk/gtkscrolledwindow.c5
9 files changed, 78 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 1eb0248bf8..28bbe500c3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Mon Feb 25 22:10:47 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix
+ double set of bindings for page-up/down. (#72605, Tor Lillquist)
+
+ * gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers
+ when setting up accelerator to make accelerators look prettier.
+ (#65416, Guillermo S. Romero)
+
2002-02-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c: Implement the functions that until
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 1eb0248bf8..28bbe500c3 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,12 @@
+Mon Feb 25 22:10:47 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix
+ double set of bindings for page-up/down. (#72605, Tor Lillquist)
+
+ * gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers
+ when setting up accelerator to make accelerators look prettier.
+ (#65416, Guillermo S. Romero)
+
2002-02-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c: Implement the functions that until
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 1eb0248bf8..28bbe500c3 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,12 @@
+Mon Feb 25 22:10:47 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix
+ double set of bindings for page-up/down. (#72605, Tor Lillquist)
+
+ * gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers
+ when setting up accelerator to make accelerators look prettier.
+ (#65416, Guillermo S. Romero)
+
2002-02-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c: Implement the functions that until
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 1eb0248bf8..28bbe500c3 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,12 @@
+Mon Feb 25 22:10:47 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix
+ double set of bindings for page-up/down. (#72605, Tor Lillquist)
+
+ * gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers
+ when setting up accelerator to make accelerators look prettier.
+ (#65416, Guillermo S. Romero)
+
2002-02-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c: Implement the functions that until
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 1eb0248bf8..28bbe500c3 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,12 @@
+Mon Feb 25 22:10:47 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix
+ double set of bindings for page-up/down. (#72605, Tor Lillquist)
+
+ * gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers
+ when setting up accelerator to make accelerators look prettier.
+ (#65416, Guillermo S. Romero)
+
2002-02-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c: Implement the functions that until
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 1eb0248bf8..28bbe500c3 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,12 @@
+Mon Feb 25 22:10:47 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix
+ double set of bindings for page-up/down. (#72605, Tor Lillquist)
+
+ * gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers
+ when setting up accelerator to make accelerators look prettier.
+ (#65416, Guillermo S. Romero)
+
2002-02-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c: Implement the functions that until
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 1eb0248bf8..28bbe500c3 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,12 @@
+Mon Feb 25 22:10:47 2002 Owen Taylor <otaylor@redhat.com>
+
+ * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init): Fix
+ double set of bindings for page-up/down. (#72605, Tor Lillquist)
+
+ * gtk/gtkmenu.c (gtk_menu_key_press): Remove consumed modiifers
+ when setting up accelerator to make accelerators look prettier.
+ (#65416, Guillermo S. Romero)
+
2002-02-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkkeys-win32.c: Implement the functions that until
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index 422e8d3b1f..86814a16de 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -1733,6 +1733,7 @@ gtk_menu_key_press (GtkWidget *widget,
gboolean can_change_accels;
gchar *accel = NULL;
guint accel_key, accel_mods;
+ GdkModifierType consumed_modifiers;
g_return_val_if_fail (GTK_IS_MENU (widget), FALSE);
g_return_val_if_fail (event != NULL, FALSE);
@@ -1791,10 +1792,21 @@ gtk_menu_key_press (GtkWidget *widget,
g_object_get (G_OBJECT (gtk_settings_get_default ()),
"gtk-can-change-accels", &can_change_accels,
NULL);
-
- accel_key = event->keyval;
- accel_mods = event->state & gtk_accelerator_get_default_mod_mask ();
+ /* Figure out what modifiers went into determining the key symbol */
+ gdk_keymap_translate_keyboard_state (gdk_keymap_get_default (),
+ event->hardware_keycode, event->state, event->group,
+ NULL, NULL, NULL, &consumed_modifiers);
+
+ accel_key = gdk_keyval_to_lower (event->keyval);
+ accel_mods = event->state & gtk_accelerator_get_default_mod_mask () & ~consumed_modifiers;
+
+ /* If lowercasing affects the keysym, then we need to include SHIFT in the modifiers,
+ * We re-upper case when we match against the keyval, but display and save in caseless form.
+ */
+ if (accel_key != event->keyval)
+ accel_mods |= GDK_SHIFT_MASK;
+
/* Modify the accelerators */
if (can_change_accels &&
menu_shell->active_menu_item &&
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index b22282e687..e3d20895d4 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -308,11 +308,6 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
add_scroll_binding (binding_set, GDK_Page_Up, 0, GTK_SCROLL_PAGE_BACKWARD, FALSE);
add_scroll_binding (binding_set, GDK_Page_Down, 0, GTK_SCROLL_PAGE_FORWARD, FALSE);
- add_scroll_binding (binding_set, GDK_Page_Up, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_BACKWARD, TRUE);
- add_scroll_binding (binding_set, GDK_Page_Down, GDK_CONTROL_MASK, GTK_SCROLL_PAGE_FORWARD, TRUE);
- add_scroll_binding (binding_set, GDK_Page_Up, 0, GTK_SCROLL_PAGE_BACKWARD, FALSE);
- add_scroll_binding (binding_set, GDK_Page_Down, 0, GTK_SCROLL_PAGE_FORWARD, FALSE);
-
add_scroll_binding (binding_set, GDK_Home, 0, GTK_SCROLL_START, TRUE);
add_scroll_binding (binding_set, GDK_End, 0, GTK_SCROLL_END, TRUE);
add_scroll_binding (binding_set, GDK_Home, GDK_CONTROL_MASK, GTK_SCROLL_START, FALSE);