music: add grid item selected callback function 40/44240/1
authorJehun Lim <jehun.lim@samsung.com>
Mon, 20 Jul 2015 06:39:35 +0000 (15:39 +0900)
committerJehun Lim <jehun.lim@samsung.com>
Mon, 20 Jul 2015 06:39:35 +0000 (15:39 +0900)
Change-Id: I47a5def1a08584baf5ebbefb1898715d7a75f78f
Signed-off-by: Jehun Lim <jehun.lim@samsung.com>
src/layout/music.c

index e673555..fc1d128 100644 (file)
@@ -116,6 +116,32 @@ static struct grid_class _gclass = {
        .content_get = _grid_content_get
 };
 
+static void _grid_selected_cb(void *data, Elm_Object_Item *it)
+{
+       app_media *am;
+       struct view_update_data vdata;
+       struct _priv *priv;
+
+       if (!data || !it) {
+               _ERR("invalid argument");
+               return;
+       }
+
+       priv = data;
+
+       am = elm_object_item_data_get(it);
+       if (!am) {
+               _ERR("failed to get app media");
+               return;
+       }
+
+       vdata.list = mediadata_get_medialist(priv->md);
+       vdata.index = util_get_media_index(vdata.list, am);
+
+       viewmgr_update_view(VIEW_MPLAYER, UPDATE_CONTENT, &vdata);
+       viewmgr_push_view(VIEW_MPLAYER);
+}
+
 static struct listmgr_data *_create_listmgr_data(struct _priv *priv)
 {
        struct listmgr_data *data;
@@ -137,7 +163,7 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv)
                goto err;
 
        gops->gclass = &_gclass;
-       gops->selected_cb = NULL;
+       gops->selected_cb = _grid_selected_cb;
        gops->ops_data = priv;
 
        data->gops = gops;