From e4095f277059e19fcd7e07957f7cedfde3ec3c54 Mon Sep 17 00:00:00 2001 From: Soohye Shin Date: Wed, 17 Jun 2015 20:55:49 +0900 Subject: [PATCH] add key input handler in view_home Change-Id: Icb92d2c97e20efc13cd3e835e2506cd573d78087 Signed-off-by: Soohye Shin --- src/view/view_home.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/view/view_home.c b/src/view/view_home.c index 544e17e..f01ad53 100644 --- a/src/view/view_home.c +++ b/src/view/view_home.c @@ -314,6 +314,31 @@ static bool _add_home(struct _priv *priv, Evas_Object *base) return true; } +static void _key_down(int id, void *data, Evas *e, Evas_Object *obj, + Evas_Event_Key_Down *ev) +{ + if (!data) { + _ERR("Invalid argument"); + return; + } + + if (!strcmp(ev->keyname, KEY_DOWN)) { + viewmgr_push_view(VIEW_RECENT); + } else if (!strcmp(ev->keyname, KEY_UP)) { + /* It should be implemented later */ + } else if (!strcmp(ev->keyname, KEY_ENTER) || + !strcmp(ev->keyname, KEY_ENTER_REMOTE)) { + /* It should be implemented later */ + } else if (!strcmp(ev->keyname, KEY_BACK) || + !strcmp(ev->keyname, KEY_BACK_REMOTE)) { + /* It should be implemented later */ + } +} + +static input_handler base_handler = { + .key_down = _key_down +}; + static Evas_Object *_create(Evas_Object *win, void *data) { struct _priv *priv; @@ -361,6 +386,7 @@ static Evas_Object *_create(Evas_Object *win, void *data) } viewmgr_set_view_data(VIEW_HOME, priv); + inputmgr_add_callback(base, 0, &base_handler, priv); return base; } @@ -417,6 +443,7 @@ static void _destroy(void *data) } datamgr_fini(priv->dm); + inputmgr_remove_callback(priv->base, &base_handler); evas_object_del(priv->base); priv->list = NULL; -- 2.7.4