Thanks, Raster. In the current edje_entry, there are some bugs related to sequence and miss to call '_edje_entry_imf_cursor_info_set()'. Cursor geometry information should be transferred after ecore_imf_context_focus_in API is called.
This patch will resolve those bugs. Would you please apply this patch? -----Original Message----- From: Carsten Haitzler (The Rasterman) [mailto:ras...@rasterman.com] Sent: Friday, July 29, 2011 2:56 PM To: Jihoon Kim Cc: enlightenment-devel@lists.sourceforge.net Subject: Re: [E-devel] [PATCH] notify immodule to know the cursor location On Thu, 21 Jul 2011 19:22:14 +0900 Jihoon Kim <jihoon48....@samsung.com> said: hmm. patch didn't apply cleanly, so I had to manually patch in a lot of rejections (12 of them), but I've put it in and fixed a warning as well. thanks very much! :) > Hi, EFL developers. > > In immodule, the cursor location is needed to move the word candidate > window. > In this patch, calling ecore_imf_context_cursor_location_set lets immodule > know the cursor location. > > Would you please review this patch? > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com
Index: edje_entry.c =================================================================== --- edje_entry.c (revision 61932) +++ edje_entry.c (working copy) @@ -106,8 +106,8 @@ _edje_entry_focus_in_cb(void *data, Evas_Object *o if (evas_object_focus_get(rp->edje->obj)) { ecore_imf_context_reset(en->imf_context); + ecore_imf_context_focus_in(en->imf_context); _edje_entry_imf_cursor_info_set(en); - ecore_imf_context_focus_in(en->imf_context); } } @@ -124,7 +124,7 @@ _edje_entry_focus_out_cb(void *data, Evas_Object * if (!en || !en->imf_context) return; ecore_imf_context_reset(en->imf_context); - ecore_imf_context_cursor_position_set(en->imf_context, evas_textblock_cursor_pos_get(en->cursor)); + _edje_entry_imf_cursor_info_set(en); ecore_imf_context_focus_out(en->imf_context); } #endif @@ -152,6 +152,7 @@ _edje_focus_in_cb(void *data, Evas *e __UNUSED__, ecore_imf_context_reset(en->imf_context); ecore_imf_context_focus_in(en->imf_context); + _edje_entry_imf_cursor_info_set(en); #endif } @@ -176,7 +177,7 @@ _edje_focus_out_cb(void *data, Evas *e __UNUSED__, if (!en->imf_context) return; ecore_imf_context_reset(en->imf_context); - ecore_imf_context_cursor_position_set(en->imf_context, evas_textblock_cursor_pos_get(en->cursor)); + _edje_entry_imf_cursor_info_set(en); ecore_imf_context_focus_out(en->imf_context); #endif } @@ -2079,6 +2080,7 @@ _edje_entry_text_markup_set(Edje_Real_Part *rp, co _anchors_get(en->cursor, rp->object, en); _edje_emit(rp->edje, "entry,changed", rp->part->name); + _edje_entry_imf_cursor_info_set(en); #if 0 /* Don't emit cursor changed cause it didn't. It's just init to 0. */ _edje_emit(rp->edje, "cursor,changed", rp->part->name);
------------------------------------------------------------------------------ Got Input? Slashdot Needs You. Take our quick survey online. Come on, we don't ask for help often. Plus, you'll get a chance to win $100 to spend on ThinkGeek. http://p.sf.net/sfu/slashdot-survey
_______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel