naviframe: keep unfocusable state of item before finishing item push/pop

If item pop was started without focus at a naviframe object
and the naviframe object got focus before finising item pop,
the naviframe object could give focus to its first object of prev item.
It could ruin focus orders and failed to restore previous focused
object in the item.
To keep consistency of focus policy, same logic will be applied to
item push scenario.
@fix

Change-Id: Ia74bdce3620bd59622ef32a0cedf5fbd84815400
This commit is contained in:
Youngbok Shin 2017-03-08 14:15:56 +09:00 committed by Jaehyun Cho
parent 99d21f6d9c
commit a7b501d947
1 changed files with 2 additions and 2 deletions

View File

@ -1166,6 +1166,7 @@ _on_item_show_finished(void *data,
elm_object_signal_emit(VIEW(it), "elm,state,visible", "elm");
elm_widget_tree_unfocusable_set(VIEW(it), EINA_FALSE);
_prev_page_focus_recover(it);
if (sd->freeze_events)
@ -1589,7 +1590,7 @@ _item_push_helper(Elm_Naviframe_Item_Data *item)
{
Elm_Naviframe_Op *nfo = calloc(1, sizeof (Elm_Naviframe_Op));
elm_widget_tree_unfocusable_set(VIEW(item), EINA_FALSE);
elm_widget_tree_unfocusable_set(VIEW(item), EINA_TRUE);
elm_widget_tree_unfocusable_set(VIEW(top_item), EINA_TRUE);
if (sd->freeze_events)
@ -1806,7 +1807,6 @@ _elm_naviframe_item_pop(Eo *obj, Elm_Naviframe_Data *sd)
Elm_Naviframe_Op *nfo = calloc(1, sizeof (Elm_Naviframe_Op));
elm_widget_tree_unfocusable_set(VIEW(it), EINA_TRUE);
elm_widget_tree_unfocusable_set(VIEW(prev_it), EINA_FALSE);
if (sd->freeze_events)
{