hermet pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=2eb95a547736af1445b0a292223ad8973ad24acb
commit 2eb95a547736af1445b0a292223ad8973ad24acb Author: Minkyu Kang <mk7.k...@samsung.com> Date: Wed Jan 20 17:06:22 2016 +0900 elm_widget: cleanup _elm_widget_on_focus function Summary: This patch will reduce duplicate codes and code depth for readability Signed-off-by: Minkyu Kang <mk7.k...@samsung.com> Reviewers: seoz, Hermet, cedric Subscribers: seoz Differential Revision: https://phab.enlightenment.org/D3574 --- src/lib/elm_widget.c | 36 ++++++++++++++---------------------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index 97ef045..11d4ee0 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -5743,30 +5743,22 @@ _elm_widget_eo_base_destructor(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UNUSED) EOLIAN static Eina_Bool _elm_widget_on_focus(Eo *obj, Elm_Widget_Smart_Data *sd, Elm_Object_Item *item EINA_UNUSED) { - if (elm_widget_can_focus_get(obj)) - { - if (elm_widget_focus_get(obj)) - { - if (!sd->resize_obj) - evas_object_focus_set(obj, EINA_TRUE); - eo_do(obj, eo_event_callback_call - (ELM_WIDGET_EVENT_FOCUSED, NULL)); - if (_elm_config->atspi_mode && !elm_widget_child_can_focus_get(obj)) - elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, EINA_TRUE); - } - else - { - if (!sd->resize_obj) - evas_object_focus_set(obj, EINA_FALSE); - eo_do(obj, eo_event_callback_call - (ELM_WIDGET_EVENT_UNFOCUSED, NULL)); - if (_elm_config->atspi_mode && !elm_widget_child_can_focus_get(obj)) - elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, EINA_FALSE); - } - } - else + Eina_Bool focused; + const Eo_Event_Description *desc; + + if (!elm_widget_can_focus_get(obj)) return EINA_FALSE; + focused = elm_widget_focus_get(obj); + desc = focused ? ELM_WIDGET_EVENT_FOCUSED : ELM_WIDGET_EVENT_UNFOCUSED; + + if (!sd->resize_obj) + evas_object_focus_set(obj, focused); + eo_do(obj, eo_event_callback_call(desc, NULL)); + + if (_elm_config->atspi_mode && !elm_widget_child_can_focus_get(obj)) + elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_FOCUSED, focused); + return EINA_TRUE; } --