rimmed pushed a commit to branch eflete-1.18. http://git.enlightenment.org/tools/eflete.git/commit/?id=de2bcf79e636553befbe8326ec9e350a94510504
commit de2bcf79e636553befbe8326ec9e350a94510504 Author: Vyacheslav Reutskiy <v.reuts...@samsung.com> Date: Mon Feb 13 12:40:26 2017 +0200 menu: add react to ESC for menu This is make posible to hide menu by Esc Fixes T5155 @fix Change-Id: Ie06f361e30b70cba1e7400643ce870f94c55a298 Conflicts: src/bin/ui/image_manager.c --- src/bin/ui/sound_manager.c | 21 +++++++++++++++++++++ src/bin/ui/style_manager.c | 21 +++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/bin/ui/sound_manager.c b/src/bin/ui/sound_manager.c index e5018e0..4232759 100644 --- a/src/bin/ui/sound_manager.c +++ b/src/bin/ui/sound_manager.c @@ -26,6 +26,7 @@ #include "config.h" #include "validator.h" #include "sound_player.h" +#include "shortcuts.h" #ifndef HAVE_TIZEN #define ITEM_WIDTH 100 @@ -325,6 +326,23 @@ _sample_add_cb(void *data, } static void +_menu_dismissed_cb(void *data __UNUSED__, + Evas_Object *obj, + void *event_info __UNUSED__) +{ + shortcuts_object_check_pop(obj); +} + +static void +_menu_dismiss_cb(void *data __UNUSED__, + Evas_Object *obj, + void *event_info __UNUSED__) +{ + elm_menu_close(obj); + shortcuts_object_check_pop(obj); +} + +static void _validation(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) @@ -441,6 +459,7 @@ _sound_add_cb(void *data __UNUSED__, elm_menu_move(mng.menu, x, y + h); evas_object_show(mng.menu); + shortcuts_object_push(mng.menu); } static void @@ -653,6 +672,8 @@ sound_manager_add(void) mng.menu = elm_menu_add(ap.win); elm_menu_item_add(mng.menu, NULL, "sound_sample", _("Sample"), _sample_add_cb, NULL); elm_menu_item_add(mng.menu, NULL, "sound_tone", _("Tone"), _tone_add_cb, NULL); + evas_object_smart_callback_add(mng.menu, "dismissed", _menu_dismissed_cb, NULL); + evas_object_smart_callback_add(mng.menu, signals.shortcut.popup.cancel, _menu_dismiss_cb, NULL); ENTRY_ADD(mng.layout, search_entry, true); elm_object_part_text_set(search_entry, "guide", _("Search")); diff --git a/src/bin/ui/style_manager.c b/src/bin/ui/style_manager.c index c882354..dab8058 100644 --- a/src/bin/ui/style_manager.c +++ b/src/bin/ui/style_manager.c @@ -24,6 +24,7 @@ #include "project_manager.h" #include "validator.h" #include "modal_window.h" +#include "shortcuts.h" #define STYLE_DEFAULT "DEFAULT" #define STYLE_DEFAULT_VALUE "align=middle font=Sans font_size=24 color=#000000 " @@ -251,6 +252,23 @@ _add_tag_content_get(void *data __UNUSED__, Evas_Object *popup, Evas_Object **to return item; } +static void +_menu_dismissed_cb(void *data __UNUSED__, + Evas_Object *obj, + void *event_info __UNUSED__) +{ + shortcuts_object_check_pop(obj); +} + +static void +_menu_dismiss_cb(void *data __UNUSED__, + Evas_Object *obj, + void *event_info __UNUSED__) +{ + elm_menu_close(obj); + shortcuts_object_check_pop(obj); +} + typedef struct { Eina_Stringshare *style_name, *tag_name; Elm_Object_Item *glit, *glit_parent; @@ -679,6 +697,7 @@ _btn_add_cb(void *data __UNUSED__, evas_object_geometry_get(obj, &x, &y, NULL, &h); elm_menu_move(mng.menu, x, y + h); evas_object_show(mng.menu); + shortcuts_object_push(mng.menu); if (elm_genlist_selected_item_get(mng.genlist)) elm_object_item_disabled_set(mng.menu_tag, false); @@ -901,6 +920,8 @@ style_manager_add() mng.menu = elm_menu_add(ap.win); elm_menu_item_add(mng.menu, NULL, "text_style", _("Style"), _style_add_cb, NULL); mng.menu_tag = elm_menu_item_add(mng.menu, NULL, "text_style_tag", _("Tag"), _tag_add_cb, NULL); + evas_object_smart_callback_add(mng.menu, "dismissed", _menu_dismissed_cb, NULL); + evas_object_smart_callback_add(mng.menu, signals.shortcut.popup.cancel, _menu_dismiss_cb, NULL); button_add = elm_button_add(ap.win); elm_object_style_set(button_add, "plus_managers"); --