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");

-- 


Reply via email to