From 1e5ae349da6db9a0af7714037e23ee599f60c068 Mon Sep 17 00:00:00 2001 From: Lauris Kaplinski Date: Wed, 23 Aug 2000 00:22:18 +0000 Subject: Handle iso-8859-1 keys nicely in e-text and e-table. Other encodings to come... svn path=/trunk/; revision=4972 --- widgets/e-table/e-cell-text.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'widgets/e-table/e-cell-text.c') diff --git a/widgets/e-table/e-cell-text.c b/widgets/e-table/e-cell-text.c index 279ef4975b..5a7f8d514e 100644 --- a/widgets/e-table/e-cell-text.c +++ b/widgets/e-table/e-cell-text.c @@ -35,6 +35,7 @@ #include "e-cell-text.h" #include "e-util/e-util.h" #include "e-util/e-font.h" +#include "e-util/e-unicode.h" #include "e-table-item.h" #include "e-text-event-processor.h" #include "e-text-event-processor-emacs-like.h" @@ -912,11 +913,23 @@ ect_event (ECellView *ecell_view, GdkEvent *event, int model_col, int view_col, e_tep_event.key.time = key.time; e_tep_event.key.state = key.state; e_tep_event.key.keyval = key.keyval; + + /* This is probably ugly hack, but we have to handle UTF-8 input somehow */ +#if 0 e_tep_event.key.length = key.length; e_tep_event.key.string = key.string; +#else + e_tep_event.key.string = e_utf8_from_gtk_event_key (canvas, key.keyval, key.string); + if (e_tep_event.key.string != NULL) { + e_tep_event.key.length = strlen (e_tep_event.key.string); + } else { + e_tep_event.key.length = 0; + } +#endif + _get_tep (edit); - return_val = e_text_event_processor_handle_event (edit->tep, - &e_tep_event); + return_val = e_text_event_processor_handle_event (edit->tep, &e_tep_event); + if (e_tep_event.key.string) g_free (e_tep_event.key.string); break; } } -- cgit v1.2.3