From 7f0f50fbc696252aa9895c8e0fe2811f7c7f9e5c Mon Sep 17 00:00:00 2001 From: Daniel Juyung Seo Date: Sun, 23 Mar 2014 23:29:16 +0900 Subject: [PATCH] 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. --- legacy/elementary/src/lib/elm_gengrid.c | 18 ++++++++++-------- legacy/elementary/src/lib/elm_genlist.c | 16 ++++++++-------- legacy/elementary/src/lib/elm_list.c | 14 ++++++++------ 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/legacy/elementary/src/lib/elm_gengrid.c b/legacy/elementary/src/lib/elm_gengrid.c index 3895be1bd3..deffc7351b 100644 --- a/legacy/elementary/src/lib/elm_gengrid.c +++ b/legacy/elementary/src/lib/elm_gengrid.c @@ -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 diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index 4158f593e9..567c586c1d 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -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 diff --git a/legacy/elementary/src/lib/elm_list.c b/legacy/elementary/src/lib/elm_list.c index a89b1545d0..447ce9d7fe 100644 --- a/legacy/elementary/src/lib/elm_list.c +++ b/legacy/elementary/src/lib/elm_list.c @@ -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); } /*