static void _key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
Evas_Event_Key_Down *ev)
{
- if (!obj || !ev)
+ struct listmgr *lmgr;
+
+ if (!data || !obj || !ev)
return;
+ lmgr = data;
+
switch (id) {
case LISTMGR_INDEX:
if (!strcmp(ev->keyname, KEY_BACK) ||
!strcmp(ev->keyname, KEY_BACK_REMOTE))
elm_object_focus_next(obj, ELM_FOCUS_UP);
+ else if (!strcmp(ev->keyname, KEY_DOWN)) {
+ Evas_Object *grid;
+ Elm_Object_Item *it;
+
+ if (lmgr->play_info == lmgr->focused)
+ break;
+
+ grid = elm_object_part_content_get(lmgr->focused,
+ PART_ITEM_CONTENT);
+ it = elm_gengrid_first_item_get(grid);
+ if (it)
+ elm_object_item_focus_set(it, EINA_TRUE);
+ }
+
break;
default:
break;