diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 665b678fcd..5ccfc4a7f3 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -366,8 +366,3 @@ 2012-08-02 Cedric Bail * Fix elm_image_orient_set/get. - -2012-08-03 Cedric Bail - - * Add smart callback "focus-in" and "focus-out". - * On focus loss, Elm_Spinner hide entry and display label properly. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index bc3f98fff4..848bd0d150 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -19,7 +19,6 @@ Additions: * Initialize Emotion when necessary. * Elm_Win_Trap and elm_win_trap_set() to allow e17 integration. * elm_flip_go_to() - * Add smart callback "focus-in" and "focus-out" when an Elementary object gain or loose focus. * On focus loss, Elm_Spinner properly hide Elm_Entry and display label properly. Fixes: diff --git a/legacy/elementary/src/lib/elm_widget.c b/legacy/elementary/src/lib/elm_widget.c index f6e0d3dc06..f4e13f05fb 100644 --- a/legacy/elementary/src/lib/elm_widget.c +++ b/legacy/elementary/src/lib/elm_widget.c @@ -367,25 +367,6 @@ _elm_widget_focus_direction_func_unimplemented(const Evas_Object *obj __UNUSED__ return EINA_FALSE; } -static Eina_Bool -_elm_widget_focus_call(Elm_Widget_Smart_Data *sd, Evas_Object *obj) -{ - Eina_Bool r = EINA_FALSE; - - sd->api->on_focus(obj); - if (_elm_legacy_is(obj) && COMPAT_SMART_DATA(sd)->focus) - { - COMPAT_SMART_DATA(sd)->focus(obj); - r = EINA_TRUE; - } - if (sd->focused) - evas_object_smart_callback_call(obj, "focus-in", NULL); - else - evas_object_smart_callback_call(obj, "focus-out", NULL); - - return r; -} - static Eina_Bool _elm_widget_sub_object_add_func(Evas_Object *obj, Evas_Object *sobj) @@ -850,7 +831,9 @@ _parent_focus(Evas_Object *obj) if (sd->top_win_focused) { sd->focused = EINA_TRUE; - _elm_widget_focus_call(sd, obj); + sd->api->on_focus(obj); + if (_elm_legacy_is(obj) && COMPAT_SMART_DATA(sd)->focus) + COMPAT_SMART_DATA(sd)->focus(obj); _elm_widget_focus_region_show(obj); } sd->focus_order_on_calc = EINA_FALSE; @@ -2743,10 +2726,12 @@ elm_widget_focus_set(Evas_Object *obj, focus_order++; sd->focus_order = focus_order; sd->focused = EINA_TRUE; + sd->api->on_focus(obj); } - if (_elm_widget_focus_call(sd, obj)) + if (_elm_legacy_is(obj) && COMPAT_SMART_DATA(sd)->focus) { + COMPAT_SMART_DATA(sd)->focus(obj); return; } else @@ -2829,7 +2814,9 @@ elm_widget_focused_object_clear(Evas_Object *obj) } } sd->focused = EINA_FALSE; - _elm_widget_focus_call(sd, obj); + sd->api->on_focus(obj); + if (_elm_legacy_is(obj) && COMPAT_SMART_DATA(sd)->focus) + COMPAT_SMART_DATA(sd)->focus(obj); } EAPI void