From: Enlightenment S. <no-...@en...> - 2012-09-28 08:49:15
|
Log: From: Kim Shinwoo <kim...@gm...> 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. Author: raster Date: 2012-09-28 01:48:48 -0700 (Fri, 28 Sep 2012) New Revision: 77182 Trac: http://trac.enlightenment.org/e/changeset/77182 Modified: trunk/elementary/ChangeLog trunk/elementary/NEWS trunk/elementary/src/lib/elm_diskselector.c Modified: trunk/elementary/ChangeLog =================================================================== --- trunk/elementary/ChangeLog 2012-09-28 07:53:25 UTC (rev 77181) +++ trunk/elementary/ChangeLog 2012-09-28 08:48:48 UTC (rev 77182) @@ -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. + Modified: trunk/elementary/NEWS =================================================================== --- trunk/elementary/NEWS 2012-09-28 07:53:25 UTC (rev 77181) +++ trunk/elementary/NEWS 2012-09-28 08:48:48 UTC (rev 77182) @@ -31,6 +31,7 @@ * Fix diskselector when bounce off and round enabled. * Fix bubble info field set. * Escape theme filename correctly. + * Fix diskselkector selection of middle item. Removals: Modified: trunk/elementary/src/lib/elm_diskselector.c =================================================================== --- trunk/elementary/src/lib/elm_diskselector.c 2012-09-28 07:53:25 UTC (rev 77181) +++ trunk/elementary/src/lib/elm_diskselector.c 2012-09-28 08:48:48 UTC (rev 77182) @@ -903,7 +903,7 @@ 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 @@ 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; |