diff options
Diffstat (limited to 'widgets/table/e-tree.c')
-rw-r--r-- | widgets/table/e-tree.c | 12 |
1 files changed, 7 insertions, 5 deletions
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))) { |