]> Pileus Git - ~andy/gtk/commitdiff
Fix double set of bindings for page-up/down. (#72605, Tor Lillquist)
authorOwen Taylor <otaylor@redhat.com>
Tue, 26 Feb 2002 03:23:45 +0000 (03:23 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Tue, 26 Feb 2002 03:23:45 +0000 (03:23 +0000)
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)

ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkmenu.c
gtk/gtkscrolledwindow.c

index 1eb0248bf83259a9f41397e402d9fe4ee10f1443..28bbe500c3d6d1161288c24ac1df1b3474e316b1 100644 (file)
--- 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
index 1eb0248bf83259a9f41397e402d9fe4ee10f1443..28bbe500c3d6d1161288c24ac1df1b3474e316b1 100644 (file)
@@ -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
index 1eb0248bf83259a9f41397e402d9fe4ee10f1443..28bbe500c3d6d1161288c24ac1df1b3474e316b1 100644 (file)
@@ -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
index 1eb0248bf83259a9f41397e402d9fe4ee10f1443..28bbe500c3d6d1161288c24ac1df1b3474e316b1 100644 (file)
@@ -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
index 1eb0248bf83259a9f41397e402d9fe4ee10f1443..28bbe500c3d6d1161288c24ac1df1b3474e316b1 100644 (file)
@@ -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
index 1eb0248bf83259a9f41397e402d9fe4ee10f1443..28bbe500c3d6d1161288c24ac1df1b3474e316b1 100644 (file)
@@ -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
index 1eb0248bf83259a9f41397e402d9fe4ee10f1443..28bbe500c3d6d1161288c24ac1df1b3474e316b1 100644 (file)
@@ -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
index 422e8d3b1fcbd19c2c175e61573b1b709e7680d5..86814a16def213f9f6d99c7bd76107dca2beae92 100644 (file)
@@ -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 &&
index b22282e687ee3cf91c210e25f24dd934ba7817a3..e3d20895d45abe29085b021acc08c904e165763b 100644 (file)
@@ -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);