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)
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);
}
}
-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)
{
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
};