base: add BACK key handling 82/44482/1
authorJehun Lim <jehun.lim@samsung.com>
Wed, 22 Jul 2015 12:04:18 +0000 (21:04 +0900)
committerJehun Lim <jehun.lim@samsung.com>
Wed, 22 Jul 2015 12:04:18 +0000 (21:04 +0900)
Change-Id: Ic5d46b660459d74257fa562777ee4b450cf74e6d
Signed-off-by: Jehun Lim <jehun.lim@samsung.com>
src/util/listmgr.c
src/view/base.c

index 8b90508..f2635c6 100644 (file)
@@ -79,6 +79,12 @@ static void _key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
                }
 
                break;
+       case LISTMGR_PLAY_INFO:
+       case LISTMGR_GRID:
+               if (!strcmp(ev->keyname, KEY_BACK) ||
+                       !strcmp(ev->keyname, KEY_BACK_REMOTE))
+                       elm_object_focus_next(obj, ELM_FOCUS_UP);
+               break;
        default:
                break;
        }
@@ -231,6 +237,7 @@ static void _focused_cb(int id, void *data, Evas_Object *obj,
 }
 
 static input_handler _grid_handler = {
+       .key_down = _key_down_cb,
        .mouse_move = _mouse_move_cb,
        .focused = _focused_cb,
        .realized = _grid_realized_cb,
@@ -295,6 +302,8 @@ static bool _draw_play_info(struct listmgr *lmgr)
 
        content = elm_object_part_content_get(ly, PART_ITEM_CONTENT);
 
+       elm_object_focus_next_object_set(content, index, ELM_FOCUS_UP);
+
        inputmgr_add_callback(content, LISTMGR_PLAY_INFO, &_handler, lmgr);
        elm_object_signal_callback_add(content, SIG_ITEM_SELECTED,
                                SIG_SOURCE_EDC, _play_info_selected_cb, lmgr);
@@ -356,6 +365,8 @@ static Evas_Object *_draw_list_item(struct listmgr *lmgr, struct group_info *gi)
        evas_object_size_hint_min_set(grid, size * data->grid_item_x,
                                data->grid_num_item * data->grid_item_y);
 
+       elm_object_focus_next_object_set(grid, btn, ELM_FOCUS_UP);
+
        inputmgr_add_callback(grid, LISTMGR_GRID, &_grid_handler, lmgr);
 
        elm_object_part_content_set(ly, PART_ITEM_TITLE, btn);
index 27efa42..928031a 100644 (file)
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 
+#include <app.h>
 #include <Elementary.h>
 #include <app_debug.h>
 #include <inputmgr.h>
@@ -73,6 +74,9 @@ static void _key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
        if (!strcmp(ev->keyname, KEY_ENTER) ||
                !strcmp(ev->keyname, KEY_ENTER_REMOTE))
                elm_object_focus_next(obj, ELM_FOCUS_DOWN);
+       else if (!strcmp(ev->keyname, KEY_BACK) ||
+               !strcmp(ev->keyname, KEY_BACK_REMOTE))
+               ui_app_exit();
 }
 
 static void _mouse_move_cb(int id, void *data, Evas *e,