diff options
author | Christopher James Lahey <clahey@ximian.com> | 2001-07-05 16:41:56 +0800 |
---|---|---|
committer | Chris Lahey <clahey@src.gnome.org> | 2001-07-05 16:41:56 +0800 |
commit | dcb01da05a7b087d186cdb6293142e63a42809fa (patch) | |
tree | adff57b0b4d2a3e2442c8ee42eb356f0597db922 | |
parent | b530eb430743def1c4bb506d71b33735c7be429a (diff) | |
download | gsoc2013-evolution-dcb01da05a7b087d186cdb6293142e63a42809fa.tar gsoc2013-evolution-dcb01da05a7b087d186cdb6293142e63a42809fa.tar.gz gsoc2013-evolution-dcb01da05a7b087d186cdb6293142e63a42809fa.tar.bz2 gsoc2013-evolution-dcb01da05a7b087d186cdb6293142e63a42809fa.tar.lz gsoc2013-evolution-dcb01da05a7b087d186cdb6293142e63a42809fa.tar.xz gsoc2013-evolution-dcb01da05a7b087d186cdb6293142e63a42809fa.tar.zst gsoc2013-evolution-dcb01da05a7b087d186cdb6293142e63a42809fa.zip |
Make a whole bunch of control keys not start the ETableItem editing.
2001-07-05 Christopher James Lahey <clahey@ximian.com>
* e-table-item.c (eti_event): Make a whole bunch of control keys
not start the ETableItem editing.
svn path=/trunk/; revision=10789
-rw-r--r-- | widgets/table/e-table-item.c | 62 |
1 files changed, 43 insertions, 19 deletions
diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c index aac9439030..cb8287d282 100644 --- a/widgets/table/e-table-item.c +++ b/widgets/table/e-table-item.c @@ -2027,27 +2027,51 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e) handled = FALSE; break; } + if (!handled) { - if (!eti_editing (eti)){ - gint col, row; - row = model_to_view_row(eti, cursor_row); - col = model_to_view_col(eti, cursor_col); - if (col != -1 && row != -1 && e_table_model_is_cell_editable(eti->table_model, col, row)) { - e_table_item_enter_edit (eti, col, row); + switch (e->key.keyval) { + case GDK_Scroll_Lock: + case GDK_Sys_Req: + case GDK_Shift_L: + case GDK_Shift_R: + case GDK_Control_L: + case GDK_Control_R: + case GDK_Caps_Lock: + case GDK_Shift_Lock: + case GDK_Meta_L: + case GDK_Meta_R: + case GDK_Alt_L: + case GDK_Alt_R: + case GDK_Super_L: + case GDK_Super_R: + case GDK_Hyper_L: + case GDK_Hyper_R: + case GDK_ISO_Lock: + break; + + default: + if (!eti_editing (eti)){ + gint col, row; + row = model_to_view_row(eti, cursor_row); + col = model_to_view_col(eti, cursor_col); + if (col != -1 && row != -1 && e_table_model_is_cell_editable(eti->table_model, col, row)) { + e_table_item_enter_edit (eti, col, row); + } } - } - if (!eti_editing (eti)){ - gtk_signal_emit (GTK_OBJECT (eti), eti_signals [KEY_PRESS], - model_to_view_row(eti, cursor_row), cursor_col, e, &return_val); - if (!return_val) - e_selection_model_key_press(E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e); - } else { - ecell_view = eti->cell_views [eti->editing_col]; - return_val = eti_e_cell_event (eti, ecell_view, e, e->key.time, - view_to_model_col(eti, eti->editing_col), - eti->editing_col, eti->editing_row, E_CELL_EDITING); - if (!return_val) - e_selection_model_key_press(E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e); + if (!eti_editing (eti)){ + gtk_signal_emit (GTK_OBJECT (eti), eti_signals [KEY_PRESS], + model_to_view_row(eti, cursor_row), cursor_col, e, &return_val); + if (!return_val) + e_selection_model_key_press(E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e); + } else { + ecell_view = eti->cell_views [eti->editing_col]; + return_val = eti_e_cell_event (eti, ecell_view, e, e->key.time, + view_to_model_col(eti, eti->editing_col), + eti->editing_col, eti->editing_row, E_CELL_EDITING); + if (!return_val) + e_selection_model_key_press(E_SELECTION_MODEL (eti->selection), (GdkEventKey *) e); + } + break; } } eti->in_key_press = FALSE; |