static bool _get_media(media_info_h m, void *data)
{
- struct datamgr_item *di;
int r;
- char *thumb, *file;
+ char *thumb;
Eina_List **list;
if (!m) {
list = data;
- r = media_info_get_file_path(m, &file);
- if (r != MEDIA_CONTENT_ERROR_NONE || !file) {
- _ERR("failed to get file");
- return false;
- }
-
r = media_info_get_thumbnail_path(m, &thumb);
if (r != MEDIA_CONTENT_ERROR_NONE || !thumb) {
_ERR("failed to get thumb");
return false;
}
- di = calloc(1, sizeof(*di));
- if (!di) {
- _ERR("failed to callco photo item");
- return false;
- }
-
- di->icon = strdup(thumb);
- di->focus_icon = strdup(file);
-
- *list = eina_list_append(*list, di);
+ *list = eina_list_append(*list, thumb);
return true;
}
static void _unload_photo(struct datamgr *dm)
{
- struct datamgr_item *di;
+ char *thumb;
- EINA_LIST_FREE(dm->list, di) {
- free(di->icon);
- free(di->focus_icon);
-
- free(di);
- }
+ EINA_LIST_FREE(dm->list, thumb)
+ free(thumb);
dm->list = NULL;
}
if (!strcmp(ev->keyname, KEY_BACK)) {
viewmgr_pop_view();
}
- /* It should be implemented later */
}
static input_handler grid_handler = {
static Evas_Object *_get_grid_content(void *data, Evas_Object *obj,
const char *part)
{
- struct datamgr_item *di = data;
Evas_Object *img = NULL;
if (!strcmp(part, PART_SWALLOW_ICON)) {
- img = utils_add_icon(obj, di->icon, NULL);
+ img = utils_add_icon(obj, data, NULL);
if (!img) {
_ERR("failed to add image");
return NULL;
return img;
}
-static void _del_content(void *data, Evas_Object *obj)
-{
- /* It should be implemented later */
-}
-
static void _delete_popup(struct _priv *priv, input_handler *handler,
Evas_Object *obj)
{
static void _select_item(void *data, Evas_Object *obj, void *ei)
{
- struct datamgr_item *di;
struct _priv *priv = data;
+ char *thumb;
- di = elm_object_item_data_get(ei);
- if (!di) {
+ thumb = elm_object_item_data_get(ei);
+ if (!thumb) {
_ERR("failed to get data");
return;
}
elm_object_focus_allow_set(priv->grid, EINA_FALSE);
- _add_viewer_popup(priv, di->focus_icon);
+ _add_viewer_popup(priv, thumb);
priv->cur = ei;
}
Elm_Gengrid_Item_Class *ic;
Elm_Object_Item *item;
Eina_List *l;
- struct datamgr_item *di;
+ char *thumb;
elm_gengrid_clear(grid);
ic->func.text_get = NULL;
ic->func.content_get = _get_grid_content;
ic->func.state_get = NULL;
- ic->func.del = _del_content;
+ ic->func.del = NULL;
- EINA_LIST_FOREACH(dlist, l, di) {
- item = elm_gengrid_item_append(grid, ic, di,
+ EINA_LIST_FOREACH(dlist, l, thumb) {
+ item = elm_gengrid_item_append(grid, ic, thumb,
_select_item, priv);
if (!item)
continue;
- elm_object_item_data_set(item, di);
+ elm_object_item_data_set(item, thumb);
priv->plist = eina_list_append(priv->plist, item);
}
return;
}
+ elm_win_focus_highlight_enabled_set(priv->win, EINA_TRUE);
priv->grid = grid;
}
priv = data;
- elm_win_focus_highlight_enabled_set(priv->win, EINA_TRUE);
evas_object_show(priv->base);
_load_photo(priv);