key_listener: deal with back/menu key strings for backward compatibility. 56/62056/2
authorHermet Park <hermet@hermet.pe.kr>
Mon, 14 Mar 2016 06:04:09 +0000 (15:04 +0900)
committerHermet Park <hermet@hermet.pe.kr>
Mon, 14 Mar 2016 06:06:49 +0000 (15:06 +0900)
Change-Id: Ia53fe373aab5085429e416b02f14396c79a836e6

src/include/efl/mobile/ui_basic_key_listener.h
src/include/interface/ui_iface_view.h
src/lib/efl/mobile/ui_basic_key_listener.cpp
src/lib/efl/ui_key_listener.cpp
src/lib/efl/ui_viewmgr.cpp

index 8291ca2..427a8ea 100644 (file)
@@ -14,8 +14,8 @@
  *  limitations under the License.
  *
  */
-#ifndef MOBILE_KEY_HANDLER_H
-#define MOBILE_KEY_HANDLER_H
+#ifndef UI_BASIC_KEY_HANDLER_H
+#define UI_BASIC_KEY_HANDLER_H
 
 #include "../ui_viewmanager_efl.h"
 
@@ -34,4 +34,4 @@ public:
 
 }
 
-#endif /* MOBILE_KEY_HANDLER_H */
+#endif /* UI_BASIC_KEY_HANDLER_H */
index 62f5b92..e063a0e 100644 (file)
@@ -282,7 +282,7 @@ public:
                return this->state;
        }
 
-       /** @brief Return a state of removeable content.
+       /** @brief Return a state of removable content.
         *
         *  @return true if the view's content is removable, otherwise false.
         */
index b077dab..c629c9d 100644 (file)
@@ -20,11 +20,7 @@ using namespace efl_viewmgr;
 using namespace viewmgr;
 
 static const char *KEY_MENU = "XF86Menu";
-
-enum ui_key_event_type
-{
-       UI_KEY_EVENT_MENU
-};
+static const char *KEY_MENU2 = "XF86Send";
 
 ui_basic_key_listener::ui_basic_key_listener(ui_viewmgr *viewmgr)
                : ui_key_listener(viewmgr)
@@ -33,7 +29,7 @@ ui_basic_key_listener::ui_basic_key_listener(ui_viewmgr *viewmgr)
 
 void ui_basic_key_listener::extend_event_proc(ui_view *view, Evas_Event_Key_Down *ev)
 {
-       if (strcmp(ev->keyname, KEY_MENU)) return;
+       if (strcmp(ev->keyname, KEY_MENU) && strcmp(ev->keyname, KEY_MENU2)) return;
        dynamic_cast<ui_basic_view *>(view)->menu();
 }
 
@@ -46,5 +42,11 @@ bool ui_basic_key_listener::init()
                LOGE("Failed to grab MENU KEY(%s)\n", KEY_MENU);
                return false;
        }
+
+       if (!evas_object_key_grab(this->key_grabber, KEY_MENU2, 0, 0, EINA_FALSE))
+       {
+               LOGE("Failed to grab MENU KEY(%s)\n", KEY_MENU2);
+               return false;
+       }
        return true;
 }
index 54aec46..c64350f 100644 (file)
@@ -20,6 +20,7 @@ using namespace efl_viewmgr;
 using namespace viewmgr;
 
 static const char *KEY_BACK = "XF86Back";
+static const char *KEY_BACK2 = "XF86Stop";
 
 ui_key_listener::ui_key_listener(ui_viewmgr *viewmgr)
                : viewmgr(viewmgr), key_grabber(NULL)
@@ -39,7 +40,7 @@ static void event_proc(ui_key_listener *key_listener, Evas_Event_Key_Down *ev)
 
        key_listener->extend_event_proc(view, ev);
 
-       if (strcmp(ev->keyname, KEY_BACK)) return;
+       if (strcmp(ev->keyname, KEY_BACK) && strcmp(ev->keyname, KEY_BACK2)) return;
 
        view->back();
 }
@@ -86,6 +87,13 @@ bool ui_key_listener::init()
                return false;
        }
 
+       if (!evas_object_key_grab(key_grab_rect, KEY_BACK2, 0, 0, EINA_FALSE))
+       {
+               LOGE("Failed to grab BACK KEY(%s)\n", KEY_BACK2);
+               evas_object_del(key_grab_rect);
+               return false;
+       }
+
        this->key_grabber = key_grab_rect;
 
        return true;
index 53a61ff..11ff304 100644 (file)
@@ -187,7 +187,7 @@ ui_viewmgr::ui_viewmgr(const char *pkg, ui_key_listener *key_listener)
                        },
                        this);
 
-       //Conformant: Make this configurable.
+       //FIXME: Make conformant configurable?
        if (!this->create_conformant(this->win))
        {
                LOGE("Failed to create a conformant (%s)", pkg);