diff --git a/src/bin/e_obj_dialog.c b/src/bin/e_obj_dialog.c index c74f60f8d..e86eca800 100644 --- a/src/bin/e_obj_dialog.c +++ b/src/bin/e_obj_dialog.c @@ -18,6 +18,18 @@ _key_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void _e_obj_dialog_cb_delete(data, NULL, NULL, NULL); } +static void +_focus_in_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED) +{ + edje_object_signal_emit(data, "e,state,focused", "e"); +} + +static void +_focus_out_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED) +{ + edje_object_signal_emit(data, "e,state,unfocused", "e"); +} + E_API E_Obj_Dialog * e_obj_dialog_new(char *title, char *class_name, char *class_class) { @@ -42,6 +54,11 @@ e_obj_dialog_new(char *title, char *class_name, char *class_class) elm_win_resize_object_add(od->win, o); od->bg_object = o; + evas_object_smart_callback_add(od->win, "focus,in", + _focus_in_cb, od->bg_object); + evas_object_smart_callback_add(od->win, "focus,out", + _focus_out_cb, od->bg_object); + elm_win_center(od->win, 1, 1); od->cb_delete = NULL;