rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=cb9ce736469f0a1faa930172c91279fba507feb1
commit cb9ce736469f0a1faa930172c91279fba507feb1 Author: Vyacheslav Reutskiy <v.reuts...@samsung.com> Date: Wed Nov 9 10:34:36 2016 +0200 project_navigator: update comporator for sorted insert Fixes T4802 Change-Id: I7d21e1307b1f891014e422c2b34f9bdbf46de062 Conflicts: src/bin/ui/project_navigator.c --- src/bin/ui/project_navigator.c | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c index b8af9f1..6afdffd 100644 --- a/src/bin/ui/project_navigator.c +++ b/src/bin/ui/project_navigator.c @@ -280,22 +280,33 @@ _items_compare(const void *data1, const void *data2) const char *str2; const Elm_Object_Item *it1 = data1; const Elm_Object_Item *it2 = data2; + const Elm_Genlist_Item_Class *it1_class; + const Elm_Genlist_Item_Class *it2_class; - /* add group */ - if (elm_genlist_item_item_class_get(it1) == project_navigator.itc_group) + it1_class = elm_genlist_item_item_class_get(it1); + it2_class = elm_genlist_item_item_class_get(it2); + + if ((it1_class == project_navigator.itc_group) && + (it2_class == project_navigator.itc_folder)) { - if (elm_genlist_item_item_class_get(it2) != project_navigator.itc_folder) - str2 = ((Group *)elm_object_item_data_get(it2))->name; - else return 1; - str1 = ((Group *)elm_object_item_data_get(it1))->name; + return 1; } - else /* add folder */ + else if ((it1_class == project_navigator.itc_folder) && + (it2_class == project_navigator.itc_group)) { - if (elm_genlist_item_item_class_get(it2) == project_navigator.itc_group) - str2 = elm_object_item_data_get(it2); - else return -1; - str1 = elm_object_item_data_get(it1); + return -1; } + + if (it1_class == project_navigator.itc_group) + str1 = ((Group *)elm_object_item_data_get(it1))->name; + else + str1 = elm_object_item_data_get(it1); + + if (it2_class == project_navigator.itc_group) + str2 = ((Group *)elm_object_item_data_get(it2))->name; + else + str2 = elm_object_item_data_get(it2); + return strcmp(str1, str2); } --