From 3d4fc5a729f4455f80b9b5fddb742b4d9441ec87 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Fri, 24 Jun 2011 08:44:39 +0000 Subject: [PATCH] Elementary entry: Added handling of the preedit,changed signal. Patch by Jihoon Kim. SVN revision: 60659 --- legacy/elementary/src/lib/elm_entry.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c index a3c80e0a66..2deed0497b 100644 --- a/legacy/elementary/src/lib/elm_entry.c +++ b/legacy/elementary/src/lib/elm_entry.c @@ -91,6 +91,7 @@ * "selection,cleared" - The selection has been cleared * "cursor,changed" - The cursor has changed * "anchor,clicked" - The anchor has been clicked + * "preedit,changed" - The preedit string has changed */ /* Maximum chunk size to be inserted to the entry at once @@ -223,6 +224,7 @@ static const char SIG_SELECTION_CHANGED[] = "selection,changed"; static const char SIG_SELECTION_CLEARED[] = "selection,cleared"; static const char SIG_CURSOR_CHANGED[] = "cursor,changed"; static const char SIG_ANCHOR_CLICKED[] = "anchor,clicked"; +static const char SIG_PREEDIT_CHANGED[] = "preedit,changed"; static const Evas_Smart_Cb_Description _signals[] = { {SIG_CHANGED, ""}, {SIG_ACTIVATED, ""}, @@ -240,6 +242,7 @@ static const Evas_Smart_Cb_Description _signals[] = { {SIG_SELECTION_CLEARED, ""}, {SIG_CURSOR_CHANGED, ""}, {SIG_ANCHOR_CLICKED, ""}, + {SIG_PREEDIT_CHANGED, ""}, {NULL, NULL} }; @@ -1301,7 +1304,7 @@ _getbase(Evas_Object *obj) } static void -_signal_entry_changed(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__) +_entry_changed_common_handling(void *data, const char *event) { Widget_Data *wd = elm_widget_data_get(data); Evas_Coord minh; @@ -1325,6 +1328,18 @@ _signal_entry_changed(void *data, Evas_Object *obj __UNUSED__, const char *emiss wd->delay_write = ecore_timer_add(2.0, _delay_write, data); } +static void +_signal_entry_changed(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__) +{ + _entry_changed_common_handling(data, SIG_CHANGED); +} + +static void +_signal_preedit_changed(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__) +{ + _entry_changed_common_handling(data, SIG_PREEDIT_CHANGED); +} + static void _signal_selection_start(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__) { @@ -1909,6 +1924,8 @@ elm_entry_add(Evas_Object *parent) _elm_theme_object_set(obj, wd->ent, "entry", "base", "default"); edje_object_signal_callback_add(wd->ent, "entry,changed", "elm.text", _signal_entry_changed, obj); + edje_object_signal_callback_add(wd->ent, "preedit,changed", "elm.text", + _signal_preedit_changed, obj); edje_object_signal_callback_add(wd->ent, "selection,start", "elm.text", _signal_selection_start, obj); edje_object_signal_callback_add(wd->ent, "selection,changed", "elm.text",