From: Kim Shinwoo <kimcinoo.efl@gmail.com>

Subject: [E-devel] [patch][elementary] diskselector - checking middle
item

the diskselector object x-coordinate would not be 0.
but the _scroll_animate_stop_cb() calculates selected item with assumption
that the diskselector object x-coordinate is 0.
so different item which is not in middle of diskselector is selected.



SVN revision: 77182
This commit is contained in:
Kim Shinwoo 2012-09-28 08:48:48 +00:00 committed by Carsten Haitzler
parent 01691d9e7d
commit b52366b70d
3 changed files with 9 additions and 3 deletions

View File

@ -542,3 +542,8 @@
2012-09-27 Jaehwan Kim
* Add the toolbar API which expand the transverse length
2012-09-28 Shinwoo Kim (kimcinoo)
* Fix disk selector selection of middle item when obj not at 0.

View File

@ -31,6 +31,7 @@ Fixes:
* Fix diskselector when bounce off and round enabled.
* Fix bubble info field set.
* Escape theme filename correctly.
* Fix diskselkector selection of middle item.
Removals:

View File

@ -903,7 +903,7 @@ _scroll_animate_stop_cb(Evas_Object *obj,
void *data __UNUSED__)
{
Elm_Diskselector_Item *it;
Evas_Coord x, w, ow;
Evas_Coord x, w, ox, ow;
Eina_List *l, *list;
ELM_DISKSELECTOR_DATA_GET(obj, sd);
@ -915,11 +915,11 @@ _scroll_animate_stop_cb(Evas_Object *obj,
else
list = sd->r_items;
evas_object_geometry_get(obj, NULL, NULL, &ow, NULL);
evas_object_geometry_get(obj, &ox, NULL, &ow, NULL);
EINA_LIST_FOREACH (list, l, it)
{
evas_object_geometry_get(VIEW(it), &x, NULL, &w, NULL);
if (abs((int)(ow / 2 - (int)(x + w / 2))) < 10) break;
if (abs((int)(ox + (ow / 2)) - (int)(x + (w / 2))) < 10) break;
}
if (!it) return;