rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=f36828985bf28d37a08c389a04788c16960fcd70
commit f36828985bf28d37a08c389a04788c16960fcd70 Author: Vyacheslav Reutskiy <[email protected]> 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 --- src/bin/ui/image_manager.c | 23 +++++++++++++++++++++++ src/bin/ui/sound_manager.c | 21 +++++++++++++++++++++ src/bin/ui/style_manager.c | 21 +++++++++++++++++++++ 3 files changed, 65 insertions(+) diff --git a/src/bin/ui/image_manager.c b/src/bin/ui/image_manager.c index ab80f56..8a16bb6 100644 --- a/src/bin/ui/image_manager.c +++ b/src/bin/ui/image_manager.c @@ -26,6 +26,7 @@ #include "modal_window.h" #include "config.h" #include "validator.h" +#include "shortcuts.h" #ifndef HAVE_TIZEN #define ITEM_WIDTH 100 @@ -717,6 +718,25 @@ _new_image_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__) @@ -822,6 +842,7 @@ _image_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 @@ -1140,6 +1161,8 @@ image_manager_add(void) mng.menu = elm_menu_add(ap.win); elm_menu_item_add(mng.menu, NULL, "image", _("Image"), _new_image_add_cb, NULL); elm_menu_item_add(mng.menu, NULL, "image_set", _("Image set"), _new_image_set_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); // Search line add search_entry = _image_manager_search_field_create(mng.layout); diff --git a/src/bin/ui/sound_manager.c b/src/bin/ui/sound_manager.c index 899f54c..7f68354 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 @@ -307,6 +308,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__) @@ -423,6 +441,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 @@ -618,6 +637,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 5113106..b602b56 100644 --- a/src/bin/ui/style_manager.c +++ b/src/bin/ui/style_manager.c @@ -24,6 +24,7 @@ #include "project_manager2.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 " @@ -268,6 +269,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; @@ -683,6 +701,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); @@ -905,6 +924,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"); --
