forked from enlightenment/efl
list/genlist/gengrid: Internal refactoring of item_focused/unfocused
codes. - Added a check for focus highlight enable status before calling focus signal to edje. - Used obj instead of WIDGET(it) because that is used many times.
This commit is contained in:
parent
26f4d3fcd9
commit
7f0f50fbc6
|
@ -1505,7 +1505,7 @@ static void
|
|||
_elm_gengrid_item_focused(Elm_Gen_Item *it)
|
||||
{
|
||||
Evas_Object *obj = WIDGET(it);
|
||||
Elm_Gengrid_Smart_Data *sd = GG_IT(it)->wsd;
|
||||
ELM_GENGRID_DATA_GET(obj, sd);
|
||||
const char *focus_raise;
|
||||
|
||||
if (it->generation < sd->generation)
|
||||
|
@ -1530,14 +1530,14 @@ _elm_gengrid_item_focused(Elm_Gen_Item *it)
|
|||
focus_raise = edje_object_data_get(VIEW(it), "focusraise");
|
||||
if ((focus_raise) && (!strcmp(focus_raise, "on")))
|
||||
evas_object_raise(VIEW(it));
|
||||
evas_object_smart_callback_call
|
||||
(WIDGET(it), SIG_ITEM_FOCUSED, it);
|
||||
evas_object_smart_callback_call(obj, SIG_ITEM_FOCUSED, it);
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_gengrid_item_unfocused(Elm_Gen_Item *it)
|
||||
{
|
||||
Elm_Gengrid_Smart_Data *sd = GG_IT(it)->wsd;
|
||||
Evas_Object *obj = WIDGET(it);
|
||||
ELM_GENGRID_DATA_GET(obj, sd);
|
||||
|
||||
if (it->generation < sd->generation)
|
||||
return;
|
||||
|
@ -1552,12 +1552,14 @@ _elm_gengrid_item_unfocused(Elm_Gen_Item *it)
|
|||
|
||||
sd->prev_focused_item = (Elm_Object_Item *)it;
|
||||
|
||||
edje_object_signal_emit
|
||||
(VIEW(sd->focused_item), "elm,state,unfocused", "elm");
|
||||
if (elm_widget_focus_highlight_enabled_get(obj))
|
||||
{
|
||||
edje_object_signal_emit
|
||||
(VIEW(sd->focused_item), "elm,state,unfocused", "elm");
|
||||
}
|
||||
|
||||
sd->focused_item = NULL;
|
||||
evas_object_smart_callback_call
|
||||
(WIDGET(it), SIG_ITEM_UNFOCUSED, it);
|
||||
evas_object_smart_callback_call(obj, SIG_ITEM_UNFOCUSED, it);
|
||||
}
|
||||
|
||||
/* NOTE: this code will be used later when the item selection on key press
|
||||
|
|
|
@ -2440,7 +2440,7 @@ static void
|
|||
_elm_genlist_item_focused(Elm_Gen_Item *it)
|
||||
{
|
||||
Evas_Object *obj = WIDGET(it);
|
||||
Elm_Genlist_Smart_Data *sd = GL_IT(it)->wsd;
|
||||
ELM_GENLIST_DATA_GET(obj, sd);
|
||||
const char *focus_raise;
|
||||
|
||||
if (it->generation < sd->generation)
|
||||
|
@ -2464,14 +2464,14 @@ _elm_genlist_item_focused(Elm_Gen_Item *it)
|
|||
focus_raise = edje_object_data_get(VIEW(it), "focusraise");
|
||||
if ((focus_raise) && (!strcmp(focus_raise, "on")))
|
||||
evas_object_raise(VIEW(it));
|
||||
evas_object_smart_callback_call
|
||||
(WIDGET(it), SIG_ITEM_FOCUSED, it);
|
||||
evas_object_smart_callback_call(obj, SIG_ITEM_FOCUSED, it);
|
||||
}
|
||||
|
||||
static void
|
||||
_elm_genlist_item_unfocused(Elm_Gen_Item *it)
|
||||
{
|
||||
Elm_Genlist_Smart_Data *sd = GL_IT(it)->wsd;
|
||||
Evas_Object *obj = WIDGET(it);
|
||||
ELM_GENLIST_DATA_GET(obj, sd);
|
||||
|
||||
if (it->generation < sd->generation)
|
||||
return;
|
||||
|
@ -2486,12 +2486,12 @@ _elm_genlist_item_unfocused(Elm_Gen_Item *it)
|
|||
|
||||
sd->prev_focused_item = (Elm_Object_Item *)it;
|
||||
|
||||
edje_object_signal_emit
|
||||
(VIEW(sd->focused_item), "elm,state,unfocused", "elm");
|
||||
if (elm_widget_focus_highlight_enabled_get(obj))
|
||||
edje_object_signal_emit
|
||||
(VIEW(sd->focused_item), "elm,state,unfocused", "elm");
|
||||
|
||||
sd->focused_item = NULL;
|
||||
evas_object_smart_callback_call
|
||||
(WIDGET(it), SIG_ITEM_UNFOCUSED, it);
|
||||
evas_object_smart_callback_call(obj, SIG_ITEM_UNFOCUSED, it);
|
||||
}
|
||||
|
||||
/* NOTE: this code will be used later when the item selection on key press
|
||||
|
|
|
@ -1036,7 +1036,8 @@ _elm_list_item_focused(Elm_List_Item *it)
|
|||
static void
|
||||
_elm_list_item_unfocused(Elm_List_Item *it)
|
||||
{
|
||||
ELM_LIST_DATA_GET(WIDGET(it), sd);
|
||||
Evas_Object *obj = WIDGET(it);
|
||||
ELM_LIST_DATA_GET(obj, sd);
|
||||
|
||||
if ((!sd) || (!sd->focused_item) ||
|
||||
(it != (Elm_List_Item *)sd->focused_item))
|
||||
|
@ -1046,13 +1047,14 @@ _elm_list_item_unfocused(Elm_List_Item *it)
|
|||
if (sd->select_mode == ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY)
|
||||
return;
|
||||
|
||||
if (elm_widget_focus_highlight_enabled_get(WIDGET(sd->focused_item)))
|
||||
edje_object_signal_emit
|
||||
(VIEW(sd->focused_item), "elm,state,unfocused", "elm");
|
||||
if (elm_widget_focus_highlight_enabled_get(obj))
|
||||
{
|
||||
edje_object_signal_emit
|
||||
(VIEW(sd->focused_item), "elm,state,unfocused", "elm");
|
||||
}
|
||||
|
||||
sd->focused_item = NULL;
|
||||
evas_object_smart_callback_call
|
||||
(WIDGET(it), SIG_ITEM_UNFOCUSED, it);
|
||||
evas_object_smart_callback_call(obj, SIG_ITEM_UNFOCUSED, it);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue