it->delete_me = EINA_TRUE;
if (it->queued)
it->wd->queue = eina_list_remove(it->wd->queue, it);
+#ifdef ANCHOR_ITEM
if (it->wd->anchor_item == it)
{
it->wd->anchor_item = ELM_GENLIST_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->next);
if (!it->wd->anchor_item)
it->wd->anchor_item = ELM_GENLIST_ITEM_FROM_INLIST(EINA_INLIST_GET(it)->prev);
}
+#endif
it->wd->items = eina_inlist_remove(it->wd->items, EINA_INLIST_GET(it));
if (it->parent)
it->parent->items = eina_list_remove(it->parent->items, it);
wd->minh += wd->select_all_item->h;
evas_object_smart_callback_call(wd->pan_smart, "changed", NULL);
_sizing_eval(wd->obj);
+#ifdef ANCHOR_ITEM
if ((wd->anchor_item) && (wd->anchor_item->block) && (!wd->auto_scrolled))
{
Elm_Genlist_Item *it;
wd->anchor_item = it;
wd->anchor_y = it_y;
}
+#endif
}
t = ecore_time_get();
if (did_must_recalc)
sd->wd->pan_x = x;
sd->wd->pan_y = y;
+#ifdef ANCHOR_ITEM
EINA_INLIST_FOREACH(sd->wd->blocks, itb)
{
if ((itb->y + itb->h) > y)
}
}
done:
+#endif
evas_object_smart_changed(obj);
}
Elm_Genlist_Item *it2;
Evas_Coord y, h;
- if(!it->wd->effect_mode)
+ if(!it->wd->effect_mode || !it->wd->move_effect_mode)
_item_subitems_clear(it);
else
{
- if(!it->wd->item_moving_effect_timer)
+ if((!it->wd->item_moving_effect_timer) && (it->flags != ELM_GENLIST_ITEM_GROUP))
{
it->wd->expand_item = it;
_item_flip_effect_show(it);
{
Elm_Genlist_Item *it;
Eina_List *l;
-
+ Evas_Coord ox, oy, ow, oh;
+ evas_object_geometry_get(wd->obj, &ox, &oy, &ow, &oh);
+
wd->auto_scrolled = EINA_TRUE;
- EINA_LIST_FOREACH(wd->expand_item->items, l, it)
+ if (wd->expand_item->scrl_y > (oh + oy) / 2)
{
- elm_genlist_item_bring_in(it);
- }
+ EINA_LIST_FOREACH(wd->expand_item->items, l, it)
+ {
+ elm_genlist_item_bring_in(it);
+ }
+ }
}
}