summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMinkyu Kang <mk7.kang@samsung.com>2015-09-06 18:48:52 -0700
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>2015-09-06 18:48:52 -0700
commit27043b4645801eb912071bc829f999eb8b91e071 (patch)
tree21718bc59cb7c7dce34afb50f884b9af15155eab
parent2c0af96fc715b34de9d4ffe834d0b578840f828a (diff)
parent869d6f0d7760530485d1a6a9eb0707328d5aad4d (diff)
downloadair_mediahub-27043b4645801eb912071bc829f999eb8b91e071.tar.gz
air_mediahub-27043b4645801eb912071bc829f999eb8b91e071.tar.bz2
air_mediahub-27043b4645801eb912071bc829f999eb8b91e071.zip
Merge "remove grid related code from layout" into tizen
-rw-r--r--include/grid/grid.h26
-rw-r--r--include/util/listmgr.h26
-rw-r--r--src/grid/grid_gallery.c53
-rw-r--r--src/grid/grid_movie.c53
-rw-r--r--src/grid/grid_music.c53
-rw-r--r--src/layout/gallery.c215
-rw-r--r--src/layout/movie.c230
-rw-r--r--src/layout/music.c218
-rw-r--r--src/util/listmgr.c76
9 files changed, 310 insertions, 640 deletions
diff --git a/include/grid/grid.h b/include/grid/grid.h
index 425843c..da89cf9 100644
--- a/include/grid/grid.h
+++ b/include/grid/grid.h
@@ -46,9 +46,12 @@ struct grid_data {
int item_x;
int item_y;
int item_num;
+ int grid_padding;
struct grid_class *gclass;
Eina_List *(*get_item_list)(struct mediadata *md);
- void (*item_selected)(Eina_List *list, app_media *am);
+ void (*key_down_cb)(void *data, Elm_Object_Item *it,
+ Evas_Event_Key_Down *ev);
+ void (*selected_cb)(void *data, Elm_Object_Item *it);
};
struct grid_data *get_movie_grid_data(int type);
@@ -56,21 +59,24 @@ struct grid_data *get_gallery_grid_data(int type);
struct grid_data *get_music_grid_data(int type);
#define STYLE_MOVIE_NAME "movie_item"
-#define MOVIE_NAME_PADDING 26
-#define MOVIE_NAME_ITEM_X (378 + MOVIE_NAME_PADDING)
-#define MOVIE_NAME_ITEM_Y (294 + MOVIE_NAME_PADDING)
+#define MOVIE_NAME_ITEM_PADDING 26
+#define MOVIE_NAME_ITEM_X (378 + MOVIE_NAME_ITEM_PADDING)
+#define MOVIE_NAME_ITEM_Y (294 + MOVIE_NAME_ITEM_PADDING)
#define MOVIE_NAME_ITEM_NUM 2
+#define MOVIE_NAME_GRID_PADDING (62 - MOVIE_NAME_ITEM_PADDING)
#define STYLE_GALLERY_EVENT "gallery_item"
-#define GALLERY_EVENT_PADDING 6
-#define GALLERY_EVENT_ITEM_X (200 + GALLERY_EVENT_PADDING)
-#define GALLERY_EVENT_ITEM_Y (200 + GALLERY_EVENT_PADDING)
+#define GALLERY_EVENT_ITEM_PADDING 6
+#define GALLERY_EVENT_ITEM_X (200 + GALLERY_EVENT_ITEM_PADDING)
+#define GALLERY_EVENT_ITEM_Y (200 + GALLERY_EVENT_ITEM_PADDING)
#define GALLERY_EVENT_ITEM_NUM 3
+#define GALLERY_EVENT_GRID_PADDING (62 - GALLERY_EVENT_ITEM_PADDING)
#define STYLE_MUSIC_SONG "song_item"
-#define MUSIC_SONG_PADDING 26
-#define MUSIC_SONG_ITEM_X (488 + MUSIC_SONG_PADDING)
-#define MUSIC_SONG_ITEM_Y (134 + MUSIC_SONG_PADDING)
+#define MUSIC_SONG_ITEM_PADDING 26
+#define MUSIC_SONG_ITEM_X (488 + MUSIC_SONG_ITEM_PADDING)
+#define MUSIC_SONG_ITEM_Y (134 + MUSIC_SONG_ITEM_PADDING)
#define MUSIC_SONG_ITEM_NUM 4
+#define MUSIC_SONG_GRID_PADDING (62 - MUSIC_SONG_ITEM_PADDING)
#endif /* __AIR_MEDIAHUB_GRID_H__ */
diff --git a/include/util/listmgr.h b/include/util/listmgr.h
index f90bb0b..f3bd96e 100644
--- a/include/util/listmgr.h
+++ b/include/util/listmgr.h
@@ -19,35 +19,22 @@
struct listmgr;
-struct play_info_ops {
+struct play_info_data {
bool (*draw)(void *data, Evas_Object *base);
bool (*update)(void *data, Evas_Object *base);
void (*selected_cb)(void *data, Evas_Object *obj);
- void *ops_data;
-};
-
-struct grid_ops {
- struct grid_class *gclass;
-
- void (*key_down_cb)(void *data, Elm_Object_Item *it,
- Evas_Event_Key_Down *ev);
- void (*selected_cb)(void *data, Elm_Object_Item *it);
- void *ops_data;
+ void *cb_data;
};
struct listmgr_data {
Evas_Object *menu_btn;
Evas_Object *view_btn;
- int grid_item_x;
- int grid_item_y;
- int grid_num_item;
-
- int box_padding;
+ struct play_info_data *pdata;
- struct play_info_ops *pops;
- struct grid_ops *gops;
+ struct grid_data *gdata;
+ void *grid_cb_data;
};
struct listmgr *listmgr_create(Evas_Object *base, void *data);
@@ -55,7 +42,8 @@ void listmgr_destroy(struct listmgr *listmgr);
bool listmgr_draw_list_area(struct listmgr *lmgr);
bool listmgr_update_content_item(struct listmgr *lmgr);
-bool listmgr_update_content_list(struct listmgr *lmgr, Eina_List *list);
+bool listmgr_update_content_list(struct listmgr *lmgr, Eina_List *list,
+ struct grid_data *gdata);
bool listmgr_update_play_info(struct listmgr *lmgr, app_media_info *info);
bool listmgr_focus_content_list(struct listmgr *lmgr, const char *id);
diff --git a/src/grid/grid_gallery.c b/src/grid/grid_gallery.c
index 5e5f1dd..e443ea1 100644
--- a/src/grid/grid_gallery.c
+++ b/src/grid/grid_gallery.c
@@ -20,6 +20,7 @@
#include <app_contents.h>
#include <app_media.h>
#include <gridmgr.h>
+#include <inputmgr.h>
#include <viewmgr.h>
#include "define.h"
@@ -119,17 +120,57 @@ static Eina_List *_get_item_list(struct mediadata *md)
return mediadata_get_list(md, E_LIST_DATE);
}
-static void _item_selected(Eina_List *list, app_media *am)
+static void _key_down_cb(void *data, Elm_Object_Item *it,
+ Evas_Event_Key_Down *ev)
{
struct view_update_data vdata;
+ struct mediadata *md;
+ app_media *am;
+
+ if (!data || !ev) {
+ _ERR("invalid argument");
+ return;
+ }
+
+ md = data;
+
+ if (!strcmp(ev->keyname, KEY_MENU) ||
+ !strcmp(ev->keyname, KEY_MENU_REMOTE)) {
+ am = elm_object_item_data_get(it);
+ if (!am) {
+ _ERR("failed to get app media");
+ return;
+ }
+
+ vdata.list = mediadata_get_medialist(md);
+ vdata.index = util_get_media_index(vdata.list, am);
+
+ viewmgr_update_view(VIEW_ACTION_MENU, UPDATE_CONTENT, &vdata);
+ viewmgr_show_view(VIEW_ACTION_MENU);
+ }
+}
+
+static void _selected_cb(void *data, Elm_Object_Item *it)
+{
+ struct view_update_data vdata;
+ struct mediadata *md;
+ app_media *am;
- if (!list || !am) {
+ if (!data || !it) {
_ERR("invalid argument");
return;
}
- vdata.list = list;
- vdata.index = util_get_media_index(list, am);
+ md = data;
+
+ am = elm_object_item_data_get(it);
+ if (!am) {
+ _ERR("failed to get app media");
+ return;
+ }
+
+ vdata.list = mediadata_get_medialist(md);
+ vdata.index = util_get_media_index(vdata.list, am);
viewmgr_update_view(VIEW_VIEWER, UPDATE_CONTENT, &vdata);
viewmgr_push_view(VIEW_VIEWER);
@@ -149,9 +190,11 @@ static struct grid_data _gdata[] = {
.item_x = GALLERY_EVENT_ITEM_X,
.item_y = GALLERY_EVENT_ITEM_Y,
.item_num = GALLERY_EVENT_ITEM_NUM,
+ .grid_padding = GALLERY_EVENT_GRID_PADDING,
.gclass = &_gclass[E_GALLERY_EVENT],
.get_item_list = _get_item_list,
- .item_selected = _item_selected
+ .key_down_cb = _key_down_cb,
+ .selected_cb = _selected_cb
},
/* Other view mode data will be added later */
};
diff --git a/src/grid/grid_movie.c b/src/grid/grid_movie.c
index 60ab310..49caf86 100644
--- a/src/grid/grid_movie.c
+++ b/src/grid/grid_movie.c
@@ -20,6 +20,7 @@
#include <app_contents.h>
#include <app_media.h>
#include <gridmgr.h>
+#include <inputmgr.h>
#include <viewmgr.h>
#include "define.h"
@@ -109,17 +110,57 @@ static Eina_List *_get_item_list(struct mediadata *md)
return mediadata_get_list(md, E_LIST_NAME);
}
-static void _item_selected(Eina_List *list, app_media *am)
+static void _key_down_cb(void *data, Elm_Object_Item *it,
+ Evas_Event_Key_Down *ev)
{
struct view_update_data vdata;
+ struct mediadata *md;
+ app_media *am;
+
+ if (!data || !ev) {
+ _ERR("invalid argument");
+ return;
+ }
+
+ md = data;
+
+ if (!strcmp(ev->keyname, KEY_MENU) ||
+ !strcmp(ev->keyname, KEY_MENU_REMOTE)) {
+ am = elm_object_item_data_get(it);
+ if (!am) {
+ _ERR("failed to get app media");
+ return;
+ }
+
+ vdata.list = mediadata_get_medialist(md);
+ vdata.index = util_get_media_index(vdata.list, am);
+
+ viewmgr_update_view(VIEW_ACTION_MENU, UPDATE_CONTENT, &vdata);
+ viewmgr_show_view(VIEW_ACTION_MENU);
+ }
+}
+
+static void _selected_cb(void *data, Elm_Object_Item *it)
+{
+ struct view_update_data vdata;
+ struct mediadata *md;
+ app_media *am;
- if (!list || !am) {
+ if (!data || !it) {
_ERR("invalid argument");
return;
}
- vdata.list = list;
- vdata.index = util_get_media_index(list, am);
+ md = data;
+
+ am = elm_object_item_data_get(it);
+ if (!am) {
+ _ERR("failed to get app media");
+ return;
+ }
+
+ vdata.list = mediadata_get_medialist(md);
+ vdata.index = util_get_media_index(vdata.list, am);
viewmgr_update_view(VIEW_VIEWER, UPDATE_CONTENT, &vdata);
viewmgr_push_view(VIEW_VIEWER);
@@ -139,9 +180,11 @@ static struct grid_data _gdata[] = {
.item_x = MOVIE_NAME_ITEM_X,
.item_y = MOVIE_NAME_ITEM_Y,
.item_num = MOVIE_NAME_ITEM_NUM,
+ .grid_padding = MOVIE_NAME_GRID_PADDING,
.gclass = &_gclass[E_MOVIE_NAME],
.get_item_list = _get_item_list,
- .item_selected = _item_selected
+ .key_down_cb = _key_down_cb,
+ .selected_cb = _selected_cb
},
/* Other view mode data will be added later */
};
diff --git a/src/grid/grid_music.c b/src/grid/grid_music.c
index c4e7573..99a4baa 100644
--- a/src/grid/grid_music.c
+++ b/src/grid/grid_music.c
@@ -20,6 +20,7 @@
#include <app_contents.h>
#include <app_media.h>
#include <gridmgr.h>
+#include <inputmgr.h>
#include <viewmgr.h>
#include "define.h"
@@ -106,17 +107,57 @@ static Eina_List *_get_item_list(struct mediadata *md)
return mediadata_get_list(md, E_LIST_NAME);
}
-static void _item_selected(Eina_List *list, app_media *am)
+static void _key_down_cb(void *data, Elm_Object_Item *it,
+ Evas_Event_Key_Down *ev)
{
struct view_update_data vdata;
+ struct mediadata *md;
+ app_media *am;
+
+ if (!data || !ev) {
+ _ERR("invalid argument");
+ return;
+ }
+
+ md = data;
+
+ if (!strcmp(ev->keyname, KEY_MENU) ||
+ !strcmp(ev->keyname, KEY_MENU_REMOTE)) {
+ am = elm_object_item_data_get(it);
+ if (!am) {
+ _ERR("failed to get app media");
+ return;
+ }
+
+ vdata.list = mediadata_get_medialist(md);
+ vdata.index = util_get_media_index(vdata.list, am);
+
+ viewmgr_update_view(VIEW_ACTION_MENU, UPDATE_CONTENT, &vdata);
+ viewmgr_show_view(VIEW_ACTION_MENU);
+ }
+}
+
+static void _selected_cb(void *data, Elm_Object_Item *it)
+{
+ struct view_update_data vdata;
+ struct mediadata *md;
+ app_media *am;
- if (!list || !am) {
+ if (!data || !it) {
_ERR("invalid argument");
return;
}
- vdata.list = list;
- vdata.index = util_get_media_index(list, am);
+ md = data;
+
+ am = elm_object_item_data_get(it);
+ if (!am) {
+ _ERR("failed to get app media");
+ return;
+ }
+
+ vdata.list = mediadata_get_medialist(md);
+ vdata.index = util_get_media_index(vdata.list, am);
viewmgr_update_view(VIEW_MPLAYER, UPDATE_CONTENT, &vdata);
viewmgr_push_view(VIEW_MPLAYER);
@@ -136,9 +177,11 @@ static struct grid_data _gdata[] = {
.item_x = MUSIC_SONG_ITEM_X,
.item_y = MUSIC_SONG_ITEM_Y,
.item_num = MUSIC_SONG_ITEM_NUM,
+ .grid_padding = MUSIC_SONG_GRID_PADDING,
.gclass = &_gclass[E_MUSIC_SONG],
.get_item_list = _get_item_list,
- .item_selected = _item_selected
+ .key_down_cb = _key_down_cb,
+ .selected_cb = _selected_cb
},
/* Other view mode data will be added later */
};
diff --git a/src/layout/gallery.c b/src/layout/gallery.c
index 70efdf7..908487b 100644
--- a/src/layout/gallery.c
+++ b/src/layout/gallery.c
@@ -27,6 +27,7 @@
#include "layout.h"
#include "view.h"
#include "data/mediadata.h"
+#include "grid/grid.h"
#include "util/listmgr.h"
#include "util/util.h"
@@ -55,93 +56,8 @@ struct _priv {
struct mediadata *md;
Eina_List *media_list;
-};
-
-static char *_grid_text_get(void *data, Evas_Object *obj, const char *part)
-{
- app_media *am;
- app_media_info *info;
- char buf[32];
- if (!data)
- return NULL;
-
- am = data;
- info = app_media_get_info(am);
- if (!info) {
- _ERR("failed to get media info");
- return NULL;
- }
-
- if (info->media_type != MEDIA_CONTENT_TYPE_VIDEO)
- return NULL;
-
- if (!strcmp(part, PART_ELM_TEXT_PLAYTIME)) {
- util_time_string(buf, sizeof(buf),
- info->video->duration, false);
-
- return strdup(buf);
- }
-
- return NULL;
-}
-
-static Evas_Object *_grid_content_get(void *data,
- Evas_Object *obj, const char *part)
-{
- Evas_Object *image;
- app_media *am;
- app_media_info *info;
-
- if (!data)
- return NULL;
-
- am = data;
- info = app_media_get_info(am);
- if (!info) {
- _ERR("failed to get media info");
- return NULL;
- }
-
- image = NULL;
- if (!strcmp(part, PART_ELM_SWALLOW_THUMBNAIL)) {
- image = util_add_image(obj, info->thumbnail_path);
- if (!image) {
- _ERR("failed to create image object");
- return NULL;
- }
-
- evas_object_show(image);
- } else if (!strcmp(part, PART_ELM_SWALLOW_VIDEO)) {
- if (info->media_type == MEDIA_CONTENT_TYPE_VIDEO) {
- image = util_add_image(obj, IMAGE_THUMBNAIL_PLAY);
- if (!image) {
- _ERR("failed to create image object");
- return NULL;
- }
-
- evas_object_show(image);
- }
- } else if (!strcmp(part, PART_ELM_SWALLOW_FAVORITE)) {
- if (!info->favorite)
- return NULL;
-
- image = util_add_image(obj, IMAGE_THUMBNAIL_FAVORITE);
- if (!image) {
- _ERR("failed to create image object");
- return NULL;
- }
-
- evas_object_show(image);
- }
-
- return image;
-}
-
-static struct grid_class _gclass = {
- .item_style = STYLE_GRID_GALLERY_ITEM,
- .text_get = _grid_text_get,
- .content_get = _grid_content_get
+ struct grid_data *gdata;
};
static void _recent_item_selected(struct _priv *priv, app_media *am)
@@ -162,97 +78,22 @@ static void _recent_item_selected(struct _priv *priv, app_media *am)
viewmgr_push_view(VIEW_VIEWER);
}
-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_VIEWER, UPDATE_CONTENT, &vdata);
- viewmgr_push_view(VIEW_VIEWER);
-}
-
-static void _grid_key_down_cb(void *data, Elm_Object_Item *it,
- Evas_Event_Key_Down *ev)
-{
- app_media *am;
- struct view_update_data vdata;
- struct _priv *priv;
-
- if (!data || !ev) {
- _ERR("invalid argument");
- return;
- }
-
- priv = data;
-
- if (!strcmp(ev->keyname, KEY_MENU) ||
- !strcmp(ev->keyname, KEY_MENU_REMOTE)) {
- 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_ACTION_MENU, UPDATE_CONTENT, &vdata);
- viewmgr_show_view(VIEW_ACTION_MENU);
- }
-}
-
static struct listmgr_data *_create_listmgr_data(struct _priv *priv)
{
struct listmgr_data *data;
- struct grid_ops *gops;
data = calloc(1, sizeof(*data));
- if (!data)
- goto err;
+ if (!data) {
+ _ERR("failed to allocate memory");
+ return NULL;
+ }
data->menu_btn = priv->menu_btn;
data->view_btn = priv->view_btn;
- data->grid_item_x = GRID_ITEM_X;
- data->grid_item_y = GRID_ITEM_Y;
- data->grid_num_item = GRID_NUM_ITEM;
- data->box_padding = BOX_PADDING;
-
- gops = calloc(1, sizeof(*gops));
- if (!gops) {
- free(data);
- goto err;
- }
-
- gops->gclass = &_gclass;
- gops->key_down_cb = _grid_key_down_cb;
- gops->selected_cb = _grid_selected_cb;
- gops->ops_data = priv;
-
- data->gops = gops;
+ data->grid_cb_data = priv->md;
return data;
-
-err:
- _ERR("failed to allocate memory");
- return NULL;
}
static void _update_content_info(struct _priv *priv)
@@ -282,14 +123,14 @@ static void _update_content_list(struct _priv *priv)
return;
}
- list = mediadata_get_list(priv->md, E_LIST_DATE);
+ list = priv->gdata->get_item_list(priv->md);
if (!list) {
elm_object_part_text_set(priv->layout,
PART_NOCONTENT, TEXT_NOCONTENT);
return;
}
- if (!listmgr_update_content_list(priv->listmgr, list))
+ if (!listmgr_update_content_list(priv->listmgr, list, priv->gdata))
_ERR("failed to update list area");
priv->media_list = list;
@@ -324,9 +165,6 @@ static bool _create(layoutmgr *lmgr, void *data)
return false;
}
- priv->menu_btn = ld->top;
- priv->view_btn = ld->bottom;
-
base = layoutmgr_get_base(lmgr);
if (!base) {
_ERR("failed to get base object");
@@ -344,37 +182,41 @@ static bool _create(layoutmgr *lmgr, void *data)
goto err2;
}
+ md = mediadata_create(LIST_MEDIA_COND, E_SOURCE_ALL, E_SORT_DATE);
+ if (!md) {
+ _ERR("failed to create mediadata");
+ goto err2;
+ }
+
+ priv->base = base;
+ priv->layout = layout;
+ priv->menu_btn = ld->top;
+ priv->view_btn = ld->bottom;
+ priv->lmgr = lmgr;
+ priv->md = md;
+ priv->gdata = get_gallery_grid_data(E_GALLERY_EVENT);
+
ldata = _create_listmgr_data(priv);
if (!ldata) {
_ERR("failed to create listmgr data");
- goto err2;
+ goto err3;
}
listmgr = listmgr_create(layout, (void *)ldata);
if (!listmgr) {
_ERR("failed to create listmgr");
+ free(ldata);
goto err3;
}
- md = mediadata_create(LIST_MEDIA_COND, E_SOURCE_ALL, E_SORT_DATE);
- if (!md) {
- _ERR("failed to create mediadata");
- listmgr_destroy(listmgr);
- goto err3;
- }
-
- priv->base = base;
- priv->layout = layout;
- priv->lmgr = lmgr;
- priv->listmgr = listmgr;
priv->ldata = ldata;
- priv->md = md;
+ priv->listmgr = listmgr;
layoutmgr_set_layout_data(lmgr, LAYOUT_GALLERY, priv);
if (!listmgr_draw_list_area(listmgr)) {
_ERR("failed to draw list area");
- mediadata_destroy(md);
+ free(ldata);
listmgr_destroy(listmgr);
goto err3;
}
@@ -382,7 +224,7 @@ static bool _create(layoutmgr *lmgr, void *data)
return true;
err3:
- free(ldata);
+ mediadata_destroy(md);
err2:
evas_object_del(layout);
err:
@@ -405,7 +247,6 @@ static void _destroy(void *layout_data)
mediadata_destroy(priv->md);
listmgr_destroy(priv->listmgr);
- free(priv->ldata->gops);
free(priv->ldata);
evas_object_del(priv->layout);
diff --git a/src/layout/movie.c b/src/layout/movie.c
index 41d3bdf..0b7f98b 100644
--- a/src/layout/movie.c
+++ b/src/layout/movie.c
@@ -28,6 +28,7 @@
#include "layout.h"
#include "view.h"
#include "data/mediadata.h"
+#include "grid/grid.h"
#include "util/listmgr.h"
#include "util/progressbar.h"
#include "util/util.h"
@@ -63,90 +64,8 @@ struct _priv {
Eina_List *media_list;
app_media *recent_info;
-};
-
-static char *_grid_text_get(void *data, Evas_Object *obj, const char *part)
-{
- app_media *am;
- app_media_info *info;
-
- if (!data)
- return NULL;
-
- am = data;
-
- if (!strcmp(part, PART_ELM_TEXT_TITLE)) {
- info = app_media_get_info(am);
- if (!info) {
- _ERR("failed to get media info");
- return NULL;
- }
-
- return strdup(info->title);
- }
-
- return NULL;
-}
-
-static Evas_Object *_grid_content_get(void *data,
- Evas_Object *obj, const char *part)
-{
- Evas_Object *image;
- Evas_Object *text_bg;
- app_media *am;
- app_media_info *info;
- struct color_data bg;
-
- if (!data)
- return NULL;
-
- am = data;
- info = app_media_get_info(am);
- if (!info) {
- _ERR("failed to get media info");
- return NULL;
- }
-
- if (!strcmp(part, PART_ELM_SWALLOW_THUMBNAIL)) {
- image = util_add_image(obj, info->thumbnail_path);
- if (!image) {
- _ERR("failed to create image object");
- return NULL;
- }
- evas_object_show(image);
- return image;
- } else if (!strcmp(part, PART_ELM_SWALLOW_FAVORITE)) {
- if (!info->favorite)
- return NULL;
-
- image = util_add_image(obj, IMAGE_THUMBNAIL_FAVORITE);
- if (!image) {
- _ERR("failed to create image object");
- return NULL;
- }
-
- evas_object_show(image);
- return image;
- } else if (!strcmp(part, PART_ELM_SWALLOW_TEXTBG)) {
- text_bg = evas_object_rectangle_add(obj);
- if (!text_bg) {
- _ERR("failed to create rectangle object");
- return NULL;
- }
-
- app_contents_get_color(info->title, NULL, &bg);
- evas_object_color_set(text_bg, bg.r, bg.g, bg.b, bg.a);
- return text_bg;
- }
-
- return NULL;
-}
-
-static struct grid_class _gclass = {
- .item_style = STYLE_GRID_MOVIE_ITEM,
- .text_get = _grid_text_get,
- .content_get = _grid_content_get
+ struct grid_data *gdata;
};
static bool _update_recent_info(Evas_Object *base, app_media_info *info)
@@ -335,85 +254,27 @@ static void _recent_item_selected(struct _priv *priv, app_media *am)
viewmgr_push_view(VIEW_VIEWER);
}
-static void _item_selected(struct _priv *priv, app_media *am)
-{
- struct view_update_data vdata;
-
- vdata.list = mediadata_get_medialist(priv->md);
- vdata.index = util_get_media_index(vdata.list, am);
-
- viewmgr_update_view(VIEW_VIEWER, UPDATE_CONTENT, &vdata);
- viewmgr_push_view(VIEW_VIEWER);
-}
-
static void _recent_selected_cb(void *data, Evas_Object *obj)
{
struct _priv *priv;
-
- if (!data || !obj)
- return;
-
- priv = data;
-
- _item_selected(priv, priv->recent_info);
-}
-
-static void _grid_selected_cb(void *data, Elm_Object_Item *it)
-{
- app_media *am;
- 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;
- }
-
- _item_selected(priv, am);
-}
-
-static void _grid_key_down_cb(void *data, Elm_Object_Item *it,
- Evas_Event_Key_Down *ev)
-{
- app_media *am;
struct view_update_data vdata;
- struct _priv *priv;
- if (!data || !ev) {
- _ERR("invalid argument");
+ if (!data || !obj)
return;
- }
priv = data;
- if (!strcmp(ev->keyname, KEY_MENU) ||
- !strcmp(ev->keyname, KEY_MENU_REMOTE)) {
- 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);
+ vdata.list = mediadata_get_medialist(priv->md);
+ vdata.index = util_get_media_index(vdata.list, priv->recent_info);
- viewmgr_update_view(VIEW_ACTION_MENU, UPDATE_CONTENT, &vdata);
- viewmgr_show_view(VIEW_ACTION_MENU);
- }
+ viewmgr_update_view(VIEW_VIEWER, UPDATE_CONTENT, &vdata);
+ viewmgr_push_view(VIEW_VIEWER);
}
static struct listmgr_data *_create_listmgr_data(struct _priv *priv)
{
struct listmgr_data *data;
- struct play_info_ops *pops;
- struct grid_ops *gops;
+ struct play_info_data *pdata;
data = calloc(1, sizeof(*data));
if (!data)
@@ -422,36 +283,20 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv)
data->menu_btn = priv->menu_btn;
data->view_btn = priv->view_btn;
- data->grid_item_x = GRID_ITEM_X;
- data->grid_item_y = GRID_ITEM_Y;
- data->grid_num_item = GRID_NUM_ITEM;
- data->box_padding = BOX_PADDING;
-
- pops = calloc(1, sizeof(*pops));
- if (!pops)
+ pdata = calloc(1, sizeof(*pdata));
+ if (!pdata)
goto err2;
- pops->draw = _draw_recent;
- pops->update = _update_recent;
- pops->selected_cb = _recent_selected_cb;
- pops->ops_data = priv;
+ pdata->draw = _draw_recent;
+ pdata->update = _update_recent;
+ pdata->selected_cb = _recent_selected_cb;
+ pdata->cb_data = priv;
- gops = calloc(1, sizeof(*gops));
- if (!gops)
- goto err3;
-
- gops->gclass = &_gclass;
- gops->key_down_cb = _grid_key_down_cb;
- gops->selected_cb = _grid_selected_cb;
- gops->ops_data = priv;
-
- data->pops = pops;
- data->gops = gops;
+ data->pdata = pdata;
+ data->grid_cb_data = priv->md;
return data;
-err3:
- free(pops);
err2:
free(data);
err:
@@ -491,7 +336,7 @@ static void _update_content_list(struct _priv *priv)
return;
}
- if (!listmgr_update_content_list(priv->listmgr, list)) {
+ if (!listmgr_update_content_list(priv->listmgr, list, priv->gdata)) {
_ERR("failed to update list area");
return;
}
@@ -582,9 +427,6 @@ static bool _create(layoutmgr *lmgr, void *data)
return false;
}
- priv->menu_btn = ld->top;
- priv->view_btn = ld->bottom;
-
base = layoutmgr_get_base(lmgr);
if (!base) {
_ERR("failed to get base object");
@@ -602,37 +444,42 @@ static bool _create(layoutmgr *lmgr, void *data)
goto err2;
}
+ md = mediadata_create(LIST_MEDIA_COND, E_SOURCE_ALL, E_SORT_NAME);
+ if (!md) {
+ _ERR("failed to create mediadata");
+ goto err2;
+ }
+
+ priv->base = base;
+ priv->layout = layout;
+ priv->menu_btn = ld->top;
+ priv->view_btn = ld->bottom;
+ priv->lmgr = lmgr;
+ priv->md = md;
+ priv->gdata = get_movie_grid_data(E_MOVIE_NAME);
+
ldata = _create_listmgr_data(priv);
if (!ldata) {
_ERR("failed to create listmgr data");
- goto err2;
+ goto err3;
}
listmgr = listmgr_create(layout, (void *)ldata);
if (!listmgr) {
_ERR("failed to create listmgr");
+ free(ldata->pdata);
+ free(ldata);
goto err3;
}
- md = mediadata_create(LIST_MEDIA_COND, E_SOURCE_ALL, E_SORT_NAME);
- if (!md) {
- _ERR("failed to create mediadata");
- listmgr_destroy(listmgr);
- goto err3;
- }
-
- priv->base = base;
- priv->layout = layout;
- priv->lmgr = lmgr;
- priv->listmgr = listmgr;
priv->ldata = ldata;
- priv->md = md;
+ priv->listmgr = listmgr;
layoutmgr_set_layout_data(lmgr, LAYOUT_MOVIE, priv);
if (!listmgr_draw_list_area(priv->listmgr)) {
_ERR("failed to draw list area");
- mediadata_destroy(md);
+ free(ldata);
listmgr_destroy(listmgr);
goto err3;
}
@@ -640,7 +487,7 @@ static bool _create(layoutmgr *lmgr, void *data)
return true;
err3:
- free(ldata);
+ mediadata_destroy(md);
err2:
evas_object_del(layout);
err:
@@ -665,8 +512,7 @@ static void _destroy(void *layout_data)
mediadata_destroy(priv->md);
listmgr_destroy(priv->listmgr);
- free(priv->ldata->pops);
- free(priv->ldata->gops);
+ free(priv->ldata->pdata);
free(priv->ldata);
evas_object_del(priv->layout);
diff --git a/src/layout/music.c b/src/layout/music.c
index 48161ae..5ff746e 100644
--- a/src/layout/music.c
+++ b/src/layout/music.c
@@ -28,6 +28,7 @@
#include "layout.h"
#include "view.h"
#include "data/mediadata.h"
+#include "grid/grid.h"
#include "util/listmgr.h"
#include "util/util.h"
@@ -59,79 +60,8 @@ struct _priv {
Eina_List *media_list;
app_media *playing_info;
-};
-
-static char *_grid_text_get(void *data, Evas_Object *obj, const char *part)
-{
- app_media *am;
- app_media_info *info;
-
- if (!data)
- return NULL;
-
- am = data;
- info = app_media_get_info(am);
- if (!info) {
- _ERR("failed to get media info");
- return NULL;
- }
-
- if (!strcmp(part, PART_ELM_TEXT_TITLE))
- return strdup(info->title);
- else if (!strcmp(part, PART_ELM_TEXT_ARTIST))
- return strdup(info->audio->artist);
- else if (!strcmp(part, PART_ELM_TEXT_ALBUM))
- return strdup(info->audio->album);
-
- return NULL;
-}
-
-static Evas_Object *_grid_content_get(void *data,
- Evas_Object *obj, const char *part)
-{
- Evas_Object *image;
- app_media *am;
- app_media_info *info;
-
- if (!data)
- return NULL;
-
- am = data;
- info = app_media_get_info(am);
- if (!info) {
- _ERR("failed to get media info");
- return NULL;
- }
-
- image = NULL;
- if (!strcmp(part, PART_ELM_SWALLOW_THUMBNAIL)) {
- image = util_add_image(obj, info->thumbnail_path);
- if (!image) {
- _ERR("failed to create image object");
- return NULL;
- }
- evas_object_show(image);
- } else if (!strcmp(part, PART_ELM_SWALLOW_FAVORITE)) {
- if (!info->favorite)
- return NULL;
-
- image = util_add_image(obj, IMAGE_THUMBNAIL_FAVORITE);
- if (!image) {
- _ERR("failed to create image object");
- return NULL;
- }
-
- evas_object_show(image);
- }
-
- return image;
-}
-
-static struct grid_class _gclass = {
- .item_style = STYLE_GRID_SONG_ITEM,
- .text_get = _grid_text_get,
- .content_get = _grid_content_get
+ struct grid_data *gdata;
};
static bool _update_playing_info(void *data, Evas_Object *base)
@@ -268,85 +198,27 @@ static void _recent_item_selected(struct _priv *priv, app_media *am)
viewmgr_push_view(VIEW_MPLAYER);
}
-static void _item_selected(struct _priv *priv, app_media *am)
-{
- struct view_update_data vdata;
-
- 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 void _playing_selected_cb(void *data, Evas_Object *obj)
{
- struct _priv *priv;
-
- if (!data || !obj)
- return;
-
- priv = data;
-
- _item_selected(priv, priv->playing_info);
-}
-
-static void _grid_selected_cb(void *data, Elm_Object_Item *it)
-{
- app_media *am;
- 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;
- }
-
- _item_selected(priv, am);
-}
-
-static void _grid_key_down_cb(void *data, Elm_Object_Item *it,
- Evas_Event_Key_Down *ev)
-{
- app_media *am;
struct view_update_data vdata;
struct _priv *priv;
- if (!data || !ev) {
- _ERR("invalid argument");
+ if (!data || !obj)
return;
- }
priv = data;
- if (!strcmp(ev->keyname, KEY_MENU) ||
- !strcmp(ev->keyname, KEY_MENU_REMOTE)) {
- 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);
+ vdata.list = mediadata_get_medialist(priv->md);
+ vdata.index = util_get_media_index(vdata.list, priv->playing_info);
- viewmgr_update_view(VIEW_ACTION_MENU, UPDATE_CONTENT, &vdata);
- viewmgr_show_view(VIEW_ACTION_MENU);
- }
+ 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;
- struct play_info_ops *pops;
- struct grid_ops *gops;
+ struct play_info_data *pdata;
data = calloc(1, sizeof(*data));
if (!data)
@@ -355,36 +227,20 @@ static struct listmgr_data *_create_listmgr_data(struct _priv *priv)
data->menu_btn = priv->menu_btn;
data->view_btn = priv->view_btn;
- data->grid_item_x = GRID_ITEM_X;
- data->grid_item_y = GRID_ITEM_Y;
- data->grid_num_item = GRID_NUM_ITEM;
- data->box_padding = BOX_PADDING;
-
- pops = calloc(1, sizeof(*pops));
- if (!pops)
+ pdata = calloc(1, sizeof(*pdata));
+ if (!pdata)
goto err2;
- pops->draw = _draw_playing_info;
- pops->update = _update_playing_info;
- pops->selected_cb = _playing_selected_cb;
- pops->ops_data = priv;
-
- gops = calloc(1, sizeof(*gops));
- if (!gops)
- goto err3;
+ pdata->draw = _draw_playing_info;
+ pdata->update = _update_playing_info;
+ pdata->selected_cb = _playing_selected_cb;
+ pdata->cb_data = priv;
- gops->gclass = &_gclass;
- gops->key_down_cb = _grid_key_down_cb;
- gops->selected_cb = _grid_selected_cb;
- gops->ops_data = priv;
-
- data->pops = pops;
- data->gops = gops;
+ data->pdata = pdata;
+ data->grid_cb_data = priv->md;
return data;
-err3:
- free(pops);
err2:
free(data);
err:
@@ -417,14 +273,14 @@ static void _update_content_list(struct _priv *priv)
return;
}
- list = mediadata_get_list(priv->md, E_LIST_NAME);
+ list = priv->gdata->get_item_list(priv->md);
if (!list) {
elm_object_part_text_set(priv->layout,
PART_NOCONTENT, TEXT_NOCONTENT);
return;
}
- if (!listmgr_update_content_list(priv->listmgr, list))
+ if (!listmgr_update_content_list(priv->listmgr, list, priv->gdata))
_ERR("failed to update list area");
priv->media_list = list;
@@ -512,9 +368,6 @@ static bool _create(layoutmgr *lmgr, void *data)
return false;
}
- priv->menu_btn = ld->top;
- priv->view_btn = ld->bottom;
-
base = layoutmgr_get_base(lmgr);
if (!base) {
_ERR("failed to get base object");
@@ -532,37 +385,41 @@ static bool _create(layoutmgr *lmgr, void *data)
goto err2;
}
+ md = mediadata_create(LIST_MEDIA_COND, E_SOURCE_ALL, E_SORT_NAME);
+ if (!md) {
+ _ERR("failed to create mediadata");
+ goto err2;
+ }
+
+ priv->base = base;
+ priv->layout = layout;
+ priv->menu_btn = ld->top;
+ priv->view_btn = ld->bottom;
+ priv->lmgr = lmgr;
+ priv->md = md;
+ priv->gdata = get_music_grid_data(E_MUSIC_SONG);
+
ldata = _create_listmgr_data(priv);
if (!ldata) {
_ERR("failed to create listmgr data");
- goto err2;
+ goto err3;
}
listmgr = listmgr_create(layout, (void *)ldata);
if (!listmgr) {
_ERR("failed to create listmgr");
+ free(ldata);
goto err3;
}
- md = mediadata_create(LIST_MEDIA_COND, E_SOURCE_ALL, E_SORT_NAME);
- if (!md) {
- _ERR("failed to create mediadata");
- listmgr_destroy(listmgr);
- goto err3;
- }
-
- priv->base = base;
- priv->layout = layout;
- priv->lmgr = lmgr;
- priv->listmgr = listmgr;
priv->ldata = ldata;
- priv->md = md;
+ priv->listmgr = listmgr;
layoutmgr_set_layout_data(lmgr, LAYOUT_MUSIC, priv);
if (!listmgr_draw_list_area(listmgr)) {
_ERR("failed to draw list area");
- mediadata_destroy(md);
+ free(ldata);
listmgr_destroy(listmgr);
goto err3;
}
@@ -570,7 +427,7 @@ static bool _create(layoutmgr *lmgr, void *data)
return true;
err3:
- free(ldata);
+ mediadata_destroy(md);
err2:
evas_object_del(layout);
err:
@@ -593,7 +450,6 @@ static void _destroy(void *layout_data)
mediadata_destroy(priv->md);
listmgr_destroy(priv->listmgr);
- free(priv->ldata->gops);
free(priv->ldata);
evas_object_del(priv->layout);
diff --git a/src/util/listmgr.c b/src/util/listmgr.c
index cb76302..876f137 100644
--- a/src/util/listmgr.c
+++ b/src/util/listmgr.c
@@ -23,6 +23,7 @@
#include "define.h"
#include "data/mediadata.h"
+#include "grid/grid.h"
#include "util/listmgr.h"
#include "util/util.h"
@@ -111,7 +112,7 @@ static void _key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
Evas_Event_Key_Down *ev)
{
struct listmgr *lmgr;
- struct grid_ops *gops;
+ struct grid_data *gdata;
if (!data || !obj || !ev)
return;
@@ -125,9 +126,9 @@ static void _key_down_cb(int id, void *data, Evas *e, Evas_Object *obj,
!strcmp(ev->keyname, KEY_BACK_REMOTE))
elm_object_focus_next(obj, ELM_FOCUS_UP);
else {
- gops = lmgr->data->gops;
- if (gops->key_down_cb)
- gops->key_down_cb(gops->ops_data,
+ gdata = lmgr->data->gdata;
+ if (gdata->key_down_cb)
+ gdata->key_down_cb(lmgr->data->grid_cb_data,
lmgr->focused_it, ev);
}
@@ -235,7 +236,7 @@ static void _focused_cb(int id, void *data, Evas_Object *obj,
static void _grid_selected(void *data)
{
struct listmgr *lmgr;
- struct grid_ops *gops;
+ struct grid_data *gdata;
if (!data) {
_ERR("invalid argument");
@@ -243,11 +244,10 @@ static void _grid_selected(void *data)
}
lmgr = data;
+ gdata = lmgr->data->gdata;
- gops = lmgr->data->gops;
-
- if (gops->selected_cb)
- gops->selected_cb(gops->ops_data, lmgr->selected_it);
+ if (gdata->selected_cb)
+ gdata->selected_cb(lmgr->data->grid_cb_data, lmgr->selected_it);
}
static void _grid_selected_cb(int id, void *data, Evas_Object *obj,
@@ -269,16 +269,16 @@ static void _play_info_selected_cb(void *data, Evas_Object *obj,
const char *emission, const char *source)
{
struct listmgr *lmgr;
- struct play_info_ops *pops;
+ struct play_info_data *pdata;
if (!data || !obj)
return;
lmgr = data;
- pops = lmgr->data->pops;
+ pdata = lmgr->data->pdata;
- if (pops->selected_cb)
- pops->selected_cb(pops->ops_data, obj);
+ if (pdata->selected_cb)
+ pdata->selected_cb(pdata->cb_data, obj);
}
static input_handler _grid_handler = {
@@ -330,7 +330,7 @@ static int _get_grid_width(int count, int num_item, int item_x)
static bool _draw_play_info(struct listmgr *lmgr)
{
Evas_Object *ly, *index, *content;
- struct play_info_ops *pops;
+ struct play_info_data *pdata;
ly = elm_layout_add(lmgr->box);
if (!ly) {
@@ -340,9 +340,9 @@ static bool _draw_play_info(struct listmgr *lmgr)
elm_layout_file_set(ly, EDJEFILE, GRP_LIST_ITEM);
- pops = lmgr->data->pops;
+ pdata = lmgr->data->pdata;
- if (!pops->draw(pops->ops_data, ly)) {
+ if (!pdata->draw(pdata->cb_data, ly)) {
_ERR("failed to draw play info item");
evas_object_del(ly);
return false;
@@ -397,31 +397,32 @@ static Evas_Object *_add_list_item_grid(struct listmgr *lmgr,
Evas_Object *base, struct group_info *gi)
{
Evas_Object *grid;
- struct listmgr_data *data;
+ struct grid_data *gdata;
int width;
- data = lmgr->data;
+ gdata = lmgr->data->gdata;
- grid = util_add_gengrid(base, data->grid_item_x,
- data->grid_item_y, EINA_TRUE);
+ grid = util_add_gengrid(base, gdata->item_x,
+ gdata->item_y, EINA_TRUE);
if (!grid) {
_ERR("failed to add gengrid object");
return NULL;
}
- if (!gridmgr_add_grid(lmgr->gmgr, gi->name, grid, data->gops->gclass)) {
+ if (!gridmgr_add_grid(lmgr->gmgr, gi->name, grid, gdata->gclass)) {
_ERR("failed to add grid");
evas_object_del(grid);
return NULL;
}
- width = _get_grid_width(eina_list_count(gi->list), data->grid_num_item,
- data->grid_item_x);
+ width = _get_grid_width(eina_list_count(gi->list), gdata->item_num,
+ gdata->item_x);
evas_object_size_hint_min_set(grid, width,
- data->grid_num_item * data->grid_item_y);
+ gdata->item_num * gdata->item_y);
- elm_object_focus_next_object_set(grid, data->view_btn, ELM_FOCUS_DOWN);
+ elm_object_focus_next_object_set(grid, lmgr->data->view_btn,
+ ELM_FOCUS_DOWN);
inputmgr_add_callback(grid, LISTMGR_GRID, &_grid_handler, lmgr);
@@ -629,17 +630,25 @@ bool listmgr_update_content_item(struct listmgr *lmgr)
return true;
}
-bool listmgr_update_content_list(struct listmgr *lmgr, Eina_List *list)
+bool listmgr_update_content_list(struct listmgr *lmgr, Eina_List *list,
+ struct grid_data *gdata)
{
Evas_Object *ly, *btn, *grid;
Eina_List *l;
struct group_info *gi;
- if (!lmgr) {
+ if (!lmgr || !gdata) {
_ERR("invalid argument");
return false;
}
+ lmgr->data->gdata = gdata;
+
+ elm_scroller_step_size_set(lmgr->scr, SCROLLER_STEP_SIZE(
+ gdata->grid_padding + gdata->item_x), 0);
+
+ elm_box_padding_set(lmgr->box, gdata->grid_padding, 0);
+
ly = NULL;
EINA_LIST_FOREACH(list, l, gi) {
ly = _draw_list_item(lmgr, gi);
@@ -674,7 +683,7 @@ bool listmgr_update_content_list(struct listmgr *lmgr, Eina_List *list)
bool listmgr_update_play_info(struct listmgr *lmgr, app_media_info *info)
{
- struct play_info_ops *pops;
+ struct play_info_data *pdata;
if (!lmgr) {
_ERR("invalid argument");
@@ -693,9 +702,9 @@ bool listmgr_update_play_info(struct listmgr *lmgr, app_media_info *info)
return true;
}
- pops = lmgr->data->pops;
+ pdata = lmgr->data->pdata;
- if (!pops->update(pops->ops_data, lmgr->play_info)) {
+ if (!pdata->update(pdata->cb_data, lmgr->play_info)) {
_ERR("failed to update play info");
return false;
}
@@ -730,9 +739,6 @@ bool listmgr_draw_list_area(struct listmgr *lmgr)
return false;
}
- elm_scroller_step_size_set(scr, SCROLLER_STEP_SIZE(
- data->box_padding + data->grid_item_x), 0);
-
inputmgr_add_callback(scr, LISTMGR_SCROLLER, &_handler, lmgr);
box = util_add_box(scr, EINA_TRUE);
@@ -742,8 +748,6 @@ bool listmgr_draw_list_area(struct listmgr *lmgr)
return false;
}
- elm_box_padding_set(box, data->box_padding, 0);
-
evas_object_show(box);
elm_object_content_set(scr, box);
@@ -752,7 +756,7 @@ bool listmgr_draw_list_area(struct listmgr *lmgr)
lmgr->scr = scr;
lmgr->box = box;
- if (data->pops) {
+ if (data->pdata) {
if (!_draw_play_info(lmgr)) {
_ERR("failed to draw play info");
evas_object_del(scr);