list/genlist/gengrid/toolbar: set focus/unfocus on item when focus is actually set on widget.

Summary: @Fix

Reviewers: raster, Hermet, seoz

Reviewed By: seoz

Subscribers: seoz

Differential Revision: https://phab.enlightenment.org/D1918
This commit is contained in:
Amitesh Singh 2015-02-03 15:47:32 +09:00 committed by Daniel Juyung Seo
parent 6e8f8629aa
commit ab50a85937
4 changed files with 28 additions and 2 deletions

View File

@ -3411,6 +3411,9 @@ _elm_gengrid_item_elm_widget_item_focus_set(Eo *eo_it, Elm_Gen_Item *it, Eina_Bo
if (!elm_object_focus_get(obj))
elm_object_focus_set(obj, EINA_TRUE);
if (!elm_widget_focus_get(obj))
return;
if (eo_it != sd->focused_item)
{
if (sd->focused_item)
@ -3423,7 +3426,11 @@ _elm_gengrid_item_elm_widget_item_focus_set(Eo *eo_it, Elm_Gen_Item *it, Eina_Bo
}
}
else
_elm_gengrid_item_unfocused(eo_it);
{
if (!elm_widget_focus_get(obj))
return;
_elm_gengrid_item_unfocused(eo_it);
}
}
EOLIAN static Eina_Bool

View File

@ -5711,6 +5711,9 @@ _elm_genlist_item_elm_widget_item_focus_set(Eo *eo_it, Elm_Gen_Item *it, Eina_Bo
if (!elm_object_focus_get(obj))
elm_object_focus_set(obj, EINA_TRUE);
if (!elm_widget_focus_get(obj))
return;
if (eo_it != sd->focused_item)
{
if (sd->focused_item)
@ -5723,7 +5726,11 @@ _elm_genlist_item_elm_widget_item_focus_set(Eo *eo_it, Elm_Gen_Item *it, Eina_Bo
}
}
else
_elm_genlist_item_unfocused(eo_it);
{
if (!elm_widget_focus_get(obj))
return;
_elm_genlist_item_unfocused(eo_it);
}
}
EOLIAN static Eina_Bool

View File

@ -2121,6 +2121,10 @@ _elm_list_item_elm_widget_item_focus_set(Eo *eo_it, Elm_List_Item_Data *it, Eina
sd->last_focused_item = eo_it;
if (!elm_object_focus_get(obj))
elm_object_focus_set(obj, EINA_TRUE);
if (!elm_widget_focus_get(obj))
return;
if (eo_it != sd->focused_item)
{
if (sd->focused_item)
@ -2130,6 +2134,8 @@ _elm_list_item_elm_widget_item_focus_set(Eo *eo_it, Elm_List_Item_Data *it, Eina
}
else
{
if (!elm_widget_focus_get(obj))
return;
if (eo_it)
_elm_list_item_unfocused(eo_it);
}

View File

@ -827,6 +827,10 @@ _elm_toolbar_item_elm_widget_item_focus_set(Eo *eo_it, Elm_Toolbar_Item_Data *it
sd->last_focused_item = eo_it;
if (!elm_object_focus_get(obj))
elm_object_focus_set(obj, EINA_TRUE);
if (!elm_widget_focus_get(obj))
return;
if (eo_it != sd->focused_item)
{
if (sd->focused_item)
@ -836,6 +840,8 @@ _elm_toolbar_item_elm_widget_item_focus_set(Eo *eo_it, Elm_Toolbar_Item_Data *it
}
else
{
if (!elm_widget_focus_get(obj))
return;
if (eo_it)
_elm_toolbar_item_unfocused(eo_it);
}