X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Flib%2Felm_win.c;h=25144b3db4764aecf150117f28fbfbe735aa6b95;hb=f24a04f7cac1edf5442b974674605fcc76afe127;hp=fc06829b5291a423023993073f47a9a32edaf02c;hpb=76edf846822eaaeff8cdb1dbd49de74f6df60bc8;p=framework%2Fuifw%2Felementary.git diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index fc06829..25144b3 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -306,6 +306,8 @@ _elm_win_focus_in(Ecore_Evas *ee) if (!obj) return; win = elm_widget_data_get(obj); if (!win) return; + if (!elm_widget_focus_get(win->win_obj)) + elm_widget_focus_restore(win->win_obj); evas_object_smart_callback_call(win->win_obj, SIG_FOCUS_IN, NULL); win->focus_highlight.cur.visible = EINA_TRUE; _elm_win_focus_highlight_reconfigure_job_start(win); @@ -327,6 +329,7 @@ _elm_win_focus_out(Ecore_Evas *ee) if (!obj) return; win = elm_widget_data_get(obj); if (!win) return; + elm_object_focus_set(win->win_obj, EINA_FALSE); evas_object_smart_callback_call(win->win_obj, SIG_FOCUS_OUT, NULL); win->focus_highlight.cur.visible = EINA_FALSE; _elm_win_focus_highlight_reconfigure_job_start(win); @@ -397,6 +400,26 @@ _elm_win_event_cb(Evas_Object *obj, Evas_Object *src __UNUSED__, Evas_Callback_T ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; return EINA_TRUE; } + else if ((!strcmp(ev->keyname, "Left")) || + (!strcmp(ev->keyname, "KP_Left"))) + { + //TODO : woohyun jung + } + else if ((!strcmp(ev->keyname, "Right")) || + (!strcmp(ev->keyname, "KP_Right"))) + { + //TODO : woohyun jung + } + else if ((!strcmp(ev->keyname, "Up")) || + (!strcmp(ev->keyname, "KP_Up"))) + { + //TODO : woohyun jung + } + else if ((!strcmp(ev->keyname, "Down")) || + (!strcmp(ev->keyname, "KP_Down"))) + { + //TODO : woohyun jung + } } return EINA_FALSE; @@ -414,7 +437,7 @@ _elm_win_obj_callback_show(void *data __UNUSED__, Evas *e __UNUSED__, Evas_Objec { Elm_Win *win = data; - elm_object_focus(obj); + elm_object_focus_set(obj, EINA_TRUE); if (win->shot.info) _shot_handle(win); } @@ -1257,13 +1280,15 @@ _win_img_hide(void *data, } static void -_win_img_mouse_down(void *data, - Evas *e __UNUSED__, - Evas_Object *obj __UNUSED__, - void *event_info __UNUSED__) +_win_img_mouse_up(void *data, + Evas *e __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info) { Elm_Win *win = data; - elm_widget_focus_mouse_down_handle(win->win_obj); + Evas_Event_Mouse_Up *ev = event_info; + if (!(ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)) + elm_widget_focus_mouse_up_handle(win->win_obj); } static void @@ -1296,8 +1321,8 @@ _win_inlined_image_set(Elm_Win *win) evas_object_event_callback_add(win->img_obj, EVAS_CALLBACK_HIDE, _win_img_hide, win); - evas_object_event_callback_add(win->img_obj, EVAS_CALLBACK_MOUSE_DOWN, - _win_img_mouse_down, win); + evas_object_event_callback_add(win->img_obj, EVAS_CALLBACK_MOUSE_UP, + _win_img_mouse_up, win); evas_object_event_callback_add(win->img_obj, EVAS_CALLBACK_FOCUS_IN, _win_img_focus_in, win); evas_object_event_callback_add(win->img_obj, EVAS_CALLBACK_FOCUS_OUT, @@ -2489,7 +2514,7 @@ elm_win_inwin_activate(Evas_Object *obj) evas_object_raise(obj); evas_object_show(obj); edje_object_signal_emit(wd->frm, "elm,action,show", "elm"); - elm_object_focus(obj); + elm_object_focus_set(obj, EINA_TRUE); } EAPI void