genlist prepends no longer cause selected items to be autoscrolled out of the viewport

SVN revision: 71500
This commit is contained in:
Mike Blumenkrantz 2012-05-29 10:25:55 +00:00
parent 47dc963983
commit b9f0a6d736
2 changed files with 16 additions and 0 deletions

View File

@ -115,3 +115,7 @@
* Made elm_object_focus_set() fall back to evbas_object_focus_set()
if the object is not an elm widget.
2012-05-29 Mike Blumenkrantz
* Prepending items to a genlist no longer causes the selected item to
scroll out of the viewport

View File

@ -4116,6 +4116,18 @@ _item_process_post(Widget_Data *wd, Elm_Gen_Item *it, Eina_Bool qadd)
}
}
if (showme) it->item->block->showme = EINA_TRUE;
/* when prepending, move the scroller along with the first selected item to
* create the illusion that we're watching the selected item
* this prevents the selected item being scrolled off the viewport
*/
if (wd->selected && it->item->before)
{
int y, h;
it = wd->selected->data;
elm_smart_scroller_child_pos_get(wd->scr, NULL, &y);
evas_object_geometry_get(wd->pan_smart, NULL, NULL, NULL, &h);
elm_smart_scroller_child_region_show(wd->scr, it->x + it->item->block->x, y + it->item->h, it->item->block->w, h);
}
}
static int