Ephoto: Add a nice effect for fading out the controls bar and add the beginning of moving slideshows (needs work still).
This commit is contained in:
parent
a2f674b21b
commit
af8353c0f7
|
@ -19,6 +19,8 @@ collections {
|
||||||
public offsetv = 0;
|
public offsetv = 0;
|
||||||
public custom = 0 ;
|
public custom = 0 ;
|
||||||
public custom_folders = 0;
|
public custom_folders = 0;
|
||||||
|
public folders_visible = 1;
|
||||||
|
public controls_visible = 1;
|
||||||
public message(Msg_Type:type, id, ...) {
|
public message(Msg_Type:type, id, ...) {
|
||||||
if ((type == MSG_INT_SET) && (id == 1)) {
|
if ((type == MSG_INT_SET) && (id == 1)) {
|
||||||
new hoffset = getarg(2);
|
new hoffset = getarg(2);
|
||||||
|
@ -58,6 +60,54 @@ collections {
|
||||||
STATE_MIN, minw, 0);
|
STATE_MIN, minw, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public hide_folders(val, Float:pos) {
|
||||||
|
set_int(folders_visible, 0);
|
||||||
|
set_state_anim(PART:"ephoto.swallow.folders",
|
||||||
|
"hidden", 0.0, DECELERATE, pos);
|
||||||
|
set_state_anim(PART:"folders_shadow",
|
||||||
|
"hidden", 0.0, DECELERATE, pos);
|
||||||
|
set_state_anim(PART:"ephoto,folders",
|
||||||
|
"hidden", 0.0, DECELERATE, pos);
|
||||||
|
}
|
||||||
|
public show_folders(val, Float:pos) {
|
||||||
|
set_int(folders_visible, 1);
|
||||||
|
if (get_int(custom_folders)) {
|
||||||
|
set_state_anim(PART:"ephoto.swallow.folders",
|
||||||
|
"custom", 0.0, ACCELERATE, pos);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
set_state_anim(PART:"ephoto.swallow.folders",
|
||||||
|
"default", 0.0, ACCELERATE, pos);
|
||||||
|
}
|
||||||
|
set_state_anim(PART:"folders_shadow",
|
||||||
|
"default", 0.0, ACCELERATE, pos);
|
||||||
|
set_state_anim(PART:"ephoto,folders",
|
||||||
|
"default", 0.0, ACCELERATE, pos);
|
||||||
|
}
|
||||||
|
public hide_controls(val, Float:pos) {
|
||||||
|
set_int(controls_visible, 0);
|
||||||
|
set_state_anim(PART:"ephoto.swallow.controls",
|
||||||
|
"hidden", 0.0, DECELERATE, pos);
|
||||||
|
set_state_anim(PART:"controls_shadow",
|
||||||
|
"hidden", 0.0, DECELERATE, pos);
|
||||||
|
set_state_anim(PART:"ephoto,controls",
|
||||||
|
"hidden", 0.0, DECELERATE, pos);
|
||||||
|
}
|
||||||
|
public show_controls(val, Float:pos) {
|
||||||
|
set_int(controls_visible, 1);
|
||||||
|
if (get_int(custom)) {
|
||||||
|
set_state_anim(PART:"ephoto.swallow.controls",
|
||||||
|
"custom", 0.0, ACCELERATE, pos);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
set_state_anim(PART:"ephoto.swallow.controls",
|
||||||
|
"default", 0.0, ACCELERATE, pos);
|
||||||
|
}
|
||||||
|
set_state_anim(PART:"controls_shadow",
|
||||||
|
"default", 0.0, ACCELERATE, pos);
|
||||||
|
set_state_anim(PART:"ephoto,controls",
|
||||||
|
"default", 0.0, ACCELERATE, pos);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
parts {
|
parts {
|
||||||
rect { name: "ephoto,main,clip";
|
rect { name: "ephoto,main,clip";
|
||||||
|
@ -160,14 +210,14 @@ collections {
|
||||||
min: 220 0;
|
min: 220 0;
|
||||||
rel1.to: "ephoto.swallow.folders";
|
rel1.to: "ephoto.swallow.folders";
|
||||||
rel2.to: "ephoto.swallow.folders";
|
rel2.to: "ephoto.swallow.folders";
|
||||||
visible: 0;
|
color: 255 255 255 255;
|
||||||
}
|
|
||||||
description { state: "visible" 0.0;
|
|
||||||
inherit: default 0.0;
|
|
||||||
rel1.to: "ephoto.swallow.folders";
|
|
||||||
rel2.to: "ephoto.swallow.folders";
|
|
||||||
visible: 1;
|
visible: 1;
|
||||||
}
|
}
|
||||||
|
description { state: "hidden" 0.0;
|
||||||
|
inherit: default 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
visible: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
image { name: "folders_shadow";
|
image { name: "folders_shadow";
|
||||||
mouse_events: 0;
|
mouse_events: 0;
|
||||||
|
@ -176,18 +226,17 @@ collections {
|
||||||
fixed: 1 1;
|
fixed: 1 1;
|
||||||
image.normal: "images/shadow_circle_vert.png";
|
image.normal: "images/shadow_circle_vert.png";
|
||||||
min: 32 0;
|
min: 32 0;
|
||||||
color: 255 255 255 0;
|
|
||||||
visible: 0;
|
|
||||||
}
|
|
||||||
description { state: "visible" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
fixed: 1 1;
|
|
||||||
rel1.to: "ephoto,folders";
|
rel1.to: "ephoto,folders";
|
||||||
rel1.relative: 1.0 0.0;
|
rel1.relative: 1.0 0.0;
|
||||||
rel2.to: "ephoto,folders";
|
rel2.to: "ephoto,folders";
|
||||||
color: 255 255 255 128;
|
color: 255 255 255 128;
|
||||||
visible: 1;
|
visible: 1;
|
||||||
}
|
}
|
||||||
|
description { state: "hidden" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
visible: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
rect { name: "folders_base";
|
rect { name: "folders_base";
|
||||||
clip_to: "ephoto,folders";
|
clip_to: "ephoto,folders";
|
||||||
|
@ -204,21 +253,20 @@ collections {
|
||||||
clip_to: "ephoto,folders";
|
clip_to: "ephoto,folders";
|
||||||
description { state: "default" 0.0;
|
description { state: "default" 0.0;
|
||||||
fixed: 1 1;
|
fixed: 1 1;
|
||||||
rel1.to: "ephoto,controls";
|
min: 220 0;
|
||||||
rel1.relative: 0.0 0.0;
|
|
||||||
rel2.to: "ephoto,controls";
|
|
||||||
rel2.relative: 0.0 0.0;
|
|
||||||
visible: 0;
|
|
||||||
}
|
|
||||||
description { state: "visible" 0.0;
|
|
||||||
inherit: "default" 0.0;
|
|
||||||
rel1.to: "ephoto.swallow.main";
|
rel1.to: "ephoto.swallow.main";
|
||||||
rel1.relative: 0.0 0.0;
|
rel1.relative: 0.0 0.0;
|
||||||
rel2.to: "ephoto,controls";
|
rel2.to: "ephoto,controls";
|
||||||
rel2.relative: 0.0 0.0;
|
rel2.relative: 0.0 0.0;
|
||||||
align: 0.0 0.0;
|
align: 0.0 0.0;
|
||||||
|
color: 255 255 255 255;
|
||||||
visible: 1;
|
visible: 1;
|
||||||
}
|
}
|
||||||
|
description { state: "hidden" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
color: 255 255 255 0;
|
||||||
|
visible: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
rect { name: "ephoto,controls";
|
rect { name: "ephoto,controls";
|
||||||
scale: 1;
|
scale: 1;
|
||||||
|
@ -282,10 +330,6 @@ collections {
|
||||||
description { state: "hidden" 0.0;
|
description { state: "hidden" 0.0;
|
||||||
inherit: "default" 0.0;
|
inherit: "default" 0.0;
|
||||||
color: 255 255 255 0;
|
color: 255 255 255 0;
|
||||||
rel1.to: "ephoto.swallow.main";
|
|
||||||
rel1.relative: 0.0 1.0;
|
|
||||||
rel2.to: "ephoto.swallow.main";
|
|
||||||
rel2.relative: 1.0 2.0;
|
|
||||||
visible: 0;
|
visible: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -307,42 +351,34 @@ collections {
|
||||||
}
|
}
|
||||||
program { signal: "ephoto,folders,hide";
|
program { signal: "ephoto,folders,hide";
|
||||||
source: "ephoto";
|
source: "ephoto";
|
||||||
action: STATE_SET "default" 0.0;
|
script {
|
||||||
target: "ephoto.swallow.folders";
|
if (get_int(folders_visible)) {
|
||||||
target: "folders_shadow";
|
anim(1.0, "hide_folders", 1);
|
||||||
target: "ephoto,folders";
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
program { signal: "ephoto,folders,show";
|
program { signal: "ephoto,folders,show";
|
||||||
source: "ephoto";
|
source: "ephoto";
|
||||||
script {
|
script {
|
||||||
if (get_int(custom_folders)) {
|
if (!get_int(folders_visible)) {
|
||||||
set_state(PART:"ephoto.swallow.folders", "custom", 0.0);
|
anim(0.5, "show_folders", 1);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
set_state(PART:"ephoto.swallow.folders", "visible", 0.0);
|
|
||||||
}
|
|
||||||
set_state(PART:"folders_shadow", "visible", 0.0);
|
|
||||||
set_state(PART:"ephoto,folders", "visible", 0.0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
program { signal: "ephoto,controls,hide";
|
program { signal: "ephoto,controls,hide";
|
||||||
source: "ephoto";
|
source: "ephoto";
|
||||||
action: STATE_SET "hidden" 0.0;
|
script {
|
||||||
target: "ephoto.swallow.controls";
|
if (get_int(controls_visible)) {
|
||||||
target: "controls_shadow";
|
anim(1.0, "hide_controls", 1);
|
||||||
target: "ephoto,controls";
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
program { signal: "ephoto,controls,show";
|
program { signal: "ephoto,controls,show";
|
||||||
source: "ephoto";
|
source: "ephoto";
|
||||||
script {
|
script {
|
||||||
if (get_int(custom)) {
|
if (!get_int(controls_visible)) {
|
||||||
set_state(PART:"ephoto.swallow.controls", "custom", 0.0);
|
anim(0.5, "show_controls", 1);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
set_state(PART:"ephoto.swallow.controls", "default", 0.0);
|
|
||||||
}
|
|
||||||
set_state(PART:"controls_shadow", "default", 0.0);
|
|
||||||
set_state(PART:"ephoto,controls", "default", 0.0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -368,6 +404,9 @@ collections {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
group { name: "ephoto,slideshow,base";
|
group { name: "ephoto,slideshow,base";
|
||||||
|
data {
|
||||||
|
item: transitions "fade black_fade horizontal vertical square";
|
||||||
|
}
|
||||||
parts {
|
parts {
|
||||||
rect { "background";
|
rect { "background";
|
||||||
scale: 1;
|
scale: 1;
|
||||||
|
@ -378,20 +417,255 @@ collections {
|
||||||
}
|
}
|
||||||
rect { "slide_clip";
|
rect { "slide_clip";
|
||||||
scale: 1;
|
scale: 1;
|
||||||
description {
|
description { state: "default" 0.0;
|
||||||
state: "default" 0.0;
|
|
||||||
rel1.to: "background";
|
rel1.to: "background";
|
||||||
rel2.to: "background";
|
rel2.to: "background";
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
description { state: "black_fade_init" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
description { state: "black_fade" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
color: 0 0 0 255;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
swallow { "ephoto.swallow.slideshow";
|
rect { "slide_clip2";
|
||||||
|
scale: 1;
|
||||||
|
description { state: "default" 0.0;
|
||||||
|
rel1.to: "background";
|
||||||
|
rel2.to: "background";
|
||||||
|
color: 255 255 255 0;
|
||||||
|
}
|
||||||
|
description { state: "black_fade_init" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
color: 0 0 0 255;
|
||||||
|
}
|
||||||
|
description { state: "black_fade" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
swallow { "ephoto.swallow.slideshow.item";
|
||||||
|
scale: 1;
|
||||||
|
mouse_events: 1;
|
||||||
|
clip_to: "slide_clip";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.to: "slide_clip";
|
||||||
|
rel2.to: "slide_clip";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
swallow { "ephoto.swallow.slideshow.item2";
|
||||||
|
scale: 1;
|
||||||
|
mouse_events: 1;
|
||||||
|
clip_to: "slide_clip2";
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
rel1.to: "slide_clip2";
|
||||||
|
rel2.to: "slide_clip2";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
programs {
|
||||||
|
program {
|
||||||
|
signal: "ephoto,black_fade";
|
||||||
|
source: "ephoto";
|
||||||
|
action: STATE_SET "black_fade_init" 0.0;
|
||||||
|
target: "slide_clip";
|
||||||
|
target: "slide_clip2";
|
||||||
|
after: "black_fade_2";
|
||||||
|
}
|
||||||
|
program { name: "black_fade_2";
|
||||||
|
action: STATE_SET "black_fade" 0.0;
|
||||||
|
target: "slide_clip";
|
||||||
|
transition: SINUSOIDAL 0.75;
|
||||||
|
after: "black_fade_3";
|
||||||
|
}
|
||||||
|
program { name: "black_fade_3";
|
||||||
|
action: STATE_SET "black_fade" 0.0;
|
||||||
|
target: "slide_clip2";
|
||||||
|
transition: SINUSOIDAL 0.75;
|
||||||
|
after: "end";
|
||||||
|
}
|
||||||
|
program { name: "end";
|
||||||
|
action: SIGNAL_EMIT "ephoto,transition,end" "ephoto";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "ephoto,transition,done";
|
||||||
|
source: "ephoto";
|
||||||
|
action: STATE_SET "default" 0.0;
|
||||||
|
target: "slide_clip";
|
||||||
|
target: "slide_clip2";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
group { name: "ephoto,slideshow,item";
|
||||||
|
script {
|
||||||
|
public timeout;
|
||||||
|
public message(Msg_Type:type, id, ...) {
|
||||||
|
if ((type == MSG_FLOAT_SET) && (id == 1)) {
|
||||||
|
new Float:time;
|
||||||
|
time = getfarg(2);
|
||||||
|
set_float(timeout, time);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public left_to_right(val, Float:pos) {
|
||||||
|
set_state_anim(PART:"ephoto.swallow.slideshow.item",
|
||||||
|
"end_left_to_right", 0.0,
|
||||||
|
SINUSOIDAL, pos);
|
||||||
|
}
|
||||||
|
public right_to_left(val, Float:pos) {
|
||||||
|
set_state_anim(PART:"ephoto.swallow.slideshow.item",
|
||||||
|
"end_right_to_left", 0.0,
|
||||||
|
SINUSOIDAL, pos);
|
||||||
|
}
|
||||||
|
public top_to_bottom(val, Float:pos) {
|
||||||
|
set_state_anim(PART:"ephoto.swallow.slideshow.item",
|
||||||
|
"end_top_to_bottom", 0.0,
|
||||||
|
SINUSOIDAL, pos);
|
||||||
|
}
|
||||||
|
public bottom_to_top(val, Float:pos) {
|
||||||
|
set_state_anim(PART:"ephoto.swallow.slideshow.item",
|
||||||
|
"end_bottom_to_top", 0.0,
|
||||||
|
SINUSOIDAL, pos);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
parts {
|
||||||
|
rect { "background";
|
||||||
|
scale: 1;
|
||||||
|
description {
|
||||||
|
state: "default" 0.0;
|
||||||
|
color: 0 0 0 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
rect { "slide_clip";
|
||||||
|
scale: 1;
|
||||||
|
description { state: "default" 0.0;
|
||||||
|
rel1.to: "background";
|
||||||
|
rel2.to: "background";
|
||||||
|
color: 255 255 255 255;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
swallow { "ephoto.swallow.slideshow.item";
|
||||||
scale: 1;
|
scale: 1;
|
||||||
clip_to: "slide_clip";
|
clip_to: "slide_clip";
|
||||||
mouse_events: 1;
|
mouse_events: 1;
|
||||||
description {
|
description {
|
||||||
state: "default" 0.0;
|
state: "default" 0.0;
|
||||||
|
rel1.to: "background";
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel2.to: "background";
|
||||||
|
rel2.relative: 1.0 1.0;
|
||||||
}
|
}
|
||||||
}
|
description {
|
||||||
|
state: "default_left_to_right" 0.0;
|
||||||
|
rel1.to: "background";
|
||||||
|
rel1.relative: -0.2 0.0;
|
||||||
|
rel2.to: "background";
|
||||||
|
rel2.relative: 1.0 1.0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "end_left_to_right" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel2.relative: 1.2 1.0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "default_right_to_left" 0.0;
|
||||||
|
rel1.to: "background";
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel2.to: "background";
|
||||||
|
rel2.relative: 1.2 1.0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "end_right_to_left" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
rel1.relative: -0.2 0.0;
|
||||||
|
rel2.relative: 1.0 1.0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "default_top_to_bottom" 0.0;
|
||||||
|
rel1.to: "background";
|
||||||
|
rel1.relative: 0.0 -0.2;
|
||||||
|
rel2.to: "background";
|
||||||
|
rel2.relative: 1.0 1.0;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "end_top_to_bottom" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel2.relative: 1.0 1.2;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "default_bottom_to_top" 0.0;
|
||||||
|
rel1.to: "background";
|
||||||
|
rel1.relative: 0.0 0.0;
|
||||||
|
rel2.to: "background";
|
||||||
|
rel2.relative: 1.0 1.2;
|
||||||
|
}
|
||||||
|
description {
|
||||||
|
state: "end_bottom_to_top" 0.0;
|
||||||
|
inherit: "default" 0.0;
|
||||||
|
rel1.relative: 0.0 -0.2;
|
||||||
|
rel2.relative: 1.0 1.0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
programs {
|
||||||
|
program {
|
||||||
|
signal: "ephoto,slideshow,move,left,to,right";
|
||||||
|
source: "ephoto";
|
||||||
|
script {
|
||||||
|
anim(get_float(timeout), "left_to_right", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "ephoto,slideshow,move,right,to,left";
|
||||||
|
source: "ephoto";
|
||||||
|
script {
|
||||||
|
anim(get_float(timeout), "right_to_left", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "ephoto,slideshow,move,top,to,bottom";
|
||||||
|
source: "ephoto";
|
||||||
|
script {
|
||||||
|
anim(get_float(timeout), "top_to_bottom", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "ephoto,slideshow,move,bottom,to,top";
|
||||||
|
source: "ephoto";
|
||||||
|
script {
|
||||||
|
anim(get_float(timeout), "bottom_to_top", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "ephoto,slideshow,default,left,to,right";
|
||||||
|
source: "ephoto";
|
||||||
|
action: STATE_SET "default_left_to_right" 0.0;
|
||||||
|
target: "ephoto.swallow.slideshow.item";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "ephoto,slideshow,default,right,to,left";
|
||||||
|
source: "ephoto";
|
||||||
|
action: STATE_SET "default_right_to_left" 0.0;
|
||||||
|
target: "ephoto.swallow.slideshow.item";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "ephoto,slideshow,default,top,to,bottom";
|
||||||
|
source: "ephoto";
|
||||||
|
action: STATE_SET "default_top_to_bottom" 0.0;
|
||||||
|
target: "ephoto.swallow.slideshow.item";
|
||||||
|
}
|
||||||
|
program {
|
||||||
|
signal: "ephoto,slideshow,default,bottom,to,top";
|
||||||
|
source: "ephoto";
|
||||||
|
action: STATE_SET "default_bottom_to_top" 0.0;
|
||||||
|
target: "ephoto.swallow.slideshow.item";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
group { name: "ephoto,image,cropper,base";
|
group { name: "ephoto,image,cropper,base";
|
||||||
|
|
|
@ -92,6 +92,7 @@ Evas_Object *ephoto_slideshow_add(Ephoto *ephoto, Evas_Object *parent);
|
||||||
void ephoto_slideshow_entries_set(Evas_Object *obj, Eina_List *entries);
|
void ephoto_slideshow_entries_set(Evas_Object *obj, Eina_List *entries);
|
||||||
void ephoto_slideshow_entry_set(Evas_Object *obj, Ephoto_Entry *entry);
|
void ephoto_slideshow_entry_set(Evas_Object *obj, Ephoto_Entry *entry);
|
||||||
void ephoto_slideshow_show_controls(Ephoto *ephoto);
|
void ephoto_slideshow_show_controls(Ephoto *ephoto);
|
||||||
|
void ephoto_slideshow_adjust_offsets(Ephoto *ephoto);
|
||||||
/* smart callbacks called: "back" - the user wants to go back to the previous
|
/* smart callbacks called: "back" - the user wants to go back to the previous
|
||||||
* screen. */
|
* screen. */
|
||||||
|
|
||||||
|
@ -219,12 +220,14 @@ struct _Ephoto_Config
|
||||||
const char *open;
|
const char *open;
|
||||||
Eina_Bool prompts;
|
Eina_Bool prompts;
|
||||||
Eina_Bool drop;
|
Eina_Bool drop;
|
||||||
|
Eina_Bool movess;
|
||||||
Evas_Object *slide_time;
|
Evas_Object *slide_time;
|
||||||
Evas_Object *slide_trans;
|
Evas_Object *slide_trans;
|
||||||
Evas_Object *open_dir;
|
Evas_Object *open_dir;
|
||||||
Evas_Object *open_dir_custom;
|
Evas_Object *open_dir_custom;
|
||||||
Evas_Object *show_prompts;
|
Evas_Object *show_prompts;
|
||||||
Evas_Object *move_drop;
|
Evas_Object *move_drop;
|
||||||
|
Evas_Object *slide_move;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Ephoto
|
struct _Ephoto
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#include "ephoto.h"
|
#include "ephoto.h"
|
||||||
|
|
||||||
#define CONFIG_VERSION 16
|
#define CONFIG_VERSION 17
|
||||||
|
|
||||||
static int _ephoto_config_load(Ephoto *ephoto);
|
static int _ephoto_config_load(Ephoto *ephoto);
|
||||||
static Eina_Bool _ephoto_on_config_save(void *data);
|
static Eina_Bool _ephoto_on_config_save(void *data);
|
||||||
|
@ -39,6 +39,7 @@ _config_save_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
eina_stringshare_replace(&ephoto->config->open, path);
|
eina_stringshare_replace(&ephoto->config->open, path);
|
||||||
ephoto->config->prompts = elm_check_state_get(ephoto->config->show_prompts);
|
ephoto->config->prompts = elm_check_state_get(ephoto->config->show_prompts);
|
||||||
ephoto->config->drop = elm_check_state_get(ephoto->config->move_drop);
|
ephoto->config->drop = elm_check_state_get(ephoto->config->move_drop);
|
||||||
|
ephoto->config->movess = elm_check_state_get(ephoto->config->slide_move);
|
||||||
if (elm_spinner_value_get(ephoto->config->slide_time) > 0)
|
if (elm_spinner_value_get(ephoto->config->slide_time) > 0)
|
||||||
ephoto->config->slideshow_timeout =
|
ephoto->config->slideshow_timeout =
|
||||||
elm_spinner_value_get(ephoto->config->slide_time);
|
elm_spinner_value_get(ephoto->config->slide_time);
|
||||||
|
@ -148,10 +149,36 @@ _spinner_changed(void *data EINA_UNUSED, Evas_Object *obj,
|
||||||
elm_spinner_label_format_set(obj, buf);
|
elm_spinner_label_format_set(obj, buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Eina_List *
|
||||||
|
_ephoto_transitions_list_get(const char *str)
|
||||||
|
{
|
||||||
|
Eina_List *list = NULL;
|
||||||
|
const char *s, *b;
|
||||||
|
if (!str) return NULL;
|
||||||
|
for (b = s = str; 1; s++)
|
||||||
|
{
|
||||||
|
if ((*s == ' ') || (!*s))
|
||||||
|
{
|
||||||
|
char *t = malloc(s - b + 1);
|
||||||
|
if (t)
|
||||||
|
{
|
||||||
|
strncpy(t, b, s - b);
|
||||||
|
t[s - b] = 0;
|
||||||
|
list = eina_list_append(list, eina_stringshare_add(t));
|
||||||
|
free(t);
|
||||||
|
}
|
||||||
|
b = s + 1;
|
||||||
|
}
|
||||||
|
if (!*s) break;
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_config_slideshow(Ephoto *ephoto, Evas_Object *parent)
|
_config_slideshow(Ephoto *ephoto, Evas_Object *parent)
|
||||||
{
|
{
|
||||||
Evas_Object *frame, *table, *label, *spinner, *hoversel;
|
Eina_List *transitions;
|
||||||
|
Evas_Object *frame, *table, *check, *label, *spinner, *hoversel;
|
||||||
const Eina_List *l;
|
const Eina_List *l;
|
||||||
const char *transition;
|
const char *transition;
|
||||||
char buf[PATH_MAX];
|
char buf[PATH_MAX];
|
||||||
|
@ -198,9 +225,12 @@ _config_slideshow(Ephoto *ephoto, Evas_Object *parent)
|
||||||
elm_table_pack(table, label, 0, 1, 1, 1);
|
elm_table_pack(table, label, 0, 1, 1, 1);
|
||||||
evas_object_show(label);
|
evas_object_show(label);
|
||||||
|
|
||||||
|
transitions = _ephoto_transitions_list_get(edje_object_data_get(elm_layout_edje_get
|
||||||
|
(ephoto->slideshow), "transitions"));
|
||||||
|
|
||||||
hoversel = elm_hoversel_add(table);
|
hoversel = elm_hoversel_add(table);
|
||||||
elm_hoversel_hover_parent_set(hoversel, ephoto->win);
|
elm_hoversel_hover_parent_set(hoversel, ephoto->win);
|
||||||
EINA_LIST_FOREACH(elm_slideshow_transitions_get(ephoto->slideshow), l,
|
EINA_LIST_FOREACH(transitions, l,
|
||||||
transition) elm_hoversel_item_add(hoversel, transition, NULL, 0,
|
transition) elm_hoversel_item_add(hoversel, transition, NULL, 0,
|
||||||
_hv_select, transition);
|
_hv_select, transition);
|
||||||
elm_hoversel_item_add(hoversel, "None", NULL, 0, _hv_select, NULL);
|
elm_hoversel_item_add(hoversel, "None", NULL, 0, _hv_select, NULL);
|
||||||
|
@ -211,6 +241,14 @@ _config_slideshow(Ephoto *ephoto, Evas_Object *parent)
|
||||||
elm_table_pack(table, hoversel, 1, 1, 1, 1);
|
elm_table_pack(table, hoversel, 1, 1, 1, 1);
|
||||||
evas_object_show(hoversel);
|
evas_object_show(hoversel);
|
||||||
ephoto->config->slide_trans = hoversel;
|
ephoto->config->slide_trans = hoversel;
|
||||||
|
|
||||||
|
check = elm_check_add(table);
|
||||||
|
elm_object_text_set(check, _("Moving Slideshow"));
|
||||||
|
evas_object_size_hint_align_set(check, 0.0, EVAS_HINT_FILL);
|
||||||
|
elm_check_state_set(check, ephoto->config->movess);
|
||||||
|
elm_table_pack(table, check, 0, 2, 2, 1);
|
||||||
|
evas_object_show(check);
|
||||||
|
ephoto->config->slide_move = check;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
|
@ -700,6 +738,7 @@ ephoto_config_init(Ephoto *ephoto)
|
||||||
C_VAL(D, T, open, EET_T_STRING);
|
C_VAL(D, T, open, EET_T_STRING);
|
||||||
C_VAL(D, T, prompts, EET_T_INT);
|
C_VAL(D, T, prompts, EET_T_INT);
|
||||||
C_VAL(D, T, drop, EET_T_INT);
|
C_VAL(D, T, drop, EET_T_INT);
|
||||||
|
C_VAL(D, T, movess, EET_T_INT);
|
||||||
switch (_ephoto_config_load(ephoto))
|
switch (_ephoto_config_load(ephoto))
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -714,6 +753,7 @@ ephoto_config_init(Ephoto *ephoto)
|
||||||
ephoto->config->open = eina_stringshare_add(getenv("HOME"));
|
ephoto->config->open = eina_stringshare_add(getenv("HOME"));
|
||||||
ephoto->config->prompts = 1;
|
ephoto->config->prompts = 1;
|
||||||
ephoto->config->drop = 0;
|
ephoto->config->drop = 0;
|
||||||
|
ephoto->config->movess = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -8,7 +8,6 @@ _complete_ok(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
Ephoto *ephoto = evas_object_data_get(popup, "ephoto");
|
Ephoto *ephoto = evas_object_data_get(popup, "ephoto");
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,7 +16,6 @@ _complete(Ephoto *ephoto, const char *title, const char *text)
|
||||||
{
|
{
|
||||||
Evas_Object *popup, *box, *label, *ic, *button;
|
Evas_Object *popup, *box, *label, *ic, *button;
|
||||||
|
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = elm_popup_add(ephoto->win);
|
popup = elm_popup_add(ephoto->win);
|
||||||
elm_object_part_text_set(popup, "title,text", title);
|
elm_object_part_text_set(popup, "title,text", title);
|
||||||
|
@ -60,7 +58,6 @@ _prompt_cancel(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
Ephoto *ephoto = evas_object_data_get(popup, "ephoto");
|
Ephoto *ephoto = evas_object_data_get(popup, "ephoto");
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -69,8 +66,6 @@ _prompt(Ephoto *ephoto, const char *title, const char *text)
|
||||||
{
|
{
|
||||||
Evas_Object *popup, *box, *label;
|
Evas_Object *popup, *box, *label;
|
||||||
|
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = elm_popup_add(ephoto->win);
|
popup = elm_popup_add(ephoto->win);
|
||||||
elm_object_part_text_set(popup, "title,text", title);
|
elm_object_part_text_set(popup, "title,text", title);
|
||||||
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
||||||
|
@ -115,7 +110,6 @@ _save_image_as_overwrite(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
ephoto_single_browser_entry_set(ephoto->single_browser, entry);
|
ephoto_single_browser_entry_set(ephoto->single_browser, entry);
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -131,7 +125,6 @@ _save_image_as_overwrite(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
}
|
}
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -188,9 +181,6 @@ _upload_image_complete_cb(void *data, int ev_type EINA_UNUSED, void *event)
|
||||||
|
|
||||||
evas_object_del(ppopup);
|
evas_object_del(ppopup);
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
|
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = elm_popup_add(ephoto->win);
|
popup = elm_popup_add(ephoto->win);
|
||||||
elm_object_part_text_set(popup, "title,text", _("Image Uploaded"));
|
elm_object_part_text_set(popup, "title,text", _("Image Uploaded"));
|
||||||
|
@ -353,7 +343,6 @@ _new_dir_confirm(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
_("There was an error creating this directory."));
|
_("There was an error creating this directory."));
|
||||||
}
|
}
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -365,7 +354,6 @@ _new_dir_cancel(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
Ephoto *ephoto = evas_object_data_get(popup, "ephoto");
|
Ephoto *ephoto = evas_object_data_get(popup, "ephoto");
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -374,8 +362,6 @@ _new_dir(Ephoto *ephoto, const char *file)
|
||||||
{
|
{
|
||||||
Evas_Object *popup, *box, *entry, *button, *ic;
|
Evas_Object *popup, *box, *entry, *button, *ic;
|
||||||
|
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = elm_popup_add(ephoto->win);
|
popup = elm_popup_add(ephoto->win);
|
||||||
elm_object_part_text_set(popup, "title,text", _("New Directory"));
|
elm_object_part_text_set(popup, "title,text", _("New Directory"));
|
||||||
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
||||||
|
@ -444,7 +430,6 @@ _rename_confirm(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
if (!escaped)
|
if (!escaped)
|
||||||
{
|
{
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -471,7 +456,6 @@ _rename_confirm(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
new_file_name);
|
new_file_name);
|
||||||
}
|
}
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
free(escaped);
|
free(escaped);
|
||||||
}
|
}
|
||||||
|
@ -484,7 +468,6 @@ _rename_cancel(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
Ephoto *ephoto = evas_object_data_get(popup, "ephoto");
|
Ephoto *ephoto = evas_object_data_get(popup, "ephoto");
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -494,7 +477,6 @@ _rename_file(Ephoto *ephoto, const char *file)
|
||||||
Evas_Object *popup, *box, *entry, *button, *ic;
|
Evas_Object *popup, *box, *entry, *button, *ic;
|
||||||
char buf[PATH_MAX], *bn, *string;
|
char buf[PATH_MAX], *bn, *string;
|
||||||
|
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = elm_popup_add(ephoto->win);
|
popup = elm_popup_add(ephoto->win);
|
||||||
if (ecore_file_is_dir(file))
|
if (ecore_file_is_dir(file))
|
||||||
|
@ -562,8 +544,6 @@ _processing(Ephoto *ephoto, const char *title, const char *text)
|
||||||
{
|
{
|
||||||
Evas_Object *popup, *box, *label, *pb;
|
Evas_Object *popup, *box, *label, *pb;
|
||||||
|
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = elm_popup_add(ephoto->win);
|
popup = elm_popup_add(ephoto->win);
|
||||||
elm_object_part_text_set(popup, "title,text", title);
|
elm_object_part_text_set(popup, "title,text", title);
|
||||||
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
||||||
|
@ -653,7 +633,6 @@ _move_thread_cb(void *data, Ecore_Thread *et EINA_UNUSED)
|
||||||
ephoto->file_pos = NULL;
|
ephoto->file_pos = NULL;
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -730,7 +709,6 @@ _copy_thread_cb(void *data, Ecore_Thread *et EINA_UNUSED)
|
||||||
ephoto->file_pos = NULL;
|
ephoto->file_pos = NULL;
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -811,7 +789,6 @@ _delete_thread_cb(void *data, Ecore_Thread *et EINA_UNUSED)
|
||||||
ephoto->file_errors = 0;
|
ephoto->file_errors = 0;
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -888,7 +865,6 @@ _delete_dir_thread_cb(void *data, Ecore_Thread *et EINA_UNUSED)
|
||||||
ephoto->file_errors = 0;
|
ephoto->file_errors = 0;
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -948,7 +924,6 @@ _empty_trash_thread_cb(void *data, Ecore_Thread *th EINA_UNUSED)
|
||||||
ephoto->file_errors = 0;
|
ephoto->file_errors = 0;
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1031,7 +1006,6 @@ _prompt_save_image_apply(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
ephoto_single_browser_entry_set(ephoto->single_browser, entry);
|
ephoto_single_browser_entry_set(ephoto->single_browser, entry);
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1044,7 +1018,6 @@ _prompt_save_image_apply(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
ephoto_single_browser_entry_set(ephoto->single_browser, entry);
|
ephoto_single_browser_entry_set(ephoto->single_browser, entry);
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1088,7 +1061,6 @@ _prompt_save_image_as_apply(void *data, Evas_Object *obj EINA_UNUSED, void *even
|
||||||
{
|
{
|
||||||
Evas_Object *popup, *ic, *button;
|
Evas_Object *popup, *ic, *button;
|
||||||
|
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = _prompt(ephoto, _("Overwrite Image"),
|
popup = _prompt(ephoto, _("Overwrite Image"),
|
||||||
_("Are you sure you want to overwrite this image?"));
|
_("Are you sure you want to overwrite this image?"));
|
||||||
|
@ -1143,7 +1115,6 @@ _prompt_save_image_as_apply(void *data, Evas_Object *obj EINA_UNUSED, void *even
|
||||||
}
|
}
|
||||||
evas_object_del(opopup);
|
evas_object_del(opopup);
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1155,7 +1126,6 @@ _prompt_empty_apply(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
Eina_List *files = evas_object_data_get(popup, "files");
|
Eina_List *files = evas_object_data_get(popup, "files");
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
_empty_trash(ephoto, files);
|
_empty_trash(ephoto, files);
|
||||||
}
|
}
|
||||||
|
@ -1170,7 +1140,6 @@ _prompt_delete_apply(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
Eina_File_Type *type = evas_object_data_get(popup, "type");
|
Eina_File_Type *type = evas_object_data_get(popup, "type");
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
if (*type == EINA_FILE_DIR)
|
if (*type == EINA_FILE_DIR)
|
||||||
_delete_dir(ephoto, files);
|
_delete_dir(ephoto, files);
|
||||||
|
@ -1188,7 +1157,6 @@ _prompt_move_apply(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
const char *path = evas_object_data_get(popup, "path");
|
const char *path = evas_object_data_get(popup, "path");
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
_move_files(ephoto, files, path);
|
_move_files(ephoto, files, path);
|
||||||
}
|
}
|
||||||
|
@ -1203,7 +1171,6 @@ _prompt_copy_apply(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
const char *path = evas_object_data_get(popup, "path");
|
const char *path = evas_object_data_get(popup, "path");
|
||||||
|
|
||||||
evas_object_del(popup);
|
evas_object_del(popup);
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
elm_object_focus_set(ephoto->pager, EINA_TRUE);
|
||||||
_copy_files(ephoto, files, path);
|
_copy_files(ephoto, files, path);
|
||||||
}
|
}
|
||||||
|
@ -1219,7 +1186,6 @@ ephoto_file_save_image(Ephoto *ephoto, Ephoto_Entry *entry, Evas_Object *image)
|
||||||
_("Error: Image could not be saved here!"));
|
_("Error: Image could not be saved here!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = _prompt(ephoto, _("Save Image"),
|
popup = _prompt(ephoto, _("Save Image"),
|
||||||
_("Are you sure you want to overwrite this image?"));
|
_("Are you sure you want to overwrite this image?"));
|
||||||
|
@ -1260,8 +1226,6 @@ ephoto_file_save_image_as(Ephoto *ephoto, Ephoto_Entry *entry, Evas_Object *imag
|
||||||
|
|
||||||
evas_object_geometry_get(ephoto->win, 0, 0, 0, &h);
|
evas_object_geometry_get(ephoto->win, 0, 0, 0, &h);
|
||||||
|
|
||||||
evas_object_freeze_events_set(ephoto->pager, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = elm_popup_add(ephoto->win);
|
popup = elm_popup_add(ephoto->win);
|
||||||
elm_popup_scrollable_set(popup, EINA_TRUE);
|
elm_popup_scrollable_set(popup, EINA_TRUE);
|
||||||
elm_object_part_text_set(popup, "title,text", _("Save Image As"));
|
elm_object_part_text_set(popup, "title,text", _("Save Image As"));
|
||||||
|
|
|
@ -130,8 +130,6 @@ _processing(Evas_Object *main)
|
||||||
{
|
{
|
||||||
Evas_Object *popup, *box, *label, *pb;
|
Evas_Object *popup, *box, *label, *pb;
|
||||||
|
|
||||||
evas_object_freeze_events_set(main, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = elm_popup_add(main);
|
popup = elm_popup_add(main);
|
||||||
elm_object_part_text_set(popup, "title,text", _("Applying Filter"));
|
elm_object_part_text_set(popup, "title,text", _("Applying Filter"));
|
||||||
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
||||||
|
@ -175,7 +173,6 @@ _thread_finished_cb(void *data, Ecore_Thread *th EINA_UNUSED)
|
||||||
if (ef->popup)
|
if (ef->popup)
|
||||||
{
|
{
|
||||||
evas_object_del(ef->popup);
|
evas_object_del(ef->popup);
|
||||||
evas_object_freeze_events_set(ef->main, EINA_FALSE);
|
|
||||||
}
|
}
|
||||||
if (ef->im_data)
|
if (ef->im_data)
|
||||||
free(ef->im_data);
|
free(ef->im_data);
|
||||||
|
@ -226,7 +223,6 @@ _thread_finished_cb(void *data, Ecore_Thread *th EINA_UNUSED)
|
||||||
if (ef->popup)
|
if (ef->popup)
|
||||||
{
|
{
|
||||||
evas_object_del(ef->popup);
|
evas_object_del(ef->popup);
|
||||||
evas_object_freeze_events_set(ef->main, EINA_FALSE);
|
|
||||||
}
|
}
|
||||||
if (ef->im_data)
|
if (ef->im_data)
|
||||||
free(ef->im_data);
|
free(ef->im_data);
|
||||||
|
|
|
@ -100,11 +100,13 @@ _ephoto_slideshow_show(Ephoto *ephoto, Ephoto_Entry *entry)
|
||||||
"ephoto,controls,hide", "ephoto");
|
"ephoto,controls,hide", "ephoto");
|
||||||
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
||||||
"ephoto,folders,hide", "ephoto");
|
"ephoto,folders,hide", "ephoto");
|
||||||
|
evas_object_hide(ephoto->dir_browser);
|
||||||
ephoto->folders_toggle = EINA_FALSE;
|
ephoto->folders_toggle = EINA_FALSE;
|
||||||
ephoto->blocking = EINA_FALSE;
|
ephoto->blocking = EINA_FALSE;
|
||||||
ephoto->menu_blocking = EINA_FALSE;
|
ephoto->menu_blocking = EINA_FALSE;
|
||||||
ephoto->hover_blocking = EINA_FALSE;
|
ephoto->hover_blocking = EINA_FALSE;
|
||||||
ephoto->editor_blocking = EINA_FALSE;
|
ephoto->editor_blocking = EINA_FALSE;
|
||||||
|
ephoto_slideshow_adjust_offsets(ephoto);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -242,6 +244,7 @@ _mouse_up_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
}
|
}
|
||||||
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
||||||
"ephoto,folders,hide", "ephoto");
|
"ephoto,folders,hide", "ephoto");
|
||||||
|
evas_object_hide(ephoto->dir_browser);
|
||||||
ephoto->folders_toggle = EINA_FALSE;
|
ephoto->folders_toggle = EINA_FALSE;
|
||||||
elm_object_tooltip_text_set(but, _("Show Folders"));
|
elm_object_tooltip_text_set(but, _("Show Folders"));
|
||||||
}
|
}
|
||||||
|
@ -274,7 +277,10 @@ _timer_cb(void *data)
|
||||||
|
|
||||||
edje_object_signal_emit(edje, "ephoto,controls,hide", "ephoto");
|
edje_object_signal_emit(edje, "ephoto,controls,hide", "ephoto");
|
||||||
if (ephoto->folders_toggle)
|
if (ephoto->folders_toggle)
|
||||||
edje_object_signal_emit(edje, "ephoto,folders,hide", "ephoto");
|
{
|
||||||
|
edje_object_signal_emit(edje, "ephoto,folders,hide", "ephoto");
|
||||||
|
evas_object_hide(ephoto->dir_browser);
|
||||||
|
}
|
||||||
ecore_timer_del(ephoto->overlay_timer);
|
ecore_timer_del(ephoto->overlay_timer);
|
||||||
ephoto->overlay_timer = NULL;
|
ephoto->overlay_timer = NULL;
|
||||||
|
|
||||||
|
@ -298,7 +304,10 @@ _mouse_move_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
ephoto->overlay_timer = NULL;
|
ephoto->overlay_timer = NULL;
|
||||||
edje_object_signal_emit(edje, "ephoto,controls,show", "ephoto");
|
edje_object_signal_emit(edje, "ephoto,controls,show", "ephoto");
|
||||||
if (ephoto->folders_toggle)
|
if (ephoto->folders_toggle)
|
||||||
edje_object_signal_emit(edje, "ephoto,folders,show", "ephoto");
|
{
|
||||||
|
edje_object_signal_emit(edje, "ephoto,folders,show", "ephoto");
|
||||||
|
evas_object_show(ephoto->dir_browser);
|
||||||
|
}
|
||||||
ephoto->overlay_timer = ecore_timer_add(3.0, _timer_cb, ephoto);
|
ephoto->overlay_timer = ecore_timer_add(3.0, _timer_cb, ephoto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -335,6 +344,7 @@ _folder_icon_clicked(void *data, Evas_Object *obj,
|
||||||
{
|
{
|
||||||
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
||||||
"ephoto,folders,show", "ephoto");
|
"ephoto,folders,show", "ephoto");
|
||||||
|
evas_object_show(ephoto->dir_browser);
|
||||||
ephoto->folders_toggle = EINA_TRUE;
|
ephoto->folders_toggle = EINA_TRUE;
|
||||||
if (elm_object_text_get(obj))
|
if (elm_object_text_get(obj))
|
||||||
elm_object_text_set(obj, _("Hide Folders"));
|
elm_object_text_set(obj, _("Hide Folders"));
|
||||||
|
@ -344,6 +354,7 @@ _folder_icon_clicked(void *data, Evas_Object *obj,
|
||||||
{
|
{
|
||||||
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
||||||
"ephoto,folders,hide", "ephoto");
|
"ephoto,folders,hide", "ephoto");
|
||||||
|
evas_object_hide(ephoto->dir_browser);
|
||||||
ephoto->folders_toggle = EINA_FALSE;
|
ephoto->folders_toggle = EINA_FALSE;
|
||||||
if (elm_object_text_get(obj))
|
if (elm_object_text_get(obj))
|
||||||
elm_object_text_set(obj, _("Show Folders"));
|
elm_object_text_set(obj, _("Show Folders"));
|
||||||
|
@ -384,6 +395,7 @@ ephoto_show_folders(Ephoto *ephoto, Eina_Bool toggle)
|
||||||
_mouse_move_cb(ephoto, NULL, NULL, NULL);
|
_mouse_move_cb(ephoto, NULL, NULL, NULL);
|
||||||
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
||||||
"ephoto,folders,show", "ephoto");
|
"ephoto,folders,show", "ephoto");
|
||||||
|
evas_object_show(ephoto->dir_browser);
|
||||||
ephoto->folders_toggle = EINA_TRUE;
|
ephoto->folders_toggle = EINA_TRUE;
|
||||||
elm_object_tooltip_text_set(but, _("Hide Folders"));
|
elm_object_tooltip_text_set(but, _("Hide Folders"));
|
||||||
}
|
}
|
||||||
|
@ -391,6 +403,7 @@ ephoto_show_folders(Ephoto *ephoto, Eina_Bool toggle)
|
||||||
{
|
{
|
||||||
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
edje_object_signal_emit(elm_layout_edje_get(ephoto->layout),
|
||||||
"ephoto,folders,hide", "ephoto");
|
"ephoto,folders,hide", "ephoto");
|
||||||
|
evas_object_hide(ephoto->dir_browser);
|
||||||
ephoto->folders_toggle = EINA_FALSE;
|
ephoto->folders_toggle = EINA_FALSE;
|
||||||
elm_object_tooltip_text_set(but, _("Show Folders"));
|
elm_object_tooltip_text_set(but, _("Show Folders"));
|
||||||
}
|
}
|
||||||
|
@ -459,7 +472,6 @@ ephoto_window_add(const char *path)
|
||||||
evas_object_show(ephoto->layout);
|
evas_object_show(ephoto->layout);
|
||||||
|
|
||||||
ephoto->pager = elm_naviframe_add(ephoto->win);
|
ephoto->pager = elm_naviframe_add(ephoto->win);
|
||||||
elm_object_focus_allow_set(ephoto->pager, EINA_FALSE);
|
|
||||||
elm_naviframe_prev_btn_auto_pushed_set(ephoto->pager, EINA_FALSE);
|
elm_naviframe_prev_btn_auto_pushed_set(ephoto->pager, EINA_FALSE);
|
||||||
evas_object_size_hint_weight_set(ephoto->pager, EVAS_HINT_EXPAND,
|
evas_object_size_hint_weight_set(ephoto->pager, EVAS_HINT_EXPAND,
|
||||||
EVAS_HINT_EXPAND);
|
EVAS_HINT_EXPAND);
|
||||||
|
@ -522,7 +534,6 @@ ephoto_window_add(const char *path)
|
||||||
evas_object_show(ephoto->dir_browser);
|
evas_object_show(ephoto->dir_browser);
|
||||||
|
|
||||||
ephoto->statusbar = elm_box_add(ephoto->layout);
|
ephoto->statusbar = elm_box_add(ephoto->layout);
|
||||||
elm_object_tree_focus_allow_set(ephoto->statusbar, EINA_FALSE);
|
|
||||||
elm_box_horizontal_set(ephoto->statusbar, EINA_TRUE);
|
elm_box_horizontal_set(ephoto->statusbar, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(ephoto->statusbar,
|
evas_object_size_hint_weight_set(ephoto->statusbar,
|
||||||
EVAS_HINT_EXPAND, 0.0);
|
EVAS_HINT_EXPAND, 0.0);
|
||||||
|
|
|
@ -50,8 +50,6 @@ static void _ephoto_update_bottom_bar(Ephoto_Single_Browser *sb);
|
||||||
static void _ephoto_main_edit_menu(Ephoto_Single_Browser *sb);
|
static void _ephoto_main_edit_menu(Ephoto_Single_Browser *sb);
|
||||||
static void _ephoto_main_key_down(void *data, Evas *e EINA_UNUSED,
|
static void _ephoto_main_key_down(void *data, Evas *e EINA_UNUSED,
|
||||||
Evas_Object *obj EINA_UNUSED,void *event_info EINA_UNUSED);
|
Evas_Object *obj EINA_UNUSED,void *event_info EINA_UNUSED);
|
||||||
static void _ephoto_main_focused(void *data, Evas *e EINA_UNUSED,
|
|
||||||
Evas_Object *obj EINA_UNUSED,void *event_info EINA_UNUSED);
|
|
||||||
static void _ephoto_show_settings(void *data, Evas_Object *obj EINA_UNUSED,
|
static void _ephoto_show_settings(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
void *event_info EINA_UNUSED);
|
void *event_info EINA_UNUSED);
|
||||||
static void _ephoto_main_back(void *data, Evas_Object *obj EINA_UNUSED,
|
static void _ephoto_main_back(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
|
@ -821,7 +819,6 @@ _reset_yes(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
if (sb->event)
|
if (sb->event)
|
||||||
{
|
{
|
||||||
elm_object_focus_set(sb->event, EINA_TRUE);
|
elm_object_focus_set(sb->event, EINA_TRUE);
|
||||||
evas_object_freeze_events_set(sb->event, EINA_FALSE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -836,7 +833,6 @@ _reset_no(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
if (sb->event)
|
if (sb->event)
|
||||||
{
|
{
|
||||||
elm_object_focus_set(sb->event, EINA_TRUE);
|
elm_object_focus_set(sb->event, EINA_TRUE);
|
||||||
evas_object_freeze_events_set(sb->event, EINA_FALSE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -847,9 +843,6 @@ _reset_image(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
Ephoto_Single_Browser *sb = data;
|
Ephoto_Single_Browser *sb = data;
|
||||||
Evas_Object *popup, *box, *label, *ic, *button;
|
Evas_Object *popup, *box, *label, *ic, *button;
|
||||||
|
|
||||||
if (sb->event)
|
|
||||||
evas_object_freeze_events_set(sb->event, EINA_TRUE);
|
|
||||||
|
|
||||||
popup = elm_popup_add(sb->ephoto->win);
|
popup = elm_popup_add(sb->ephoto->win);
|
||||||
elm_object_part_text_set(popup, "title,text", _("Reset Image"));
|
elm_object_part_text_set(popup, "title,text", _("Reset Image"));
|
||||||
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
|
||||||
|
@ -1714,22 +1707,6 @@ _ephoto_main_back(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EIN
|
||||||
evas_object_smart_callback_call(sb->main, "back", sb->entry);
|
evas_object_smart_callback_call(sb->main, "back", sb->entry);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
_ephoto_main_focused(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|
||||||
void *event_data EINA_UNUSED)
|
|
||||||
{
|
|
||||||
Ephoto_Single_Browser *sb = data;
|
|
||||||
|
|
||||||
if (sb->ephoto->state == EPHOTO_STATE_SINGLE)
|
|
||||||
{
|
|
||||||
if (sb->event)
|
|
||||||
{
|
|
||||||
elm_object_focus_set(sb->event, EINA_TRUE);
|
|
||||||
evas_object_raise(sb->event);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ephoto_main_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
_ephoto_main_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
void *event_info EINA_UNUSED)
|
void *event_info EINA_UNUSED)
|
||||||
|
@ -2050,12 +2027,9 @@ ephoto_single_browser_add(Ephoto *ephoto, Evas_Object *parent)
|
||||||
sb->main = box;
|
sb->main = box;
|
||||||
|
|
||||||
elm_box_horizontal_set(sb->main, EINA_FALSE);
|
elm_box_horizontal_set(sb->main, EINA_FALSE);
|
||||||
elm_object_tree_focus_allow_set(sb->main, EINA_FALSE);
|
|
||||||
evas_object_event_callback_add(sb->main, EVAS_CALLBACK_DEL, _ephoto_main_del, sb);
|
evas_object_event_callback_add(sb->main, EVAS_CALLBACK_DEL, _ephoto_main_del, sb);
|
||||||
evas_object_event_callback_add(sb->main, EVAS_CALLBACK_KEY_DOWN, _ephoto_main_key_down,
|
evas_object_event_callback_add(sb->main, EVAS_CALLBACK_KEY_DOWN, _ephoto_main_key_down,
|
||||||
sb);
|
sb);
|
||||||
evas_object_event_callback_add(sb->ephoto->win, EVAS_CALLBACK_FOCUS_IN,
|
|
||||||
_ephoto_main_focused, sb);
|
|
||||||
evas_object_size_hint_weight_set(sb->main, EVAS_HINT_EXPAND,
|
evas_object_size_hint_weight_set(sb->main, EVAS_HINT_EXPAND,
|
||||||
EVAS_HINT_EXPAND);
|
EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(sb->main, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(sb->main, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
|
|
@ -1,11 +1,21 @@
|
||||||
#include "ephoto.h"
|
#include "ephoto.h"
|
||||||
|
|
||||||
|
typedef enum _Ephoto_Slideshow_Move Ephoto_Slideshow_Move;
|
||||||
typedef struct _Ephoto_Slideshow Ephoto_Slideshow;
|
typedef struct _Ephoto_Slideshow Ephoto_Slideshow;
|
||||||
|
|
||||||
|
enum _Ephoto_Slideshow_Move
|
||||||
|
{
|
||||||
|
EPHOTO_SLIDESHOW_MOVE_LEFT_TO_RIGHT,
|
||||||
|
EPHOTO_SLIDESHOW_MOVE_RIGHT_TO_LEFT,
|
||||||
|
EPHOTO_SLIDESHOW_MOVE_TOP_TO_BOTTOM,
|
||||||
|
EPHOTO_SLIDESHOW_MOVE_BOTTOM_TO_TOP
|
||||||
|
};
|
||||||
|
|
||||||
struct _Ephoto_Slideshow
|
struct _Ephoto_Slideshow
|
||||||
{
|
{
|
||||||
Ephoto *ephoto;
|
Ephoto *ephoto;
|
||||||
Evas_Object *current_image;
|
Evas_Object *current_item;
|
||||||
|
Evas_Object *old_item;
|
||||||
Evas_Object *slideshow;
|
Evas_Object *slideshow;
|
||||||
Evas_Object *event;
|
Evas_Object *event;
|
||||||
Evas_Object *notify;
|
Evas_Object *notify;
|
||||||
|
@ -17,11 +27,13 @@ struct _Ephoto_Slideshow
|
||||||
Ephoto_Entry *entry;
|
Ephoto_Entry *entry;
|
||||||
Eina_Bool playing;
|
Eina_Bool playing;
|
||||||
Ecore_Timer *timer;
|
Ecore_Timer *timer;
|
||||||
int timeout;
|
Ephoto_Slideshow_Move move;
|
||||||
|
float timeout;
|
||||||
int current;
|
int current;
|
||||||
};
|
};
|
||||||
|
|
||||||
static Evas_Object *_slideshow_item_get(Ephoto_Entry *entry, Evas_Object *parent);
|
static Evas_Object *_slideshow_item_get(Ephoto_Slideshow *ss,
|
||||||
|
Ephoto_Entry *entry, Evas_Object *parent);
|
||||||
static Eina_Bool _slideshow_transition(void *data);
|
static Eina_Bool _slideshow_transition(void *data);
|
||||||
static void _slideshow_play(Ephoto_Slideshow *ss);
|
static void _slideshow_play(Ephoto_Slideshow *ss);
|
||||||
static void _slideshow_pause(Ephoto_Slideshow *ss);
|
static void _slideshow_pause(Ephoto_Slideshow *ss);
|
||||||
|
@ -37,11 +49,108 @@ _image_shown(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
ephoto_title_set(entry->ephoto, entry->basename);
|
ephoto_title_set(entry->ephoto, entry->basename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
_slideshow_move_end_get(Ephoto_Slideshow *ss)
|
||||||
|
{
|
||||||
|
switch (ss->move)
|
||||||
|
{
|
||||||
|
case EPHOTO_SLIDESHOW_MOVE_LEFT_TO_RIGHT:
|
||||||
|
return "ephoto,slideshow,move,left,to,right";
|
||||||
|
case EPHOTO_SLIDESHOW_MOVE_RIGHT_TO_LEFT:
|
||||||
|
return "ephoto,slideshow,move,right,to,left";
|
||||||
|
case EPHOTO_SLIDESHOW_MOVE_TOP_TO_BOTTOM:
|
||||||
|
return "ephoto,slideshow,move,top,to,bottom";
|
||||||
|
case EPHOTO_SLIDESHOW_MOVE_BOTTOM_TO_TOP:
|
||||||
|
return "ephoto,slideshow,move,bottom,to,top";
|
||||||
|
default: return "default";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
_slideshow_move_start_get(Ephoto_Slideshow *ss)
|
||||||
|
{
|
||||||
|
switch (ss->move)
|
||||||
|
{
|
||||||
|
case EPHOTO_SLIDESHOW_MOVE_LEFT_TO_RIGHT:
|
||||||
|
return "ephoto,slideshow,default,left,to,right";
|
||||||
|
case EPHOTO_SLIDESHOW_MOVE_RIGHT_TO_LEFT:
|
||||||
|
return "ephoto,slideshow,default,right,to,left";
|
||||||
|
case EPHOTO_SLIDESHOW_MOVE_TOP_TO_BOTTOM:
|
||||||
|
return "ephoto,slideshow,default,top,to,bottom";
|
||||||
|
case EPHOTO_SLIDESHOW_MOVE_BOTTOM_TO_TOP:
|
||||||
|
return "ephoto,slideshow,default,bottom,to,top";
|
||||||
|
default: return "default";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_slideshow_move_randomize(Ephoto_Slideshow *ss)
|
||||||
|
{
|
||||||
|
int i, r = 0;
|
||||||
|
int range = 4;
|
||||||
|
int buckets = RAND_MAX / range;
|
||||||
|
int limit = buckets * range;
|
||||||
|
|
||||||
|
r = rand();
|
||||||
|
while (r >= limit)
|
||||||
|
{
|
||||||
|
r = rand();
|
||||||
|
}
|
||||||
|
i = r / buckets;
|
||||||
|
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
ss->move = EPHOTO_SLIDESHOW_MOVE_LEFT_TO_RIGHT;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
ss->move = EPHOTO_SLIDESHOW_MOVE_RIGHT_TO_LEFT;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
ss->move = EPHOTO_SLIDESHOW_MOVE_TOP_TO_BOTTOM;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
ss->move = EPHOTO_SLIDESHOW_MOVE_BOTTOM_TO_TOP;
|
||||||
|
break;
|
||||||
|
default: ss->move = EPHOTO_SLIDESHOW_MOVE_LEFT_TO_RIGHT;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_on_transition_end(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
|
const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
|
||||||
|
{
|
||||||
|
Ephoto_Slideshow *ss = data;
|
||||||
|
|
||||||
|
if (ss->old_item)
|
||||||
|
{
|
||||||
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow.item");
|
||||||
|
evas_object_del(ss->old_item);
|
||||||
|
ss->old_item = NULL;
|
||||||
|
}
|
||||||
|
if (ss->current_item)
|
||||||
|
{
|
||||||
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow.item2");
|
||||||
|
}
|
||||||
|
elm_layout_content_set(ss->slideshow, "ephoto.swallow.slideshow.item",
|
||||||
|
ss->current_item);
|
||||||
|
evas_object_show(ss->current_item);
|
||||||
|
elm_layout_signal_emit(ss->slideshow, "ephoto,transition,done", "ephoto");
|
||||||
|
|
||||||
|
if (ss->timer)
|
||||||
|
ecore_timer_del(ss->timer);
|
||||||
|
ss->timer = NULL;
|
||||||
|
ss->timer = ecore_timer_add(ss->timeout, _slideshow_transition, ss);
|
||||||
|
}
|
||||||
|
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
_slideshow_item_get(Ephoto_Entry *entry, Evas_Object *parent)
|
_slideshow_item_get(Ephoto_Slideshow *ss, Ephoto_Entry *entry, Evas_Object *parent)
|
||||||
{
|
{
|
||||||
const char *group = NULL;
|
const char *group = NULL;
|
||||||
const char *ext = strrchr(entry->path, '.');
|
const char *ext = strrchr(entry->path, '.');
|
||||||
|
Evas_Coord w, h, sw, sh;
|
||||||
|
Evas_Object *layout, *image;
|
||||||
|
Edje_Message_Float_Set *msg;
|
||||||
|
|
||||||
if (ext)
|
if (ext)
|
||||||
{
|
{
|
||||||
|
@ -59,16 +168,38 @@ _slideshow_item_get(Ephoto_Entry *entry, Evas_Object *parent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Evas_Object *image = elm_image_add(parent);
|
layout = elm_layout_add(parent);
|
||||||
|
elm_layout_file_set(layout, PACKAGE_DATA_DIR "/themes/ephoto.edj",
|
||||||
|
"ephoto,slideshow,item");
|
||||||
|
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
evas_object_size_hint_align_set(layout, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
evas_object_data_set(layout, "entry", entry);
|
||||||
|
|
||||||
|
image = elm_image_add(parent);
|
||||||
|
elm_image_preload_disabled_set(image, EINA_TRUE);
|
||||||
|
elm_image_smooth_set(image, EINA_FALSE);
|
||||||
elm_image_file_set(image, entry->path, group);
|
elm_image_file_set(image, entry->path, group);
|
||||||
elm_image_fill_outside_set(image, EINA_FALSE);
|
elm_image_fill_outside_set(image, EINA_TRUE);
|
||||||
evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(image, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
evas_object_data_set(image, "entry", entry);
|
|
||||||
evas_object_event_callback_add(image, EVAS_CALLBACK_SHOW, _image_shown,
|
evas_object_event_callback_add(image, EVAS_CALLBACK_SHOW, _image_shown,
|
||||||
entry);
|
entry);
|
||||||
|
evas_object_image_size_get(elm_image_object_get(image), &w, &h);
|
||||||
|
evas_object_geometry_get(parent, 0, 0, &sw, &sh);
|
||||||
|
if (w < sw && h < sh)
|
||||||
|
{
|
||||||
|
evas_object_size_hint_max_set(image, w, h);
|
||||||
|
elm_image_fill_outside_set(image, EINA_FALSE);
|
||||||
|
}
|
||||||
|
elm_layout_content_set(layout, "ephoto.swallow.slideshow.item", image);
|
||||||
|
|
||||||
return image;
|
msg = alloca(sizeof(Edje_Message_Float_Set) + (1 * sizeof(float)));
|
||||||
|
msg->count = 1;
|
||||||
|
msg->val[0] = (float)ss->timeout;
|
||||||
|
edje_object_message_send(elm_layout_edje_get(layout),
|
||||||
|
EDJE_MESSAGE_FLOAT_SET, 1, msg);
|
||||||
|
|
||||||
|
return layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
|
@ -83,34 +214,63 @@ _slideshow_transition(void *data)
|
||||||
ss->timer = NULL;
|
ss->timer = NULL;
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
if (ss->current_image)
|
|
||||||
{
|
|
||||||
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow");
|
|
||||||
evas_object_del(ss->current_image);
|
|
||||||
}
|
|
||||||
ss->current += 1;
|
ss->current += 1;
|
||||||
if (!eina_list_nth(ss->entries, ss->current))
|
if (!eina_list_nth(ss->entries, ss->current))
|
||||||
ss->current = 0;
|
ss->current = 0;
|
||||||
ss->current_image = _slideshow_item_get(eina_list_nth(ss->entries, ss->current),
|
if (ss->old_item)
|
||||||
ss->slideshow);
|
evas_object_del(ss->old_item);
|
||||||
elm_layout_content_set(ss->slideshow, "ephoto.swallow.slideshow", ss->current_image);
|
|
||||||
evas_object_show(ss->current_image);
|
|
||||||
|
|
||||||
return EINA_TRUE;
|
ss->old_item = ss->current_item;
|
||||||
|
ss->current_item = _slideshow_item_get(ss, eina_list_nth(ss->entries, ss->current),
|
||||||
|
ss->slideshow);
|
||||||
|
elm_layout_content_set(ss->slideshow, "ephoto.swallow.slideshow.item2",
|
||||||
|
ss->current_item);
|
||||||
|
evas_object_show(ss->current_item);
|
||||||
|
|
||||||
|
elm_layout_signal_emit(ss->slideshow, "ephoto,black_fade", "ephoto");
|
||||||
|
if (ss->ephoto->config->movess)
|
||||||
|
{
|
||||||
|
elm_layout_signal_emit(ss->current_item, _slideshow_move_start_get(ss), "ephoto");
|
||||||
|
elm_layout_signal_emit(ss->current_item, _slideshow_move_end_get(ss), "ephoto");
|
||||||
|
_slideshow_move_randomize(ss);
|
||||||
|
}
|
||||||
|
if (ss->timer)
|
||||||
|
ecore_timer_del(ss->timer);
|
||||||
|
ss->timer = NULL;
|
||||||
|
|
||||||
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_slideshow_play(Ephoto_Slideshow *ss)
|
_slideshow_play(Ephoto_Slideshow *ss)
|
||||||
{
|
{
|
||||||
if (!ss->current_image)
|
Edje_Message_Float_Set *msg;
|
||||||
|
|
||||||
|
if (!ss->current_item)
|
||||||
{
|
{
|
||||||
if (!eina_list_nth(ss->entries, ss->current))
|
if (!eina_list_nth(ss->entries, ss->current))
|
||||||
ss->current = 0;
|
ss->current = 0;
|
||||||
ss->current_image = _slideshow_item_get(eina_list_nth(ss->entries, ss->current),
|
ss->current_item = _slideshow_item_get(ss, eina_list_nth(ss->entries, ss->current),
|
||||||
ss->slideshow);
|
ss->slideshow);
|
||||||
elm_layout_content_set(ss->slideshow, "ephoto.swallow.slideshow", ss->current_image);
|
elm_layout_content_set(ss->slideshow, "ephoto.swallow.slideshow.item",
|
||||||
evas_object_show(ss->current_image);
|
ss->current_item);
|
||||||
|
evas_object_show(ss->current_item);
|
||||||
}
|
}
|
||||||
|
_slideshow_move_randomize(ss);
|
||||||
|
|
||||||
|
msg = alloca(sizeof(Edje_Message_Float_Set) + (1 * sizeof(float)));
|
||||||
|
msg->count = 1;
|
||||||
|
msg->val[0] = (float)ss->timeout;
|
||||||
|
edje_object_message_send(elm_layout_edje_get(ss->current_item),
|
||||||
|
EDJE_MESSAGE_FLOAT_SET, 1, msg);
|
||||||
|
|
||||||
|
if (ss->ephoto->config->movess)
|
||||||
|
{
|
||||||
|
elm_layout_signal_emit(ss->current_item, _slideshow_move_start_get(ss), "ephoto");
|
||||||
|
elm_layout_signal_emit(ss->current_item, _slideshow_move_end_get(ss), "ephoto");
|
||||||
|
_slideshow_move_randomize(ss);
|
||||||
|
}
|
||||||
|
|
||||||
if (ss->timer)
|
if (ss->timer)
|
||||||
ecore_timer_del(ss->timer);
|
ecore_timer_del(ss->timer);
|
||||||
ss->timer = ecore_timer_add(ss->timeout, _slideshow_transition, ss);
|
ss->timer = ecore_timer_add(ss->timeout, _slideshow_transition, ss);
|
||||||
|
@ -136,8 +296,8 @@ _mouse_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
elm_layout_content_set(ss->ephoto->layout, "ephoto.swallow.controls",
|
elm_layout_content_set(ss->ephoto->layout, "ephoto.swallow.controls",
|
||||||
ss->ephoto->statusbar);
|
ss->ephoto->statusbar);
|
||||||
|
|
||||||
if (ss->current_image)
|
if (ss->current_item)
|
||||||
entry = evas_object_data_get(ss->current_image, "entry");
|
entry = evas_object_data_get(ss->current_item, "entry");
|
||||||
else
|
else
|
||||||
entry = ss->entry;
|
entry = ss->entry;
|
||||||
if (ss->event)
|
if (ss->event)
|
||||||
|
@ -146,18 +306,23 @@ _mouse_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
ss->event = NULL;
|
ss->event = NULL;
|
||||||
}
|
}
|
||||||
evas_object_smart_callback_call(ss->slideshow, "back", entry);
|
evas_object_smart_callback_call(ss->slideshow, "back", entry);
|
||||||
if (ss->current_image)
|
if (ss->old_item)
|
||||||
{
|
{
|
||||||
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow");
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow.item2");
|
||||||
evas_object_del(ss->current_image);
|
evas_object_del(ss->old_item);
|
||||||
}
|
}
|
||||||
ss->current_image = NULL;
|
if (ss->current_item)
|
||||||
|
{
|
||||||
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow.item");
|
||||||
|
evas_object_del(ss->current_item);
|
||||||
|
}
|
||||||
|
ss->old_item = NULL;
|
||||||
|
ss->current_item = NULL;
|
||||||
if (ss->timer)
|
if (ss->timer)
|
||||||
ecore_timer_del(ss->timer);
|
ecore_timer_del(ss->timer);
|
||||||
ss->timer = NULL;
|
ss->timer = NULL;
|
||||||
ss->current = 0;
|
ss->current = 0;
|
||||||
ss->playing = 0;
|
ss->playing = 0;
|
||||||
evas_object_freeze_events_set(ss->slideshow, EINA_TRUE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -190,8 +355,8 @@ _back(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
elm_layout_content_set(ss->ephoto->layout, "ephoto.swallow.controls",
|
elm_layout_content_set(ss->ephoto->layout, "ephoto.swallow.controls",
|
||||||
ss->ephoto->statusbar);
|
ss->ephoto->statusbar);
|
||||||
|
|
||||||
if (ss->current_image)
|
if (ss->current_item)
|
||||||
entry = evas_object_data_get(ss->current_image, "entry");
|
entry = evas_object_data_get(ss->current_item, "entry");
|
||||||
else
|
else
|
||||||
entry = ss->entry;
|
entry = ss->entry;
|
||||||
if (ss->event)
|
if (ss->event)
|
||||||
|
@ -200,18 +365,23 @@ _back(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
ss->event = NULL;
|
ss->event = NULL;
|
||||||
}
|
}
|
||||||
evas_object_smart_callback_call(ss->slideshow, "back", entry);
|
evas_object_smart_callback_call(ss->slideshow, "back", entry);
|
||||||
if (ss->current_image)
|
if (ss->old_item)
|
||||||
{
|
{
|
||||||
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.controls");
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow.item2");
|
||||||
evas_object_del(ss->current_image);
|
evas_object_del(ss->old_item);
|
||||||
}
|
}
|
||||||
ss->current_image = NULL;
|
if (ss->current_item)
|
||||||
|
{
|
||||||
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow.item");
|
||||||
|
evas_object_del(ss->current_item);
|
||||||
|
}
|
||||||
|
ss->old_item = NULL;
|
||||||
|
ss->current_item = NULL;
|
||||||
if (ss->timer)
|
if (ss->timer)
|
||||||
ecore_timer_del(ss->timer);
|
ecore_timer_del(ss->timer);
|
||||||
ss->timer = NULL;
|
ss->timer = NULL;
|
||||||
ss->current = 0;
|
ss->current = 0;
|
||||||
ss->playing = 0;
|
ss->playing = 0;
|
||||||
evas_object_freeze_events_set(ss->slideshow, EINA_TRUE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -220,11 +390,11 @@ _first(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
Ephoto_Slideshow *ss = data;
|
Ephoto_Slideshow *ss = data;
|
||||||
|
|
||||||
_slideshow_pause(ss);
|
_slideshow_pause(ss);
|
||||||
if (ss->current_image)
|
if (ss->current_item)
|
||||||
{
|
{
|
||||||
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow");
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow");
|
||||||
evas_object_del(ss->current_image);
|
evas_object_del(ss->current_item);
|
||||||
ss->current_image = NULL;
|
ss->current_item = NULL;
|
||||||
}
|
}
|
||||||
ss->current = 0;
|
ss->current = 0;
|
||||||
_slideshow_play(ss);
|
_slideshow_play(ss);
|
||||||
|
@ -236,11 +406,11 @@ _next(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
Ephoto_Slideshow *ss = data;
|
Ephoto_Slideshow *ss = data;
|
||||||
|
|
||||||
_slideshow_pause(ss);
|
_slideshow_pause(ss);
|
||||||
if (ss->current_image)
|
if (ss->current_item)
|
||||||
{
|
{
|
||||||
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow");
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow");
|
||||||
evas_object_del(ss->current_image);
|
evas_object_del(ss->current_item);
|
||||||
ss->current_image = NULL;
|
ss->current_item = NULL;
|
||||||
}
|
}
|
||||||
ss->current += 1;
|
ss->current += 1;
|
||||||
_slideshow_play(ss);
|
_slideshow_play(ss);
|
||||||
|
@ -280,11 +450,11 @@ _previous(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
Ephoto_Slideshow *ss = data;
|
Ephoto_Slideshow *ss = data;
|
||||||
|
|
||||||
_slideshow_pause(ss);
|
_slideshow_pause(ss);
|
||||||
if (ss->current_image)
|
if (ss->current_item)
|
||||||
{
|
{
|
||||||
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow");
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow.item");
|
||||||
evas_object_del(ss->current_image);
|
evas_object_del(ss->current_item);
|
||||||
ss->current_image = NULL;
|
ss->current_item = NULL;
|
||||||
}
|
}
|
||||||
ss->current -= 1;
|
ss->current -= 1;
|
||||||
_slideshow_play(ss);
|
_slideshow_play(ss);
|
||||||
|
@ -296,11 +466,11 @@ _last(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||||
Ephoto_Slideshow *ss = data;
|
Ephoto_Slideshow *ss = data;
|
||||||
|
|
||||||
_slideshow_pause(ss);
|
_slideshow_pause(ss);
|
||||||
if (ss->current_image)
|
if (ss->current_item)
|
||||||
{
|
{
|
||||||
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow");
|
elm_layout_content_unset(ss->slideshow, "ephoto.swallow.slideshow");
|
||||||
evas_object_del(ss->current_image);
|
evas_object_del(ss->current_item);
|
||||||
ss->current_image = NULL;
|
ss->current_item = NULL;
|
||||||
}
|
}
|
||||||
ss->current = eina_list_count(ss->entries) - 1;
|
ss->current = eina_list_count(ss->entries) - 1;
|
||||||
_slideshow_play(ss);
|
_slideshow_play(ss);
|
||||||
|
@ -387,19 +557,6 @@ _key_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
_main_focused(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|
||||||
void *event_data EINA_UNUSED)
|
|
||||||
{
|
|
||||||
Ephoto_Slideshow *ss = data;
|
|
||||||
|
|
||||||
if (ss->ephoto->state == EPHOTO_STATE_SLIDESHOW)
|
|
||||||
{
|
|
||||||
if (ss->event)
|
|
||||||
elm_object_focus_set(ss->event, EINA_TRUE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
_add_icon(Evas_Object *parent, const char *icon, const char *label, Evas_Object *before)
|
_add_icon(Evas_Object *parent, const char *icon, const char *label, Evas_Object *before)
|
||||||
{
|
{
|
||||||
|
@ -428,6 +585,19 @@ _add_icon(Evas_Object *parent, const char *icon, const char *label, Evas_Object
|
||||||
return but;
|
return but;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ephoto_slideshow_adjust_offsets(Ephoto *ephoto)
|
||||||
|
{
|
||||||
|
Edje_Message_Int_Set *msg;
|
||||||
|
|
||||||
|
msg = alloca(sizeof(Edje_Message_Int_Set) + (2 * sizeof(int)));
|
||||||
|
msg->count = 2;
|
||||||
|
msg->val[0] = 0;
|
||||||
|
msg->val[1] = 0;
|
||||||
|
edje_object_message_send(elm_layout_edje_get(ephoto->layout),
|
||||||
|
EDJE_MESSAGE_INT_SET, 1, msg);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
ephoto_slideshow_show_controls(Ephoto *ephoto)
|
ephoto_slideshow_show_controls(Ephoto *ephoto)
|
||||||
{
|
{
|
||||||
|
@ -481,7 +651,8 @@ ephoto_slideshow_add(Ephoto *ephoto, Evas_Object *parent)
|
||||||
ss->slideshow = slideshow;
|
ss->slideshow = slideshow;
|
||||||
ss->playing = 0;
|
ss->playing = 0;
|
||||||
ss->current = 0;
|
ss->current = 0;
|
||||||
ss->current_image = NULL;
|
ss->old_item = NULL;
|
||||||
|
ss->current_item = NULL;
|
||||||
ss->event = NULL;
|
ss->event = NULL;
|
||||||
|
|
||||||
elm_layout_file_set(slideshow, PACKAGE_DATA_DIR "/themes/ephoto.edj",
|
elm_layout_file_set(slideshow, PACKAGE_DATA_DIR "/themes/ephoto.edj",
|
||||||
|
@ -490,15 +661,13 @@ ephoto_slideshow_add(Ephoto *ephoto, Evas_Object *parent)
|
||||||
ss);
|
ss);
|
||||||
evas_object_event_callback_add(slideshow, EVAS_CALLBACK_MOUSE_DOWN,
|
evas_object_event_callback_add(slideshow, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
_mouse_down, ss);
|
_mouse_down, ss);
|
||||||
evas_object_event_callback_add(ss->ephoto->win, EVAS_CALLBACK_FOCUS_IN,
|
|
||||||
_main_focused, ss);
|
|
||||||
evas_object_data_set(slideshow, "slideshow", ss);
|
evas_object_data_set(slideshow, "slideshow", ss);
|
||||||
elm_object_tree_focus_allow_set(slideshow, EINA_FALSE);
|
|
||||||
evas_object_size_hint_weight_set(slideshow, EVAS_HINT_EXPAND,
|
evas_object_size_hint_weight_set(slideshow, EVAS_HINT_EXPAND,
|
||||||
EVAS_HINT_EXPAND);
|
EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(slideshow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(slideshow, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
evas_object_freeze_events_set(ss->slideshow, EINA_TRUE);
|
|
||||||
|
|
||||||
|
edje_object_signal_callback_add(elm_layout_edje_get(ss->slideshow),
|
||||||
|
"ephoto,transition,end", "ephoto", _on_transition_end, ss);
|
||||||
return ss->slideshow;
|
return ss->slideshow;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
@ -535,8 +704,6 @@ ephoto_slideshow_entry_set(Evas_Object *obj, Ephoto_Entry *entry)
|
||||||
ss->timeout = ss->ephoto->config->slideshow_timeout;
|
ss->timeout = ss->ephoto->config->slideshow_timeout;
|
||||||
_slideshow_play(ss);
|
_slideshow_play(ss);
|
||||||
|
|
||||||
evas_object_freeze_events_set(ss->slideshow, EINA_FALSE);
|
|
||||||
|
|
||||||
if (ss->pause)
|
if (ss->pause)
|
||||||
{
|
{
|
||||||
evas_object_del(ss->pause);
|
evas_object_del(ss->pause);
|
||||||
|
|
Loading…
Reference in New Issue