View: Remove key_up cb and update key event handler 08/47908/3
authorHyojung Jo <hj903.jo@samsung.com>
Thu, 10 Sep 2015 02:10:18 +0000 (11:10 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Thu, 10 Sep 2015 04:29:12 +0000 (13:29 +0900)
Change-Id: I152d872d06e2927da99e1f8e63e6d81252990ff9
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
src/view/view_base.c

index e890411862931005da3898793010e1c5bd62a196..652ee002e1a37cb2296128b590419a7447203bc8 100644 (file)
@@ -149,40 +149,34 @@ static void _menu_focused_cb(int id, void *data, Evas_Object *obj,
        priv->focused_menu = obj;
 }
 
-static void _menu_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
-               Evas_Event_Key_Down *ev)
+static void _menu_key_up_cb(int id, void *data, Evas *e, Evas_Object *obj,
+               Evas_Event_Key_Up *ev)
 {
-       if (!obj || !ev) {
+       if (!ev) {
                _ERR("Invalid argument.");
                return;
        }
 
-       switch (id) {
-       case MENU_MYAPPS:
-       case MENU_APPSTORE:
-               if (!strcmp(ev->keyname, KEY_BACK)
-                               || !strcmp(ev->keyname, KEY_BACK_REMOTE))
-                       ui_app_exit();
-               break;
-
-       default:
-               _ERR("Invalid menu type.");
-       }
+       if (!strcmp(ev->keyname, KEY_BACK)
+                       || !strcmp(ev->keyname, KEY_BACK_REMOTE))
+               ui_app_exit();
 }
 
-static void _menu_key_up_cb(int id, void *data, Evas *e, Evas_Object *obj,
-               Evas_Event_Key_Up *ev)
+static void _menu_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
+               Evas_Event_Key_Down *ev)
 {
        struct _priv *priv;
 
-       if (!data || !ev) {
+       if (!data || !obj || !ev) {
                _ERR("Invalid argument.");
                return;
        }
        priv = data;
 
-       if (id == MENU_MYAPPS && !strcmp(ev->keyname, KEY_DOWN))
+       if (id == MENU_MYAPPS && !strcmp(ev->keyname, KEY_DOWN)) {
+               ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
                elm_object_focus_set(priv->grid, EINA_TRUE);
+       }
 }
 
 static void _destroy_sort_ctxpopup(struct _priv *priv)
@@ -292,7 +286,10 @@ static void _sort_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
        priv = data;
 
        if (!strcmp(ev->keyname, KEY_BACK)
-                       || !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
+                       || !strcmp(ev->keyname, KEY_BACK_REMOTE)
+                       || !strcmp(ev->keyname, KEY_UP)) {
+               ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
+
                if (priv->focused_item)
                        elm_object_item_focus_set(priv->focused_item,
                                        EINA_TRUE);
@@ -307,26 +304,6 @@ static void _sort_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
        }
 }
 
-static void _sort_key_up_cb(int id, void *data, Evas *e, Evas_Object *obj,
-               Evas_Event_Key_Up *ev)
-{
-       struct _priv *priv;
-
-       if (!data || !obj || !ev) {
-               _ERR("Invalid argument.");
-               return;
-       }
-       priv = data;
-
-       if (!strcmp(ev->keyname, KEY_UP)) {
-               if (priv->focused_item)
-                       elm_object_item_focus_set(priv->focused_item,
-                                       EINA_TRUE);
-               else
-                       elm_object_focus_set(priv->focused_menu, EINA_TRUE);
-       }
-}
-
 static void _sort_mouse_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
                Evas_Event_Mouse_Down *ev)
 {
@@ -500,14 +477,13 @@ static void _grid_key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
 static input_handler _menu_input_handler = {
        .mouse_move = _mouse_move_cb,
        .focused = _menu_focused_cb,
-       .key_down = _menu_key_down_cb,
-       .key_up = _menu_key_up_cb
+       .key_up = _menu_key_up_cb,
+       .key_down = _menu_key_down_cb
 };
 
 static input_handler _sort_input_handler = {
        .mouse_move = _mouse_move_cb,
        .key_down = _sort_key_down_cb,
-       .key_up = _sort_key_up_cb,
        .mouse_down = _sort_mouse_down_cb
 };