[Gnucash-changes] r14308 - gnucash/trunk - The register code shouldn't process any keystrokes that have a

David Hampton hampton at cvs.gnucash.org
Sat Jun 3 15:58:19 EDT 2006


Author: hampton
Date: 2006-06-03 15:58:18 -0400 (Sat, 03 Jun 2006)
New Revision: 14308
Trac: http://svn.gnucash.org/trac/changeset/14308

Modified:
   gnucash/trunk/ChangeLog
   gnucash/trunk/src/register/register-gnome/gnucash-sheet.c
Log:
The register code shouldn't process any keystrokes that have a
"modifier" (e.g. Alt, Meta, etc.) key pressed.  This allows
Alt-Ctl-Pgup/Down in a register to change the notebook page, just like
from the accounts page. Also remove some dead code.


Modified: gnucash/trunk/ChangeLog
===================================================================
--- gnucash/trunk/ChangeLog	2006-06-03 19:29:21 UTC (rev 14307)
+++ gnucash/trunk/ChangeLog	2006-06-03 19:58:18 UTC (rev 14308)
@@ -1,3 +1,11 @@
+2006-06-03  David Hampton  <hampton at employees.org>
+
+	* src/register/register-gnome/gnucash-sheet.c: The register code
+	shouldn't process any keystrokes that have a "modifier" (e.g. Alt,
+	Meta, etc.) key pressed.  This allows Alt-Ctl-Pgup/Down in a
+	register to change the notebook page, just like from the accounts
+	page. Also remove some dead code.
+
 2006-06-03  Andreas Köhler  <andi5.py at gmx.net>
 
 	* src/gnome-utils/Makefile.am:

Modified: gnucash/trunk/src/register/register-gnome/gnucash-sheet.c
===================================================================
--- gnucash/trunk/src/register/register-gnome/gnucash-sheet.c	2006-06-03 19:29:21 UTC (rev 14307)
+++ gnucash/trunk/src/register/register-gnome/gnucash-sheet.c	2006-06-03 19:58:18 UTC (rev 14308)
@@ -1609,8 +1609,16 @@
         gnucash_cursor_get_virt (GNUCASH_CURSOR(sheet->cursor), &cur_virt_loc);
         new_virt_loc = cur_virt_loc;
 
+	/* Don't process any keystrokes where a modifier key (Alt,
+	 * Meta, etc.) is being held down.  This should't include
+	 * MOD2, aka NUM LOCK. */
+	if (event->state & (GDK_MOD1_MASK | GDK_MOD3_MASK |
+			    GDK_MOD4_MASK | GDK_MOD5_MASK))
+		pass_on = TRUE;
+
 	/* Calculate tentative physical values */
-        switch (event->keyval) {
+	if (!pass_on) {
+            switch (event->keyval) {
                 case GDK_Return:
                 case GDK_KP_Enter:
                         g_signal_emit_by_name(sheet->reg, "activate_cursor");
@@ -1666,7 +1674,7 @@
                 case GDK_Down:
                 case GDK_Menu:
                         if (event->keyval == GDK_Menu ||
-                            event->state & (GDK_CONTROL_MASK | GDK_MOD1_MASK))
+                            event->state & GDK_CONTROL_MASK)
                         {
                                 GncItemEdit *item_edit;
 
@@ -1696,22 +1704,9 @@
                                 return TRUE;
 
 			pass_on = TRUE;
-
-                        /* This is a piece of logic from gtkentry.c. We
-                           are trying to figure out whether to change the
-                           selection. If this is a regular character, we
-                           don't want to change the selection, as it will
-                           get changed in the insert callback. */
-                        if ((event->keyval >= 0x20) && (event->keyval <= 0xFF))
-                        {
-                                if (event->state & GDK_CONTROL_MASK)
-                                        break;
-                                if (event->state & GDK_MOD1_MASK)
-                                        break;
-                        }
-
 			break;
-        }
+            }
+	}
 
 	/* Forward the keystroke to the input line */
 	if (pass_on)



More information about the gnucash-changes mailing list