diff options
-rw-r--r-- | widgets/e-table/ChangeLog | 5 | ||||
-rw-r--r-- | widgets/e-table/e-cell-text.c | 20 | ||||
-rw-r--r-- | widgets/table/e-cell-text.c | 20 |
3 files changed, 29 insertions, 16 deletions
diff --git a/widgets/e-table/ChangeLog b/widgets/e-table/ChangeLog index 13cef1b47c..19a60a1299 100644 --- a/widgets/e-table/ChangeLog +++ b/widgets/e-table/ChangeLog @@ -1,5 +1,10 @@ 2000-02-24 Christopher James Lahey <clahey@helixcode.com> + * e-cell-text.c: Made carriage return stop editting instead of + inserting a carriage return. + +2000-02-24 Christopher James Lahey <clahey@helixcode.com> + * test-table.c: Added duplicate_value and add_value. Use the new compare functions. Made it so we only create one model to better test model view stuff. Changed the test to not have as many diff --git a/widgets/e-table/e-cell-text.c b/widgets/e-table/e-cell-text.c index fb33f10537..37213e3904 100644 --- a/widgets/e-table/e-cell-text.c +++ b/widgets/e-table/e-cell-text.c @@ -777,14 +777,18 @@ ect_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, } if (edit_display) { GdkEventKey key = event->key; - e_tep_event.key.time = key.time; - e_tep_event.key.state = key.state; - e_tep_event.key.keyval = key.keyval; - e_tep_event.key.length = key.length; - e_tep_event.key.string = key.string; - _get_tep(edit); - return e_text_event_processor_handle_event (edit->tep, - &e_tep_event); + if ( key.keyval == GDK_KP_Enter || key.keyval == GDK_Return ) { + e_table_item_leave_edit (text_view->cell_view.e_table_item_view); + } else { + e_tep_event.key.time = key.time; + e_tep_event.key.state = key.state; + e_tep_event.key.keyval = key.keyval; + e_tep_event.key.length = key.length; + e_tep_event.key.string = key.string; + _get_tep(edit); + return e_text_event_processor_handle_event (edit->tep, + &e_tep_event); + } } else diff --git a/widgets/table/e-cell-text.c b/widgets/table/e-cell-text.c index fb33f10537..37213e3904 100644 --- a/widgets/table/e-cell-text.c +++ b/widgets/table/e-cell-text.c @@ -777,14 +777,18 @@ ect_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, } if (edit_display) { GdkEventKey key = event->key; - e_tep_event.key.time = key.time; - e_tep_event.key.state = key.state; - e_tep_event.key.keyval = key.keyval; - e_tep_event.key.length = key.length; - e_tep_event.key.string = key.string; - _get_tep(edit); - return e_text_event_processor_handle_event (edit->tep, - &e_tep_event); + if ( key.keyval == GDK_KP_Enter || key.keyval == GDK_Return ) { + e_table_item_leave_edit (text_view->cell_view.e_table_item_view); + } else { + e_tep_event.key.time = key.time; + e_tep_event.key.state = key.state; + e_tep_event.key.keyval = key.keyval; + e_tep_event.key.length = key.length; + e_tep_event.key.string = key.string; + _get_tep(edit); + return e_text_event_processor_handle_event (edit->tep, + &e_tep_event); + } } else |