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;
           }

-- 


Reply via email to