hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=18ca260c1aaceb30ab49b79ef47d5337709b018b
commit 18ca260c1aaceb30ab49b79ef47d5337709b018b Author: Hermet Park <her...@hermet.pe.kr> Date: Wed Mar 16 20:02:32 2016 +0900 edc_navigator: fix the editor cursor jump issue. Skip a group selection callback because it leads the editor cursor jump on to the group area. But this group updation could be triggered in a various scenario. The cursor should be jumped only when user clicked a group item in the genlist. --- src/bin/edc_navigator.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/bin/edc_navigator.c b/src/bin/edc_navigator.c index bf00cad..3ba946f 100644 --- a/src/bin/edc_navigator.c +++ b/src/bin/edc_navigator.c @@ -24,6 +24,8 @@ typedef struct edc_navigator_s Elm_Genlist_Item_Class *programs_itc; Elm_Genlist_Item_Class *program_itc; + Eina_Bool group_select_skip : 1; + } navi_data; typedef struct part_item_data_s @@ -789,6 +791,7 @@ static void gl_group_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) { navi_data *nd = data; + if (nd->group_select_skip) return; Elm_Object_Item *it = event_info; @@ -838,7 +841,14 @@ edc_navigator_group_update(const char *cur_group) if (!strcmp(group_name, cur_group) && (strlen(group_name) == cur_group_len)) { + + //Skip a group selection callback because it leads the editor + //cursor jump on to the group area. But this group updation could + //be triggered in a various scenario. The cursor should be jumped + //only when user clicks a group item in the genlist. + nd->group_select_skip = EINA_TRUE; elm_genlist_item_selected_set(it, EINA_TRUE); + nd->group_select_skip = EINA_FALSE; group_it = it; break; } --