diff options
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/table/ChangeLog | 8 | ||||
-rw-r--r-- | widgets/table/e-table.c | 2 | ||||
-rw-r--r-- | widgets/table/e-tree.c | 12 |
3 files changed, 16 insertions, 6 deletions
diff --git a/widgets/table/ChangeLog b/widgets/table/ChangeLog index 71e12de88e..f5c3455ba8 100644 --- a/widgets/table/ChangeLog +++ b/widgets/table/ChangeLog @@ -1,3 +1,11 @@ +2008-02-01 Milan Crha <mcrha@redhat.com> + + ** Fix for bug #512623 + + * e-tree.c: (item_key_press): + Check only if Ctrl/Alt/Shift is pressed when required Shift only. + * e-table.c: (group_key_press): Ignore/consider GDK_MODEx_MASK states. + 2008-01-28 Srinivasa Ragavan <sragavan@novell.com> * e-table-item.c: (eti_draw): Fix some gradient issues. diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c index a6adf312cf..3612191e6a 100644 --- a/widgets/table/e-table.c +++ b/widgets/table/e-table.c @@ -835,7 +835,7 @@ group_key_press (ETableGroup *etg, int row, int col, GdkEvent *event, ETable *et /* Fall through */ default: init_search (et); - if ((key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK)) == 0 + if ((key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD1_MASK | GDK_MOD2_MASK | GDK_MOD3_MASK | GDK_MOD4_MASK | GDK_MOD5_MASK)) == 0 && ((key->keyval >= GDK_a && key->keyval <= GDK_z) || (key->keyval >= GDK_A && key->keyval <= GDK_Z) || (key->keyval >= GDK_0 && key->keyval <= GDK_9))) diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c index 2c5f991bdc..7617f25f05 100644 --- a/widgets/table/e-tree.c +++ b/widgets/table/e-tree.c @@ -885,11 +885,12 @@ item_key_press (ETableItem *eti, int row, int col, GdkEvent *event, ETree *et) return_val = 1; break; - case '=': + case GDK_plus: + case GDK_KP_Add: case GDK_Right: case GDK_KP_Right: /* Only allow if the Shift modifier is used -- eg. Ctrl-Equal shouldn't be handled. */ - if ((key->state == 0) || (key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK))) + if ((key->state & (GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD1_MASK)) != GDK_SHIFT_MASK) break; if (row != -1) { path = e_tree_table_adapter_node_at_row(et->priv->etta, row); @@ -898,11 +899,12 @@ item_key_press (ETableItem *eti, int row, int col, GdkEvent *event, ETree *et) } return_val = 1; break; - case '-': + case GDK_underscore: + case GDK_KP_Subtract: case GDK_Left: case GDK_KP_Left: /* Only allow if the Shift modifier is used -- eg. Ctrl-Minus shouldn't be handled. */ - if ((key->state == 0) || (key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK))) + if ((key->state & (GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD1_MASK)) != GDK_SHIFT_MASK) break; if (row != -1) { path = e_tree_table_adapter_node_at_row(et->priv->etta, row); @@ -916,7 +918,7 @@ item_key_press (ETableItem *eti, int row, int col, GdkEvent *event, ETree *et) return TRUE; /* Fallthrough */ default: - if ((key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK)) == 0 + if ((key->state & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD1_MASK | GDK_MOD2_MASK | GDK_MOD3_MASK | GDK_MOD4_MASK | GDK_MOD5_MASK)) == 0 && ((key->keyval >= GDK_a && key->keyval <= GDK_z) || (key->keyval >= GDK_A && key->keyval <= GDK_Z) || (key->keyval >= GDK_0 && key->keyval <= GDK_9))) { |