View: Fixed the content count area when the menu is gallery 66/44366/1
authorHyojung Jo <hj903.jo@samsung.com>
Tue, 21 Jul 2015 06:45:38 +0000 (15:45 +0900)
committerHyojung Jo <hj903.jo@samsung.com>
Tue, 21 Jul 2015 06:45:38 +0000 (15:45 +0900)
Change-Id: I04f2beaee957dee6e286654c700a3e91cbaed249
Signed-off-by: Hyojung Jo <hj903.jo@samsung.com>
include/data/media.h
include/define.h
res/favorite.edc
src/data/media.c
src/view/view_base.c

index 53358c9..ee81983 100644 (file)
@@ -31,6 +31,8 @@ char *get_media_thumbnail(app_media *am);
 char *get_media_artist(app_media *am);
 char *get_media_album_name(app_media *am);
 int get_media_duration(app_media *am);
+int get_media_favorite_image_count(void);
+int get_media_favorite_video_count(void);
 void free_media_favorite_list(Eina_List *list);
 
 #endif /* __AIR_FAVORITE_MEDIA_H__ */
index a99c26f..0ea53e9 100644 (file)
@@ -30,6 +30,8 @@
 #define PART_GENGRID "part.gengrid"
 #define PART_NO_CONTENTS "part.no.contents"
 #define PART_CONTENTS_COUNT "part.contents.count"
+#define PART_CONTENTS_SUBCOUNT "part.contents.subcount"
+#define PART_COUNT_DIVIDE_LINE "part.count.divide.line"
 #define PART_THUMB_BG "part.thumb.bg"
 #define PART_THUMB_ICON "part.thumb.icon"
 #define PART_THUMB_TEXT "part.thumb.text"
@@ -47,6 +49,8 @@
 #define SIG_UNFOCUSED "unfocused"
 #define SIG_SELECTED "selected"
 #define SIG_ITEM_SELECTED "item.selected"
+#define SIG_VISIBLE "visible"
+#define SIG_INVISIBLE "invisible"
 
 /* Source */
 #define SRC_EDC "edc"
@@ -58,6 +62,8 @@
 #define STR_CNT_TV "channels"
 #define STR_CNT_MOVIE "movies"
 #define STR_CNT_GALLERY "files"
+#define STR_CNT_GALLERY_IMAGE "photos"
+#define STR_CNT_GALLERY_VIDEO "videos"
 #define STR_CNT_MUSIC "songs"
 #define STR_CNT_APPS "apps"
 #define STR_CNT_WEBS "bookmark"
index ae13724..ead76fe 100644 (file)
@@ -161,7 +161,7 @@ collections {
                                description {
                                        state, "default" 0.0;
                                        color, 77 77 77 255;
-                                       min, 1184 148;
+                                       min, 0 148;
                                        rel1 {
                                                to, "padding.contents.count";
                                                relative, 1.0 0.0;
@@ -173,9 +173,100 @@ collections {
                                        align, 0.0 0.0;
                                        fixed, 1 1;
                                        text {
+                                               min, 1 1;
                                                font, FONT_TIZENSANS_LIGHT;
                                                size, 28;
                                                align, 0.0 0.5;
+                                               ellipsis, -1;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name, "padding.count.divide.line";
+                               type, SPACER;
+                               scale, 1;
+                               description {
+                                       state, "default" 0.0;
+                                       min, 26 0;
+                                       rel1 {
+                                               to, PART_CONTENTS_COUNT;
+                                               relative, 1.0 0.5;
+                                       }
+                                       rel2 {
+                                               to, PART_CONTENTS_COUNT;
+                                               relative, 1.0 0.5;
+                                       }
+                                       align, 0.0 0.5;
+                                       fixed, 1 0;
+                               }
+                       }
+
+                       part {
+                               name, PART_COUNT_DIVIDE_LINE;
+                               type, RECT;
+                               scale, 1;
+                               description {
+                                       state, "default" 0.0;
+                                       color, 0 0 0 76;
+                                       min, 1 24;
+                                       rel1 {
+                                               to, "padding.count.divide.line";
+                                               relative, 1.0 1.0;
+                                       }
+                                       rel2.to, "padding.count.divide.line";
+                                       align, 0.0 0.5;
+                                       fixed, 1 1;
+                                       visible, 0;
+                               }
+                               description {
+                                       state, "visible" 0.0;
+                                       inherit, "default" 0.0;
+                                       visible, 1;
+                               }
+                       }
+
+                       part {
+                               name, "padding.contents.subcount";
+                               type, SPACER;
+                               scale, 1;
+                               description {
+                                       state, "default" 0.0;
+                                       min, 18 0;
+                                       rel1 {
+                                               to, PART_COUNT_DIVIDE_LINE;
+                                               relative, 1.0 0.5;
+                                       }
+                                       rel2 {
+                                               to, PART_COUNT_DIVIDE_LINE;
+                                               relative, 1.0 0.5;
+                                       }
+                                       align, 0.0 0.5;
+                                       fixed, 1 0;
+                               }
+                       }
+
+                       part {
+                               name, PART_CONTENTS_SUBCOUNT;
+                               type, TEXT;
+                               scale, 1;
+                               description {
+                                       state, "default" 0.0;
+                                       color, 77 77 77 255;
+                                       min, 0 148;
+                                       rel1 {
+                                               to, "padding.contents.subcount";
+                                               relative, 1.0 1.0;
+                                       }
+                                       rel2.to, "padding.contents.subcount";
+                                       align, 0.0 0.5;
+                                       fixed, 1 1;
+                                       text {
+                                               min, 1 1;
+                                               font, FONT_TIZENSANS_LIGHT;
+                                               size, 28;
+                                               align, 0.0 0.5;
+                                               ellipsis, -1;
                                        }
                                }
                        }
@@ -230,6 +321,24 @@ collections {
                                }
                        }
                }
+
+               programs {
+                       program {
+                               name, SIG_VISIBLE;
+                               signal, SIG_VISIBLE;
+                               source, PART_COUNT_DIVIDE_LINE;
+                               action, STATE_SET "visible" 0.0;
+                               target, PART_COUNT_DIVIDE_LINE;
+                       }
+
+                       program {
+                               name, SIG_INVISIBLE;
+                               signal, SIG_INVISIBLE;
+                               source, PART_COUNT_DIVIDE_LINE;
+                               action, STATE_SET "default" 0.0;
+                               target, PART_COUNT_DIVIDE_LINE;
+                       }
+               }
        }
 
 
index 27568f9..e9618cf 100644 (file)
@@ -231,6 +231,40 @@ int get_media_duration(app_media *am)
        return minfo->video->duration;
 }
 
+int get_media_favorite_image_count(void)
+{
+       GList *id_list = NULL;
+       int cnt;
+
+       if (app_contents_get_favorite_list(CONTENTS_PHOTO, &id_list)
+                       != APP_CONTENTS_ERROR_NONE) {
+               _ERR("Get media favorite id list failed.");
+               return 0;
+       }
+
+       cnt = g_list_length(id_list);
+       app_contents_free_favorite_list(id_list);
+
+       return cnt;
+}
+
+int get_media_favorite_video_count(void)
+{
+       GList *id_list = NULL;
+       int cnt;
+
+       if (app_contents_get_favorite_list(CONTENTS_VIDEO, &id_list)
+                       != APP_CONTENTS_ERROR_NONE) {
+               _ERR("Get media favorite id list failed.");
+               return 0;
+       }
+
+       cnt = g_list_length(id_list);
+       app_contents_free_favorite_list(id_list);
+
+       return cnt;
+}
+
 void free_media_favorite_list(Eina_List *list)
 {
        app_media *am;
index fa4212f..51abeb0 100644 (file)
@@ -66,6 +66,19 @@ static void _draw_content_count(Evas_Object *base, int count, int id)
 
        snprintf(str, sizeof(str), "%d %s", count, str_count[id]);
        elm_object_part_text_set(base, PART_CONTENTS_COUNT, str);
+       elm_object_part_text_set(base, PART_CONTENTS_SUBCOUNT, "");
+       elm_object_signal_emit(base, SIG_INVISIBLE, PART_COUNT_DIVIDE_LINE);
+
+       if (!strcmp(str_count[id], STR_CNT_GALLERY)) {
+               snprintf(str, sizeof(str), "%d %s %d %s",
+                               get_media_favorite_image_count(),
+                               STR_CNT_GALLERY_IMAGE,
+                               get_media_favorite_video_count(),
+                               STR_CNT_GALLERY_VIDEO);
+               elm_object_part_text_set(base, PART_CONTENTS_SUBCOUNT, str);
+               elm_object_signal_emit(base, SIG_VISIBLE,
+                               PART_COUNT_DIVIDE_LINE);
+       }
 }
 
 static bool _load_current_grid(struct _priv *priv, int id)