aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-item.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@helixcode.com>2001-01-28 06:21:10 +0800
committerChris Lahey <clahey@src.gnome.org>2001-01-28 06:21:10 +0800
commita7a767287fa0bc03c9e56d5ef3a791bcc1302d57 (patch)
treecd14125a84c1e7eaab9071dd91f538f349782cb3 /widgets/table/e-table-item.c
parent613b4a4b5c420cbb45e35e3251f00258b02fb0f8 (diff)
downloadgsoc2013-evolution-a7a767287fa0bc03c9e56d5ef3a791bcc1302d57.tar.gz
gsoc2013-evolution-a7a767287fa0bc03c9e56d5ef3a791bcc1302d57.tar.zst
gsoc2013-evolution-a7a767287fa0bc03c9e56d5ef3a791bcc1302d57.zip
Make home and end keys move to the beginning and end of the row if cursor
2001-01-27 Christopher James Lahey <clahey@helixcode.com> * e-table-item.c (eti_event): Make home and end keys move to the beginning and end of the row if cursor mode is set to E_TABLE_CURSOR_SIMPLE. Otherwise have %ETableSelectionModel handle them. * e-table-selection-model.c, e-table-selection-model.h: Added a "cursor_mode" argument. (e_table_selection_model_key_press): Made home and end keys move the beginning and end of the table if cursor_mode is E_TABLE_CURSOR_MODE_LINE. * e-table.c: Set the cursor-mode argument of our %ETableSelectionModel. svn path=/trunk/; revision=7864
Diffstat (limited to 'widgets/table/e-table-item.c')
-rw-r--r--widgets/table/e-table-item.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/widgets/table/e-table-item.c b/widgets/table/e-table-item.c
index 06428f343e..8df30e5dab 100644
--- a/widgets/table/e-table-item.c
+++ b/widgets/table/e-table-item.c
@@ -1858,6 +1858,22 @@ eti_event (GnomeCanvasItem *item, GdkEvent *e)
return_val = FALSE;
break;
#endif
+ case GDK_Home:
+ case GDK_KP_Home:
+ if (eti->cursor_mode == E_TABLE_CURSOR_SIMPLE) {
+ eti_cursor_move (eti, model_to_view_row(eti, cursor_row), 0);
+ return_val = TRUE;
+ } else
+ return_val = e_table_selection_model_key_press(eti->selection, (GdkEventKey *) e);
+ break;
+ case GDK_End:
+ case GDK_KP_End:
+ if (eti->cursor_mode == E_TABLE_CURSOR_SIMPLE) {
+ eti_cursor_move (eti, model_to_view_row(eti, cursor_row), eti->cols - 1);
+ return_val = TRUE;
+ } else
+ return_val = e_table_selection_model_key_press(eti->selection, (GdkEventKey *) e);
+ break;
case GDK_Tab:
case GDK_KP_Tab:
case GDK_ISO_Left_Tab: