From: Ryuan Choi Date: Thu, 12 Jun 2014 06:50:27 +0000 (+0900) Subject: elm_web2: Implement _elm_web_elm_widget_on_focus X-Git-Tag: upstream/1.20.0~7116^2~14^2~2419 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dd829ffd81ff8a96a1d9e240ea3d6e5a4acdbcd6;p=platform%2Fupstream%2Fefl.git elm_web2: Implement _elm_web_elm_widget_on_focus --- diff --git a/legacy/elementary/src/lib/elm_web2.c b/legacy/elementary/src/lib/elm_web2.c index cc0bd98..f5a92c4 100644 --- a/legacy/elementary/src/lib/elm_web2.c +++ b/legacy/elementary/src/lib/elm_web2.c @@ -607,8 +607,26 @@ _elm_web_elm_widget_theme_apply(Eo *obj, Elm_Web_Data *sd EINA_UNUSED) EOLIAN static Eina_Bool _elm_web_elm_widget_on_focus(Eo *obj, Elm_Web_Data *sd) { - (void)obj; - (void)sd; + Evas_Object *top; + + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_TRUE); + Eina_Bool int_ret = EINA_FALSE; + + eo_do_super(obj, MY_CLASS, int_ret = elm_obj_widget_on_focus()); + if (!int_ret) return EINA_TRUE; + + top = elm_widget_top_get(obj); + + if (elm_object_focus_get(obj)) + { + evas_object_focus_set(wd->resize_obj, EINA_TRUE); + if (top) elm_win_keyboard_mode_set(top, sd->input_method); + } + else + { + evas_object_focus_set(wd->resize_obj, EINA_FALSE); + if (top) elm_win_keyboard_mode_set(top, ELM_WIN_KEYBOARD_OFF); + } return EINA_TRUE; }