Revert "remove all scrolling changes for focused items."

This reverts commit 377179bdaf84aa1a86621cdfa64ed43613ab9d45.

The main claim of https://phab.enlightenment.org/T1205 was fixed in
the previous commit 30cada369. This code will be modifed again in the
next commit due to the api change during development life cycle.

Note: do not blindly revert this commit if you have any problem with
widget item focus. This commit is not related to any fundamental cause
of the issues. If you have a problem, please contact me first.

seojuyung2@gmail.com or SeoZ on IRC.

Thanks.
This commit is contained in:
Daniel Juyung Seo 2014-05-11 17:53:00 +09:00 committed by Daniel Juyung Seo
parent dfead75366
commit 4f8614e866
4 changed files with 28 additions and 0 deletions

View File

@ -1487,6 +1487,12 @@ _elm_gengrid_item_focused(Elm_Gen_Item *it)
(elm_widget_item_disabled_get(it)))
return;
if (!_elm_config->focus_auto_scroll_bring_in_enable)
elm_gengrid_item_show
((Elm_Object_Item *)it, ELM_GENGRID_ITEM_SCROLLTO_IN);
else
elm_gengrid_item_bring_in
((Elm_Object_Item *)it, ELM_GENGRID_ITEM_SCROLLTO_IN);
sd->focused_item = (Elm_Object_Item *)it;
if (elm_widget_focus_highlight_enabled_get(obj))

View File

@ -2432,6 +2432,12 @@ _elm_genlist_item_focused(Elm_Gen_Item *it)
(elm_widget_item_disabled_get(it)))
return;
if (!_elm_config->focus_auto_scroll_bring_in_enable)
elm_genlist_item_show((Elm_Object_Item *)it,
ELM_GENLIST_ITEM_SCROLLTO_IN);
else
elm_genlist_item_bring_in((Elm_Object_Item *)it,
ELM_GENLIST_ITEM_SCROLLTO_IN);
sd->focused_item = (Elm_Object_Item *)it;
if (elm_widget_focus_highlight_enabled_get(obj))

View File

@ -1084,11 +1084,21 @@ static void
_elm_list_item_focused(Elm_List_Item *it)
{
ELM_LIST_DATA_GET(WIDGET(it), sd);
Evas_Coord x, y, w, h, sx, sy, sw, sh;
const char *focus_raise;
if ((!sd) || (sd->select_mode == ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY) ||
(it == (Elm_List_Item *)sd->focused_item))
return;
evas_object_geometry_get(VIEW(it), &x, &y, &w, &h);
evas_object_geometry_get(sd->hit_rect, &sx, &sy, &sw, &sh);
if ((x < sx) || (y < sy)|| ((x + w) > (sx + sw)) || ((y + h) > (sy + sh)))
{
if (!_elm_config->focus_auto_scroll_bring_in_enable)
elm_list_item_show((Elm_Object_Item *)it);
else
elm_list_item_bring_in((Elm_Object_Item *)it);
}
sd->focused_item = (Elm_Object_Item *)it;
if (elm_widget_focus_highlight_enabled_get(WIDGET(it)))
{

View File

@ -601,6 +601,12 @@ _elm_toolbar_item_focused(Elm_Toolbar_Item *it)
return;
sd->focused_item = it;
if (!_elm_config->focus_auto_scroll_bring_in_enable)
elm_toolbar_item_show((Elm_Object_Item *)it,
ELM_TOOLBAR_ITEM_SCROLLTO_IN);
else
elm_toolbar_item_bring_in((Elm_Object_Item *)it,
ELM_TOOLBAR_ITEM_SCROLLTO_IN);
if (elm_widget_focus_highlight_enabled_get(obj))
{
edje_object_signal_emit