diff --git a/legacy/elementary/src/lib/elm_plug.c b/legacy/elementary/src/lib/elm_plug.c index 7bf1bd60d0..4e911b0ed9 100644 --- a/legacy/elementary/src/lib/elm_plug.c +++ b/legacy/elementary/src/lib/elm_plug.c @@ -58,6 +58,31 @@ _elm_plug_resized(Ecore_Evas *ee) evas_object_smart_callback_call(plug, SIG_IMAGE_RESIZED, &size); } +static void +_elm_plug_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list) +{ + Eina_Bool *ret = va_arg(*list, Eina_Bool *); + Eina_Bool int_ret = EINA_FALSE; + + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + + if (ret) *ret = EINA_FALSE; + + eo_do_super(obj, MY_CLASS, elm_wdg_on_focus(&int_ret)); + if (!int_ret) return; + + if (elm_widget_focus_get(obj)) + { + evas_object_focus_set(wd->resize_obj, EINA_TRUE); + } + else + { + evas_object_focus_set(wd->resize_obj, EINA_FALSE); + } + + if (ret) *ret = EINA_TRUE; +} + static void _elm_plug_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list) { @@ -198,6 +223,9 @@ _class_constructor(Eo_Class *klass) EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_THEME), _elm_plug_smart_theme), + EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ON_FOCUS), + _elm_plug_smart_on_focus), + EO_OP_FUNC(ELM_OBJ_PLUG_ID(ELM_OBJ_PLUG_SUB_ID_IMAGE_OBJECT_GET), _image_object_get), EO_OP_FUNC(ELM_OBJ_PLUG_ID(ELM_OBJ_PLUG_SUB_ID_CONNECT), _connect),