From 5b6e604553f71f5d2dc65f6770d79db3018b9cab Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Thu, 21 Oct 2010 08:59:53 +0900 Subject: [PATCH] add ecore_imf_context_reset in selextend, selpreextend --- src/lib/edje_entry.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/lib/edje_entry.c b/src/lib/edje_entry.c index 32e55c1..8c7ef3e 100644 --- a/src/lib/edje_entry.c +++ b/src/lib/edje_entry.c @@ -295,12 +295,13 @@ _edje_entry_focus_out_cb(void *data, Evas_Object *o __UNUSED__, const char *emis en = rp->entry_data; if (!en || !en->imf_context) return; - en->preedit_len = 0; - ecore_imf_context_reset(en->imf_context); ecore_imf_context_cursor_position_set(en->imf_context, evas_textblock_cursor_pos_get(en->cursor)); ecore_imf_context_focus_out(en->imf_context); + en->preedit_len = 0; + en->have_preedit = EINA_FALSE; + if (en->input_panel_enable) { keypad_show = EINA_FALSE; @@ -361,12 +362,13 @@ _edje_focus_out_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, if (!en->imf_context) return; - en->preedit_len = 0; - ecore_imf_context_reset(en->imf_context); ecore_imf_context_cursor_position_set(en->imf_context, evas_textblock_cursor_pos_get(en->cursor)); ecore_imf_context_focus_out(en->imf_context); + en->preedit_len = 0; + en->have_preedit = EINA_FALSE; + if (en->input_panel_enable) { keypad_show = EINA_FALSE; @@ -562,7 +564,9 @@ _sel_extend(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en) } _edje_emit(en->rp->edje, "selection,changed", en->rp->part->name); -#ifdef HAVE_ECORE_IMF +#ifdef HAVE_ECORE_IMF + ecore_imf_context_reset(en->imf_context); + if (en->input_panel_enable) { ecore_imf_context_input_panel_hide(en->imf_context); @@ -584,7 +588,9 @@ _sel_preextend(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en) } _edje_emit(en->rp->edje, "selection,changed", en->rp->part->name); -#ifdef HAVE_ECORE_IMF +#ifdef HAVE_ECORE_IMF + ecore_imf_context_reset(en->imf_context); + if (en->input_panel_enable) { ecore_imf_context_input_panel_hide(en->imf_context); @@ -2459,7 +2465,6 @@ _edje_entry_real_part_init(Edje_Real_Part *rp) evas_object_pass_events_set(en->cursor_fg, EINA_TRUE); rp->edje->subobjs = eina_list_append(rp->edje->subobjs, en->cursor_fg); - if(en->rp->part->select_mode == EDJE_ENTRY_SELECTION_MODE_BLOCK_HANDLE) { const char *bh_position; @@ -2502,8 +2507,6 @@ _edje_entry_real_part_init(Edje_Real_Part *rp) } } - - if (rp->part->entry_mode >= EDJE_ENTRY_EDIT_MODE_EDITABLE) { evas_object_show(en->cursor_bg); -- 2.7.4