Fix a lot of things in ephoto.. reuse some older code but in a good way. Add in a single image browser. Use externals(ugh, but its faster for some reason?)
SVN revision: 57313v-1.6.0
@ -1,373 +1,530 @@ |
||||
externals { |
||||
external: "elm"; |
||||
} |
||||
|
||||
collections { |
||||
group |
||||
{ |
||||
name: "flow_image"; |
||||
image: "thumb_shadow.png" COMP; |
||||
parts |
||||
{ |
||||
part |
||||
{ |
||||
name: "event"; |
||||
type: RECT; |
||||
repeat_events: 1; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
color: 0 0 0 0; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "border-shadow"; |
||||
type: IMAGE; |
||||
mouse_events: 0; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
rel1 |
||||
{ |
||||
to: "image"; |
||||
offset: -18 -18; |
||||
} |
||||
rel2 |
||||
{ |
||||
to: "image"; |
||||
offset: 17 17; |
||||
} |
||||
image |
||||
{ |
||||
normal: "thumb_shadow.png"; |
||||
border: 17 17 17 17; |
||||
middle: NONE; |
||||
} |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "border"; |
||||
type: RECT; |
||||
mouse_events: 0; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
rel1 |
||||
{ |
||||
to: "border-shadow"; |
||||
offset: 16 16; |
||||
} |
||||
rel2 |
||||
{ |
||||
to: "border-shadow"; |
||||
offset: -15 -15; |
||||
} |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "image"; |
||||
type: SWALLOW; |
||||
mouse_events: 0; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
aspect_preference: BOTH; |
||||
aspect: 1.0 1.0; |
||||
rel1.offset: 0 8; |
||||
rel2.offset: -1 -2; |
||||
} |
||||
} |
||||
// part |
||||
// { |
||||
// name: "text"; |
||||
// type: TEXT; |
||||
// effect: SOFT_SHADOW; |
||||
// mouse_events: 0; |
||||
// scale: 1; |
||||
// description |
||||
// { |
||||
// state: "default" 0.0; |
||||
// color: 0 0 0 255; |
||||
// color3: 0 0 0 0; |
||||
// align: 0.5 1.0; |
||||
// rel1 |
||||
// { |
||||
// relative: 0.0 1.0; |
||||
// offset: 20 -30; |
||||
// } |
||||
// rel2 |
||||
// { |
||||
// relative: 1.0 1.0; |
||||
// offset: -21 -15; |
||||
// } |
||||
// text |
||||
// { |
||||
// font: "Sans"; |
||||
// size: 10; |
||||
// min: 0 1; |
||||
// align: 0.5 0.0; |
||||
// text_class: "image"; |
||||
// } |
||||
// } |
||||
// } |
||||
} |
||||
} |
||||
group |
||||
{ |
||||
name: "flow"; |
||||
parts |
||||
{ |
||||
part |
||||
{ |
||||
name: "offscreen_left"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
fixed: 1 1; |
||||
visible: 0; |
||||
rel1.relative: 0.0 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 0.0 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
visible: 1; |
||||
rel1.relative: 0.0 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 0.2 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
visible: 0; |
||||
rel1.relative: 1.0 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 1.0 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "left"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
visible: 1; |
||||
rel1.relative: 0.0 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 0.2 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
rel1.relative: 0.2 0.2; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 0.8 0.8; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
rel1.relative: 0.0 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 0.0 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: full 0.0; |
||||
map.on: 1; |
||||
inherit: default 0.0; |
||||
visible: 0; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "right"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
visible: 1; |
||||
rel1.relative: 0.8 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 1.0 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
rel1.relative: 1.0 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 1.0 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
rel1.relative: 0.2 0.2; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 0.8 0.8; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: full 0.0; |
||||
map.on: 1; |
||||
inherit: default 0.0; |
||||
visible: 0; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "center"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
rel1.relative: 0.2 0.2; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 0.8 0.8; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
rel1.relative: 0.8 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 1.0 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
rel1.relative: 0.0 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 0.2 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: full 0.0; |
||||
rel1.relative: 0.0 0.0; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 1.0 1.0; |
||||
rel2.offset: -1 -1; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "offscreen_right"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
fixed: 1 1; |
||||
visible: 0; |
||||
rel1.relative: 1.0 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 1.0 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
visible: 0; |
||||
rel1.relative: 0.0 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 0.0 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
visible: 1; |
||||
rel1.relative: 0.8 0.3; |
||||
rel1.offset: 0 0; |
||||
rel2.relative: 1.0 0.7; |
||||
rel2.offset: 0 0; |
||||
} |
||||
} |
||||
} |
||||
programs |
||||
{ |
||||
program |
||||
{ |
||||
name: "right"; |
||||
signal: "right"; |
||||
source: "ephoto"; |
||||
action: STATE_SET right 0.0; |
||||
transition: LINEAR 0.4; |
||||
target: "offscreen_right"; |
||||
target: "right"; |
||||
target: "center"; |
||||
target: "left"; |
||||
target: "offscreen_left"; |
||||
after: "done"; |
||||
} |
||||
program |
||||
{ |
||||
name: "left"; |
||||
signal: "left"; |
||||
source: "ephoto"; |
||||
action: STATE_SET left 0.0; |
||||
transition: LINEAR 0.4; |
||||
target: "offscreen_left"; |
||||
target: "left"; |
||||
target: "center"; |
||||
target: "right"; |
||||
target: "offscreen_right"; |
||||
after: "done"; |
||||
} |
||||
program |
||||
{ |
||||
name: "full"; |
||||
signal: "full"; |
||||
source: "ephoto"; |
||||
action: STATE_SET full 0.0; |
||||
transition: LINEAR 0.2; |
||||
target: "left"; |
||||
target: "right"; |
||||
target: "center"; |
||||
} |
||||
program |
||||
{ |
||||
name: "full_reset"; |
||||
signal: "full_reset"; |
||||
source: "ephoto"; |
||||
action: STATE_SET default 0.0; |
||||
transition: LINEAR 0.2; |
||||
target: "left"; |
||||
target: "right"; |
||||
target: "center"; |
||||
} |
||||
program |
||||
{ |
||||
name: "done"; |
||||
action: SIGNAL_EMIT "done" "ephoto"; |
||||
} |
||||
program |
||||
{ |
||||
name: "reset"; |
||||
signal: "reset"; |
||||
source: "ephoto"; |
||||
action: STATE_SET default 0.0; |
||||
target: "offscreen_right"; |
||||
target: "right"; |
||||
target: "center"; |
||||
target: "left"; |
||||
target: "offscreen_left"; |
||||
} |
||||
} |
||||
} |
||||
images |
||||
{ |
||||
image: "thumb_shadow.png" COMP; |
||||
} |
||||
group |
||||
{ |
||||
name: "elm/layout/ephoto/orient"; |
||||
parts |
||||
{ |
||||
part |
||||
{ |
||||
name: "elm.swallow.content"; |
||||
type: SWALLOW; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
} |
||||
description |
||||
{ |
||||
state: "rotate_0" 0.0; |
||||
inherit: "default" 0.0; |
||||
map |
||||
{ |
||||
on: 1; |
||||
rotation.z : 0; |
||||
} |
||||
} |
||||
description |
||||
{ |
||||
state: "rotate_90" 0.0; |
||||
inherit: "default" 0.0; |
||||
map |
||||
{ |
||||
on: 1; |
||||
rotation.z : 90; |
||||
} |
||||
} |
||||
description |
||||
{ |
||||
state: "rotate_180" 0.0; |
||||
inherit: "default" 0.0; |
||||
map |
||||
{ |
||||
on: 1; |
||||
rotation.z : 180; |
||||
} |
||||
} |
||||
description |
||||
{ |
||||
state: "rotate_270" 0.0; |
||||
inherit: "default" 0.0; |
||||
map |
||||
{ |
||||
on: 1; |
||||
rotation.z : 270; |
||||
} |
||||
} |
||||
description |
||||
{ |
||||
state: "flip_horiz" 0.0; |
||||
inherit: "default" 0.0; |
||||
map |
||||
{ |
||||
on: 1; |
||||
rotation.y : 180; |
||||
} |
||||
} |
||||
description |
||||
{ |
||||
state: "flip_vert" 0.0; |
||||
inherit: "default" 0.0; |
||||
map |
||||
{ |
||||
on: 1; |
||||
rotation.x : 180; |
||||
} |
||||
} |
||||
description |
||||
{ |
||||
state: "flip_horiz_90" 0.0; |
||||
inherit: "default" 0.0; |
||||
map |
||||
{ |
||||
on: 1; |
||||
rotation |
||||
{ |
||||
z: 90; |
||||
y: 180; |
||||
} |
||||
} |
||||
} |
||||
description |
||||
{ |
||||
state: "flip_vert_90" 0.0; |
||||
inherit: "default" 0.0; |
||||
map |
||||
{ |
||||
on: 1; |
||||
rotation |
||||
{ |
||||
z: 90; |
||||
x: 180; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
programs |
||||
{ |
||||
program |
||||
{ |
||||
signal: "state,rotate,0"; |
||||
source: "ephoto"; |
||||
action: STATE_SET "rotate_0" 0.0; |
||||
target: "elm.swallow.content"; |
||||
} |
||||
program |
||||
{ |
||||
signal: "state,rotate,90"; |
||||
source: "ephoto"; |
||||
action: STATE_SET "rotate_90" 0.0; |
||||
target: "elm.swallow.content"; |
||||
} |
||||
program |
||||
{ |
||||
signal: "state,rotate,180"; |
||||
source: "ephoto"; |
||||
action: STATE_SET "rotate_180" 0.0; |
||||
target: "elm.swallow.content"; |
||||
} |
||||
program |
||||
{ |
||||
signal: "state,rotate,270"; |
||||
source: "ephoto"; |
||||
action: STATE_SET "rotate_270" 0.0; |
||||
target: "elm.swallow.content"; |
||||
} |
||||
program |
||||
{ |
||||
signal: "state,flip,horiz"; |
||||
source: "ephoto"; |
||||
action: STATE_SET "flip_horiz" 0.0; |
||||
target: "elm.swallow.content"; |
||||
} |
||||
program |
||||
{ |
||||
signal: "state,flip,vert"; |
||||
source: "ephoto"; |
||||
action: STATE_SET "flip_vert" 0.0; |
||||
target: "elm.swallow.content"; |
||||
} |
||||
program |
||||
{ |
||||
signal: "state,flip,horiz,90"; |
||||
source: "ephoto"; |
||||
action: STATE_SET "flip_horiz_90" 0.0; |
||||
target: "elm.swallow.content"; |
||||
} |
||||
program |
||||
{ |
||||
signal: "state,flip,vert,90"; |
||||
source: "ephoto"; |
||||
action: STATE_SET "flip_vert_90" 0.0; |
||||
target: "elm.swallow.content"; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
group |
||||
{ |
||||
name: "ephoto,thumb,grid"; |
||||
parts |
||||
{ |
||||
part |
||||
{ |
||||
name: "ephoto.swallow.content.thumb"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
rel1.relative : 0.0 0.0; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 1.0 1.0; |
||||
rel2.offset : -1 -1; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
group |
||||
{ |
||||
name: "flow_image"; |
||||
parts |
||||
{ |
||||
part |
||||
{ |
||||
name: "event"; |
||||
type: RECT; |
||||
repeat_events: 1; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
color: 0 0 0 0; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "border-shadow"; |
||||
type: IMAGE; |
||||
mouse_events: 0; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
rel1 |
||||
{ |
||||
to: "image"; |
||||
offset: -18 -18; |
||||
} |
||||
rel2 |
||||
{ |
||||
to: "image"; |
||||
offset: 17 17; |
||||
} |
||||
image |
||||
{ |
||||
normal: "thumb_shadow.png"; |
||||
border: 17 17 17 17; |
||||
middle: NONE; |
||||
} |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "border"; |
||||
type: RECT; |
||||
mouse_events: 0; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
rel1 |
||||
{ |
||||
to: "border-shadow"; |
||||
offset: 16 16; |
||||
} |
||||
rel2 |
||||
{ |
||||
to: "border-shadow"; |
||||
offset: -15 -15; |
||||
} |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "image"; |
||||
type: SWALLOW; |
||||
mouse_events: 0; |
||||
description |
||||
{ |
||||
state: "default" 0.0; |
||||
aspect_preference: BOTH; |
||||
aspect: 1.0 1.0; |
||||
rel1.offset : 0 8; |
||||
rel2.offset : -1 -2; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
group |
||||
{ |
||||
name: "flow"; |
||||
parts |
||||
{ |
||||
part |
||||
{ |
||||
name: "offscreen_left"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
fixed: 1 1; |
||||
visible: 0; |
||||
rel1.relative : 0.0 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 0.0 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
visible: 1; |
||||
rel1.relative : 0.0 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 0.2 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
visible: 0; |
||||
rel1.relative : 1.0 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 1.0 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "left"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
visible: 1; |
||||
rel1.relative : 0.0 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 0.2 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
rel1.relative : 0.2 0.2; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 0.8 0.8; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
rel1.relative : 0.0 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 0.0 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: full 0.0; |
||||
inherit: default 0.0; |
||||
visible: 0; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "offscreen_right"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
fixed: 1 1; |
||||
visible: 0; |
||||
rel1.relative : 1.0 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 1.0 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
visible: 0; |
||||
rel1.relative : 0.0 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 0.0 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
visible: 1; |
||||
rel1.relative : 0.8 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 1.0 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "right"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
visible: 1; |
||||
rel1.relative : 0.8 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 1.0 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
rel1.relative : 1.0 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 1.0 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
rel1.relative : 0.2 0.2; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 0.8 0.8; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: full 0.0; |
||||
inherit: default 0.0; |
||||
visible: 0; |
||||
} |
||||
} |
||||
part |
||||
{ |
||||
name: "center"; |
||||
type: SWALLOW; |
||||
mouse_events: 1; |
||||
description |
||||
{ |
||||
state: default 0.0; |
||||
rel1.relative : 0.2 0.2; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 0.8 0.8; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: right 0.0; |
||||
rel1.relative : 0.8 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 1.0 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: left 0.0; |
||||
rel1.relative : 0.0 0.3; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 0.2 0.7; |
||||
rel2.offset : 0 0; |
||||
} |
||||
description |
||||
{ |
||||
state: full 0.0; |
||||
rel1.relative : 0.0 0.0; |
||||
rel1.offset : 0 0; |
||||
rel2.relative : 1.0 1.0; |
||||
rel2.offset : -1 -1; |
||||
} |
||||
} |
||||
} |
||||
programs |
||||
{ |
||||
program |
||||
{ |
||||
name: "right"; |
||||
signal: "right"; |
||||
source: "ephoto"; |
||||
action: STATE_SET right 0.0; |
||||
transition: LINEAR 0.4; |
||||
target: "offscreen_right"; |
||||
target: "right"; |
||||
target: "center"; |
||||
target: "left"; |
||||
target: "offscreen_left"; |
||||
after: "done"; |
||||
} |
||||
program |
||||
{ |
||||
name: "left"; |
||||
signal: "left"; |
||||
source: "ephoto"; |
||||
action: STATE_SET left 0.0; |
||||
transition: LINEAR 0.4; |
||||
target: "offscreen_left"; |
||||
target: "left"; |
||||
target: "center"; |
||||
target: "right"; |
||||
target: "offscreen_right"; |
||||
after: "done"; |
||||
} |
||||
program |
||||
{ |
||||
name: "full"; |
||||
signal: "full"; |
||||
source: "ephoto"; |
||||
action: STATE_SET full 0.0; |
||||
transition: LINEAR 0.2; |
||||
target: "left"; |
||||
target: "right"; |
||||
target: "center"; |
||||
} |
||||
program |
||||
{ |
||||
name: "full_reset"; |
||||
signal: "full_reset"; |
||||
source: "ephoto"; |
||||
action: STATE_SET default 0.0; |
||||
transition: LINEAR 0.2; |
||||
target: "left"; |
||||
target: "right"; |
||||
target: "center"; |
||||
} |
||||
program |
||||
{ |
||||
name: "done"; |
||||
action: SIGNAL_EMIT "done" "ephoto"; |
||||
} |
||||
program |
||||
{ |
||||
name: "reset"; |
||||
signal: "reset"; |
||||
source: "ephoto"; |
||||
action: STATE_SET default 0.0; |
||||
target: "offscreen_right"; |
||||
target: "right"; |
||||
target: "center"; |
||||
target: "left"; |
||||
target: "offscreen_left"; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
|
@ -1,14 +1,5 @@ |
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
EXTRA_DIST = \
|
||||
thumb_shadow.png \ |
||||
bt_sm_base1.png \ |
||||
bt_sm_shine.png \ |
||||
bt_sm_hilight.png \ |
||||
up-128.png \ |
||||
up-256.png \ |
||||
up-512.png \ |
||||
directory-128.png \ |
||||
directory-256.png \ |
||||
directory-512.png |
||||
thumb_shadow.png |
||||
|
||||
|
Before Width: | Height: | Size: 477 B |
Before Width: | Height: | Size: 285 B |
Before Width: | Height: | Size: 275 B |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 6.8 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 33 KiB |
@ -0,0 +1,158 @@ |
||||
#include "ephoto.h" |
||||
|
||||
#define CONFIG_VERSION 5 |
||||
|
||||
static int _ephoto_config_load(Ephoto *ephoto); |
||||
static Eina_Bool _ephoto_on_config_save(void *data); |
||||
|
||||
static Eet_Data_Descriptor *edd = NULL; |
||||
static Ecore_Timer *save_timer = NULL; |
||||
|
||||
Eina_Bool |
||||
ephoto_config_init(Ephoto *ephoto) |
||||
{ |
||||
Eet_Data_Descriptor_Class eddc; |
||||
|
||||
if (!eet_eina_stream_data_descriptor_class_set(&eddc, sizeof (eddc), "Ephoto_Config", sizeof(Ephoto_Config))) |
||||
{ |
||||
ERR("Unable to create the config data descriptor!"); |
||||
return EINA_FALSE; |
||||
} |
||||
|
||||
if (!edd) edd = eet_data_descriptor_stream_new(&eddc); |
||||
#undef T |
||||
#undef D |
||||
#define T Ephoto_Config |
||||
#define D edd |
||||
#define C_VAL(edd, type, member, dtype) EET_DATA_DESCRIPTOR_ADD_BASIC(edd, type, #member, member, dtype) |
||||
C_VAL(D, T, config_version, EET_T_INT); |
||||
C_VAL(D, T, thumb_size, EET_T_INT); |
||||
C_VAL(D, T, thumb_gen_size, EET_T_INT); |
||||
C_VAL(D, T, directory, EET_T_STRING); |
||||
C_VAL(D, T, slideshow_timeout, EET_T_DOUBLE); |
||||
C_VAL(D, T, slideshow_transition, EET_T_STRING); |
||||
C_VAL(D, T, editor, EET_T_STRING); |
||||
|
||||
switch (_ephoto_config_load(ephoto)) |
||||
{ |
||||
case 0: |
||||
/* Start a new config */ |
||||
ephoto->config->config_version = CONFIG_VERSION; |
||||
ephoto->config->thumb_size = 256; |
||||
ephoto->config->thumb_gen_size = 256; |
||||
ephoto->config->slideshow_timeout = 4.0; |
||||
ephoto->config->slideshow_transition = eina_stringshare_add("fade"); |
||||
ephoto->config->editor = eina_stringshare_add("gimp %s"); |
||||
break; |
||||
|
||||
case -1: |
||||
/* Incremental additions */ |
||||
if (ephoto->config->config_version < 2) |
||||
{ |
||||
ephoto->config->slideshow_timeout = 4.0; |
||||
ephoto->config->slideshow_transition = eina_stringshare_add("fade"); |
||||
} |
||||
if (ephoto->config->config_version < 3) |
||||
ephoto->config->editor = eina_stringshare_add("gimp %s"); |
||||
|
||||
if (ephoto->config->config_version < 5) |
||||
ephoto->config->thumb_gen_size = 256; |
||||
|
||||
ephoto->config->config_version = CONFIG_VERSION; |
||||
break; |
||||
|
||||
default: |
||||
return EINA_TRUE; |
||||
} |
||||
|
||||
ephoto_config_save(ephoto, EINA_FALSE); |
||||
return EINA_TRUE; |
||||
} |
||||
|
||||
void |
||||
ephoto_config_save(Ephoto *ephoto, Eina_Bool instant) |
||||
{ |
||||
if (save_timer) |
||||
{ |
||||
ecore_timer_del(save_timer); |
||||
save_timer = NULL; |
||||
} |
||||
|
||||
if (instant) |
||||
_ephoto_on_config_save(ephoto); |
||||
else |
||||
save_timer = ecore_timer_add(5.0, _ephoto_on_config_save, ephoto); |
||||
} |
||||
|
||||
void |
||||
ephoto_config_free(Ephoto *ephoto) |
||||
{ |
||||
free(ephoto->config); |
||||
ephoto->config = NULL; |
||||
} |
||||
|
||||
static int |
||||
_ephoto_config_load(Ephoto *ephoto) |
||||
{ |
||||
Eet_File *ef; |
||||
char buf[4096], buf2[4096]; |
||||
|
||||
snprintf(buf2, sizeof(buf2), "%s/.config/ephoto", getenv("HOME")); |
||||
ecore_file_mkpath(buf2); |
||||
snprintf(buf, sizeof(buf), "%s/ephoto.cfg", buf2); |
||||
|
||||
ef = eet_open(buf, EET_FILE_MODE_READ); |
||||
if (!ef) |
||||
{ |
||||
ephoto_config_free(ephoto); |
||||
ephoto->config = calloc(1, sizeof(Ephoto_Config)); |
||||
return 0; |
||||
} |
||||
|
||||
ephoto->config = eet_data_read(ef, edd, "config"); |
||||
eet_close(ef); |
||||
|
||||
if (ephoto->config->config_version > CONFIG_VERSION) |
||||
{ |
||||
ephoto_config_free(ephoto); |
||||
ephoto->config = calloc(1, sizeof(Ephoto_Config)); |
||||
return 0; |
||||
} |
||||
|
||||
if (ephoto->config->config_version < CONFIG_VERSION) |
||||
return -1; |
||||
|
||||
return 1; |
||||
} |
||||
|
||||
static Eina_Bool |
||||
_ephoto_on_config_save(void *data) |
||||
{ |
||||
Ephoto *ephoto = data; |
||||
Eet_File *ef; |
||||
char buf[4096], buf2[4096]; |
||||
|
||||
snprintf(buf, sizeof(buf), "%s/.config/ephoto/ephoto.cfg", getenv("HOME")); |
||||
snprintf(buf2, sizeof(buf2), "%s.tmp", buf); |
||||
|
||||
ef = eet_open(buf2, EET_FILE_MODE_WRITE); |
||||
if (!ef) goto save_end; |
||||
|
||||
eet_data_write(ef, edd, "config", ephoto->config, 1); |
||||
if (eet_close(ef)) goto save_end; |
||||
|
||||
if (!ecore_file_mv(buf2, buf)) goto save_end; |
||||
|
||||
INF("Config saved"); |
||||
|
||||
save_end: |
||||
ecore_file_unlink(buf2); |
||||
|
||||
if (save_timer) |
||||
{ |
||||
ecore_timer_de |