From: Hyojung Jo Date: Fri, 17 Jul 2015 01:44:11 +0000 (+0900) Subject: Gallery grid: Fix the grid thumbnail to show play icon when data is video X-Git-Tag: accepted/tizen/tv/20150728.070600~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aa1dad38dfa2df8103383d5853f8a2cd817b9376;p=profile%2Ftv%2Fapps%2Fnative%2Fair_favorite.git Gallery grid: Fix the grid thumbnail to show play icon when data is video Change-Id: I7515e57eae61aaf5364183872827729d7b654550 Signed-off-by: Hyojung Jo --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a37bfc..a015b96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,5 +88,7 @@ CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${PACKAGE_NAME}.xml) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR}) INSTALL(FILES ${PACKAGE_NAME}.xml DESTINATION ${PACKAGEDIR}) +INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/images/ DESTINATION + ${IMGDIR}) ADD_SUBDIRECTORY(res) diff --git a/include/data/media.h b/include/data/media.h index 569bbf8..53358c9 100644 --- a/include/data/media.h +++ b/include/data/media.h @@ -25,6 +25,7 @@ Eina_List *get_media_favorite_list(enum app_contents_type type); char *get_media_id(app_media *am); char *get_media_name(app_media *am); +media_content_type_e get_media_type(app_media *am); char *get_media_path(app_media *am); char *get_media_thumbnail(app_media *am); char *get_media_artist(app_media *am); diff --git a/include/define.h b/include/define.h index 4030ec0..4c9ebf1 100644 --- a/include/define.h +++ b/include/define.h @@ -36,6 +36,7 @@ #define PART_THUMB_SUBTEXT "part.thumb.subtext" #define PART_THUMB_ICON_BG "part.thumb.icon.bg" #define PART_THUMB_TEXT_BG "part.thumb.text.bg" +#define PART_THUMB_PLAY_ICON "part.thumb.play.icon" /* Style */ #define STYLE_MENU_BTN "style.menu.button" @@ -71,4 +72,7 @@ /* Image */ #define PLAY_ICON_PNG "ic_thumbnail_play.png" +/* Path */ +#define PATH_PLAY_ICON_PNG IMGDIR"/ic_thumbnail_play.png" + #endif /* __AIR_FAVORITE_DEFINE_H__ */ diff --git a/res/widgets/gengrid_gallery.edc b/res/widgets/gengrid_gallery.edc index cbb0213..4ab0723 100644 --- a/res/widgets/gengrid_gallery.edc +++ b/res/widgets/gengrid_gallery.edc @@ -18,7 +18,7 @@ group { name, "elm/gengrid/item/style.gallery/default"; data.item, "focus_highlight" "on"; data.item, "text" "part.thumb.text"; - data.item, "contents" "part.thumb.icon"; + data.item, "contents" "part.thumb.icon part.thumb.play.icon"; parts { part { name, PART_THUMB_ICON; @@ -34,7 +34,7 @@ group { } part { - name, "padding.play.icon"; + name, "padding.thumb.play.icon"; type, SPACER; scale, 1; description { @@ -47,18 +47,18 @@ group { } part { - name, "part.play.icon"; + name, PART_THUMB_PLAY_ICON; type, SWALLOW; scale, 1; description { state, "default" 0.0; min, 80 80; rel1 { - to, "padding.play.icon"; + to, "padding.thumb.play.icon"; relative, 1.0 1.0; } rel2 { - to, "padding.play.icon"; + to, "padding.thumb.play.icon"; relative, 1.0 1.0; } align, 0.0 0.0; diff --git a/src/data/media.c b/src/data/media.c index d722934..e35e6d1 100644 --- a/src/data/media.c +++ b/src/data/media.c @@ -120,6 +120,24 @@ char *get_media_name(app_media *am) return minfo->display_name; } +media_content_type_e get_media_type(app_media *am) +{ + app_media_info *minfo; + + if (!am) { + _ERR("Invalid argument."); + return -1; + } + + minfo = app_media_get_info(am); + if (!minfo) { + _ERR("Get app_media_info failed."); + return -1; + } + + return minfo->media_type; +} + char *get_media_path(app_media *am) { app_media_info *minfo; diff --git a/src/grid/grid_gallery.c b/src/grid/grid_gallery.c index a01e593..c39c69e 100644 --- a/src/grid/grid_gallery.c +++ b/src/grid/grid_gallery.c @@ -54,32 +54,49 @@ static Evas_Object *_content_get(void *data, Evas_Object *obj, const char *part) } am = data; - thumbnail = get_media_thumbnail(am); + if (!strcmp(part, PART_THUMB_ICON)) { + thumbnail = get_media_thumbnail(am); - if (!thumbnail) { - icon = elm_icon_add(obj); - if (!icon) { - _ERR("elm_icon_add failed."); + if (!thumbnail) { + icon = elm_icon_add(obj); + if (!icon) { + _ERR("elm_icon_add failed."); + return NULL; + } + + elm_icon_thumb_set(icon, get_media_path(am), NULL); + elm_image_aspect_fixed_set(icon, EINA_FALSE); + + return icon; + } + + img = elm_image_add(obj); + if (!img) { + _ERR("elm_image_add failed."); return NULL; } - elm_icon_thumb_set(icon, get_media_path(am), NULL); - elm_image_aspect_fixed_set(icon, EINA_FALSE); + elm_image_file_set(img, thumbnail, NULL); + elm_image_aspect_fixed_set(img, EINA_FALSE); + evas_object_show(img); - return icon; - } + return img; + } else if (!strcmp(part, PART_THUMB_PLAY_ICON) && + get_media_type(am) == MEDIA_CONTENT_TYPE_VIDEO) { + img = elm_image_add(obj); + if (!img) { + _ERR("elm_image_add failed."); + return NULL; + } - img = elm_image_add(obj); - if (!img) { - _ERR("elm_image_add failed."); - return NULL; - } + elm_image_file_set(img, PATH_PLAY_ICON_PNG, NULL); + elm_image_aspect_fixed_set(img, EINA_FALSE); + evas_object_show(img); - elm_image_file_set(img, thumbnail, NULL); - elm_image_aspect_fixed_set(img, EINA_FALSE); - evas_object_show(img); + return img; + } - return img; + return NULL; } static struct grid_class _gclass = {