forked from enlightenment/efl
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>
This commit is contained in:
parent
9818f2a7d2
commit
cc2fac3551
|
@ -1067,6 +1067,9 @@ _item_tree_effect_finish(Elm_Genlist_Data *sd)
|
|||
{
|
||||
Elm_Object_Item *eo_it = NULL;
|
||||
const Eina_List *l;
|
||||
Item_Block *itb;
|
||||
Elm_Gen_Item *it1;
|
||||
Evas_Coord y = 0;
|
||||
|
||||
if (sd->tree_effect_animator)
|
||||
{
|
||||
|
@ -1086,6 +1089,22 @@ _item_tree_effect_finish(Elm_Genlist_Data *sd)
|
|||
edje_object_signal_emit(VIEW(it), SIGNAL_SHOW, "elm");
|
||||
}
|
||||
}
|
||||
if (sd->move_effect_mode ==
|
||||
ELM_GENLIST_TREE_EFFECT_EXPAND)
|
||||
{
|
||||
EINA_INLIST_FOREACH(sd->blocks, itb)
|
||||
{
|
||||
EINA_LIST_FOREACH(itb->items, l, it1)
|
||||
{
|
||||
if (it1->item->scrl_y <= y)
|
||||
{
|
||||
it1->item->scrl_y = y + it1->item->h;
|
||||
_elm_genlist_item_unrealize(it1, EINA_FALSE);
|
||||
}
|
||||
y = it1->item->scrl_y;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_item_auto_scroll(sd);
|
||||
|
|
Loading…
Reference in New Issue