summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrince Kr Dubey <prince.dubey@gmail.com>2015-06-22 11:51:20 +0200
committerCedric BAIL <cedric@osg.samsung.com>2015-06-22 12:36:57 +0200
commit0ad226a6c4a9ebccdbd861d47b713163379b3d87 (patch)
treeee94f850fa2aace6f1ea44b6945456ef3a95668d
parent1886838fb47940bcc3e90c855c71024323e7dd9e (diff)
genlist: fix Issue "In Tree effect feature, items floates when number of item crosses item block size".
Summary: "In Tree effect feature, during expansion of tree, when total number of items crosses block count, items start floating". Test Plan: Run elementary_test, open Genlist Tree, keep expanding items untill it crosses number of count 32 (Block count). Resize the window, floting items can be seen. Reviewers: raster, cedric Subscribers: shilpasingh, poornima.srinivasan, govi, rajeshps Differential Revision: https://phab.enlightenment.org/D2627 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
-rw-r--r--src/lib/elm_genlist.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index a4936b016..dbd7c3d9c 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -1067,6 +1067,9 @@ _item_tree_effect_finish(Elm_Genlist_Data *sd)
1067{ 1067{
1068 Elm_Object_Item *eo_it = NULL; 1068 Elm_Object_Item *eo_it = NULL;
1069 const Eina_List *l; 1069 const Eina_List *l;
1070 Item_Block *itb;
1071 Elm_Gen_Item *it1;
1072 Evas_Coord y = 0;
1070 1073
1071 if (sd->tree_effect_animator) 1074 if (sd->tree_effect_animator)
1072 { 1075 {
@@ -1086,6 +1089,22 @@ _item_tree_effect_finish(Elm_Genlist_Data *sd)
1086 edje_object_signal_emit(VIEW(it), SIGNAL_SHOW, "elm"); 1089 edje_object_signal_emit(VIEW(it), SIGNAL_SHOW, "elm");
1087 } 1090 }
1088 } 1091 }
1092 if (sd->move_effect_mode ==
1093 ELM_GENLIST_TREE_EFFECT_EXPAND)
1094 {
1095 EINA_INLIST_FOREACH(sd->blocks, itb)
1096 {
1097 EINA_LIST_FOREACH(itb->items, l, it1)
1098 {
1099 if (it1->item->scrl_y <= y)
1100 {
1101 it1->item->scrl_y = y + it1->item->h;
1102 _elm_genlist_item_unrealize(it1, EINA_FALSE);
1103 }
1104 y = it1->item->scrl_y;
1105 }
1106 }
1107 }
1089 } 1108 }
1090 1109
1091 _item_auto_scroll(sd); 1110 _item_auto_scroll(sd);