elm_scroller: focus_next needs to give itself when no focusable child

@fix
This commit is contained in:
WooHyun Jung 2016-12-20 19:38:47 +09:00
parent 343cec01e9
commit 33e353a2a8
1 changed files with 21 additions and 18 deletions

View File

@ -471,6 +471,10 @@ _elm_scroller_elm_widget_focus_next(Eo *obj EINA_UNUSED, Elm_Scroller_Data *sd,
(elm_widget_child_can_focus_get(cur)))
{
Eina_Bool ret = EINA_FALSE;
ret = elm_widget_focus_next_get(cur, dir, next, next_item);
if (*next)
{
Evas_Coord x = 0, y = 0;
Evas_Coord v_w = 0, v_h = 0;
Evas_Coord c_x = 0, c_y = 0;
@ -478,8 +482,6 @@ _elm_scroller_elm_widget_focus_next(Eo *obj EINA_UNUSED, Elm_Scroller_Data *sd,
Evas_Coord l_x = 0, l_y = 0, l_w = 0, l_h = 0;
Evas_Coord step_x = 0, step_y = 0;
ret = elm_widget_focus_next_get(cur, dir, next, next_item);
elm_interface_scrollable_content_pos_get(obj, &x, &y);
elm_interface_scrollable_step_size_get(obj, &step_x, &step_y);
elm_interface_scrollable_content_viewport_geometry_get
@ -494,6 +496,7 @@ _elm_scroller_elm_widget_focus_next(Eo *obj EINA_UNUSED, Elm_Scroller_Data *sd,
if (!ret || ELM_RECTS_INTERSECT(x, y, v_w, v_h, l_x, l_y, l_w, l_h))
return ret;
}
}
if (!(elm_widget_can_focus_get(obj)) &&
!(elm_widget_can_focus_get(cur)))