From ad037bcad4b1eea85fc0e506dc1c69589c2fafd3 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Fri, 1 Oct 2010 16:35:06 +0000 Subject: [PATCH] [Enjoy] Theme: Effenihtize album list. SVN revision: 52951 --- data/themes/Makefile.am | 3 +- data/themes/default.edc | 103 +++++++++++++++++++++++--------- data/themes/images/no-cover.png | Bin 0 -> 4452 bytes src/bin/cover.c | 29 +++++++-- 4 files changed, 102 insertions(+), 33 deletions(-) create mode 100644 data/themes/images/no-cover.png diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am index 28f5db0..e54d968 100644 --- a/data/themes/Makefile.am +++ b/data/themes/Makefile.am @@ -19,7 +19,8 @@ images/bt-next.png \ images/bt-next2.png \ images/bt-play.png \ images/bt-pause.png \ -images/list-highlight.png +images/list-highlight.png \ +images/no-cover.png fonts = diff --git a/data/themes/default.edc b/data/themes/default.edc index 8bb4f60..227a356 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -1,4 +1,20 @@ collections { + group { + name: "album-without-cover"; + images { + image: "no-cover.png" COMP; + } + parts { + part { + name: "icon"; + type: IMAGE; + description { + state: "default" 0.0; + image.normal: "no-cover.png"; + } + } + } + } group { /* * TODO: make a proper theme, see TODO and src/bin/win.c * @@ -1188,8 +1204,6 @@ collections { } } - - /* TODO: programs in MACRO */ group { name: "elm/genlist/item_compress/root/default"; alias: "elm/genlist/item_compress/nameid/default"; alias: "elm/genlist/item_compress/all-song/default"; @@ -1293,7 +1307,6 @@ collections { } } - /* TODO: Add a background color for odd items*/ group { name: "elm/genlist/item_compress/album/default"; alias: "elm/genlist/item_compress_odd/album/default"; data { @@ -1334,15 +1347,15 @@ collections { mouse_events: 0; description { state: "default" 0.0; - min: 32 32; - max: 32 32; + min: 68 68; + max: 68 68; rel1 { relative: 0.0 0.0; offset: 4 0; } rel2 { relative: 0.0 1.0; - offset: 35 -1; + offset: 70 -1; } } } @@ -1357,7 +1370,7 @@ collections { color: 0 0 0 255; rel1 { relative: 0.0 0.0; - offset: 40 2; + offset: 75 2; } rel2 { relative: 1.0 1.0; @@ -1439,8 +1452,18 @@ collections { type: IMAGE; description { state: "default" 0.0; + align: 0.0 0.0; visible: 0; image.normal: "list-highlight.png"; + rel1 { + to_x: "ejy.swallow.cover"; + relative: 1.0 0.0; + offset: 3 14; + } + rel2 { + relative: 1.0 1.0; + offset: -1 -10; + } } description { state: "selected" 0.0; @@ -1448,21 +1471,43 @@ collections { visible: 1; } } + part { + name: "cover.bg"; + type: RECT; + mouse_events: 0; + description { + state: "default" 0.0; + rel1 { + to: "ejy.swallow.cover"; + relative: 0.0 0.0; + offset: -1 -1; + } + rel2 { + to: "ejy.swallow.cover"; + relative: 1.0 1.0; + offset: 0 0; + } + color: 66 66 66 255; + } + } part { name: "ejy.swallow.cover"; type: SWALLOW; mouse_events: 0; description { state: "default" 0.0; - min: 32 32; - max: 32 32; + min: 68 68; + max: 68 68; + align: 0.0 0.0; rel1 { + to_y: "bg"; relative: 0.0 0.0; - offset: 4 0; + offset: 27 -6; } rel2 { + to_y: "bg"; relative: 0.0 1.0; - offset: 35 -1; + offset: 95 -1; } } } @@ -1474,27 +1519,29 @@ collections { description { state: "default" 0.0; color: 0 0 0 255; + align: 0.0 0.0; rel1 { - relative: 0.0 0.0; - offset: 40 2; + to_y: "bg"; + to_x: "ejy.swallow.cover"; + relative: 1.0 0.0; + offset: 21 10; } rel2 { - relative: 1.0 0.0; - offset: -5 -2; - to_y: "ejy.text.artist"; + to_y: "bg"; + relative: 1.0 1.0; + offset: -5 -1; } - color: 255 255 255 255; + color: 210 210 210 255; text { font: "Sans:style=Bold"; - size: 12; + size: 8; min: 0 1; - align: 0.0 0.5; + align: 0.0 0.0; } } description { state: "selected" 0.0; inherit: "default" 0.0; - color: 200 20 20 255; } } part { @@ -1504,22 +1551,25 @@ collections { description { state: "default" 0.0; color: 128 128 128 255; - align: 0.0 1.0; + align: 0.0 0.0; fixed: 1 1; rel1 { - relative: 0.0 1.0; - offset: 40 -3; + to_y: "bg"; + to_x: "ejy.swallow.cover"; + relative: 1.0 0.0; + offset: 21 30; } rel2 { + to_y: "bg"; relative: 1.0 1.0; - offset: -5 -3; + offset: -5 -1; } - color: 255 255 255 255; + color: 112 112 112 255; text { font: "Sans"; size: 8; min: 0 1; - align: 0.0 1.0; + align: 0.0 0.0; text: ""; } } @@ -2047,5 +2097,4 @@ group { name: "elm/scroller/base/enjoy"; } } } - } diff --git a/data/themes/images/no-cover.png b/data/themes/images/no-cover.png new file mode 100644 index 0000000000000000000000000000000000000000..913a21e7e88824ad463c6f1d4f137a45662abd20 GIT binary patch literal 4452 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 32); + elm_icon_prescale_set(cover, size); + return cover; +} + +static Evas_Object * +_cover_without_image_add(Evas_Object *parent, unsigned short size) +{ + Evas_Object *cover = _cover_empty_add(parent, size); + if (!elm_icon_file_set(cover, PACKAGE_DATA_DIR "/default.edj", "album-without-cover")) + { + evas_object_del(cover); + return NULL; + } + return cover; +} + Evas_Object * cover_album_fetch(Evas_Object *parent, DB *db, Album *album, unsigned short size) { @@ -137,11 +158,9 @@ cover_album_fetch(Evas_Object *parent, DB *db, Album *album, unsigned short size } } - if (!best_match) return NULL; + if (!best_match) return _cover_without_image_add(parent, size); - cover = elm_icon_add(parent); - elm_icon_smooth_set(cover, size >= 32); - elm_icon_prescale_set(cover, size); + cover = _cover_empty_add(parent, size); if (!elm_icon_file_set(cover, best_match->path, NULL)) { while (album->covers) @@ -153,7 +172,7 @@ cover_album_fetch(Evas_Object *parent, DB *db, Album *album, unsigned short size db_album_covers_update(db, album); evas_object_del(cover); if (fetches < 2) goto fetch_local; - else return NULL; + else return _cover_without_image_add(parent, size); } return cover;