collections { group { /* * TODO: make a proper theme, see TODO and src/bin/win.c * * Theme should be based on efenniht, see THEMES/efenniht * and eve/data/theme/default. * * - add volume bar * - add nowplaying mode * - add mode toggle * - add "more" button */ name: "win"; min: 480 320; data.item: "initial_size" "480 800"; parts { part { name: "bg"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 255; } } part { name: "ejy.swallow.list"; type: SWALLOW; description { state: "default" 0.0; rel1 { relative: 0.0 0.0; offset: 0 0; } rel2 { relative: 1.0 1.0; offset: -1 -101; } } } #define TB(_name, start, end, _color) \ part { \ name: _name".clipper"; \ type: RECT; \ description { \ state: "default" 0.0; \ } \ description { \ state: "hidden" 0.0; \ inherit: "default" 0.0; \ color: 255 255 255 0; \ visible: 0; \ } \ } \ part { \ name: _name; \ type: RECT; \ clip_to: _name".clipper"; \ description { \ state: "default" 0.0; \ color: _color; \ rel1 { \ relative: start 1.0; \ offset: 0 -100; \ } \ rel2 { \ relative: end 1.0; \ offset: -1 -1; \ } \ } \ description { \ state: "disabled" 0.0; \ inherit: "default" 0.0; \ color: 128 128 128 255; \ } \ } \ programs { \ program { \ name: "ejy,"_name",clicked"; \ signal: "mouse,clicked,1"; \ source: _name; \ action: SIGNAL_EMIT "ejy,"_name",clicked" "ejy"; \ } \ program { \ name: "ejy,"_name",disable"; \ signal: "ejy,"_name",disable"; \ source: "ejy"; \ action: STATE_SET "disabled" 0.0; \ target: _name; \ } \ program { \ name: "ejy,"_name",enable"; \ signal: "ejy,"_name",enable"; \ source: "ejy"; \ action: STATE_SET "default" 0.0; \ target: _name; \ } \ program { \ name: "ejy,"_name",hide"; \ signal: "ejy,"_name",hide"; \ source: "ejy"; \ action: STATE_SET "hidden" 0.0; \ target: _name".clipper"; \ } \ program { \ name: "ejy,"_name",show"; \ signal: "ejy,"_name",show"; \ source: "ejy"; \ action: STATE_SET "default" 0.0; \ target: _name".clipper"; \ } \ } TB("prev", 0.0, 0.2, 255 0 0 255); TB("next", 0.2, 0.4, 0 255 0 255); TB("action,play", 0.4, 0.6, 0 0 255 255); TB("action,pause", 0.4, 0.6, 255 0 255 255); } } group { name: "page/songs"; data.item: "homogeneous" "1"; parts { part { name: "title.bg"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 128 128 128 255; rel1.to: "ejy.text.title"; rel2.to: "ejy.text.title"; } } part { name: "ejy.text.title"; type: TEXT; mouse_events: 0; description { state: "default" 0.0; rel1 { relative: 0.0 0.0; offset: 0 0; } rel2 { relative: 1.0 0.0; offset: -1 100; } text { font: "Sans"; size: 10; text: "title"; } } } part { name: "ejy.swallow.list"; type: SWALLOW; description { state: "default" 0.0; rel1 { relative: 0.0 0.0; offset: 0 100; } rel2 { relative: 1.0 1.0; offset: -1 -1; } } } part { name: "ejy.swallow.index"; type: SWALLOW; description { state: "default" 0.0; rel1.to: "ejy.swallow.list"; rel2.to: "ejy.swallow.list"; } } } } group { name: "elm/genlist/item_compress/song/default"; alias: "elm/genlist/item_compress_odd/song/default"; data.item: "labels" "text.title text.album-artist"; //data.item: "icons" "swallow.cover"; parts { part { name: "events"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 255 255 255 0; } } part { name: "text.title"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; color: 0 0 0 255; rel1 { relative: 0.0 0.0; offset: 4 2; } rel2 { relative: 1.0 0.0; offset: -5 -2; to_y: "text.album-artist"; } text { font: "Sans:style=Bold"; size: 12; min: 0 1; align: 0.0 0.5; } } } part { name: "text.album-artist"; type: TEXT; mouse_events: 0; description { state: "default" 0.0; color: 128 128 128 255; align: 0.0 1.0; rel1 { relative: 0.0 1.0; offset: 4 -3; } rel2 { relative: 1.0 1.0; offset: -5 -3; } text { font: "Sans"; size: 8; min: 0 1; align: 0.0 1.0; text: "Album"; } } } part { name: "separator"; type: RECT; mouse_events: 0; description { state: "default" 0.0; color: 128 128 128 255; rel1 { relative: 0.0 1.0; offset: 0 -2; } rel2 { relative: 1.0 1.0; offset: -1 -1; } } } } } }