now THIS is cute -watch the thumbnails wobble when generated... or found

cached... most fun! let the power of edje be known! :)


SVN revision: 24150
This commit is contained in:
Carsten Haitzler 2006-07-23 21:19:04 +00:00
parent b9acc42122
commit 10ffed6545
3 changed files with 811 additions and 18 deletions

View File

@ -139,15 +139,101 @@ group {
} }
} }
part { part {
name: "icon_swallow"; name: "icon_box_shadow";
type: SWALLOW; mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
rel1 {
to: "icon_box";
relative: 0.0 0.0;
offset: -1 -1;
}
rel2 {
to: "icon_box";
relative: 1.0 1.0;
offset: 2 2;
}
image {
normal: "e17_mini_button_shadow2.png";
border: 6 6 6 6;
}
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon_box";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
align: 0.5 0.5;
rel1 {
to: "icon_swallow";
relative: 0.0 0.0;
offset: -1 -1;
}
rel2 {
to: "icon_swallow";
relative: 1.0 1.0;
offset: 0 0;
}
color: 0 0 0 255;
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon_box_bg";
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
rel1 {
to: "icon_box";
relative: 0.0 0.0;
offset: 1 1;
}
rel2 {
to: "icon_box";
relative: 1.0 1.0;
offset: -2 -2;
}
image {
normal: "e17_fileman_thumb_bg.png";
}
fill {
smooth: 0;
size {
relative: 0 0;
offset: 32 32;
}
}
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon0";
type: RECT;
mouse_events: 0; mouse_events: 0;
description { description {
state: "default" 0.0; state: "default" 0.0;
align: 0.0 0.5; align: 0.0 0.5;
aspect: 1.0 1.0; aspect: 1.0 1.0;
aspect_preference: VERTICAL; aspect_preference: VERTICAL;
// fixed: 1 1; visible: 0;
rel1 { rel1 {
relative: 0.0 0.0; relative: 0.0 0.0;
offset: 4 4; offset: 4 4;
@ -156,6 +242,60 @@ group {
relative: 0.0 1.0; relative: 0.0 1.0;
offset: 4 -5; offset: 4 -5;
} }
color: 0 0 0 0;
}
}
part {
name: "icon";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
align: 0.5 0.5;
aspect: 1.0 1.0;
visible: 0;
rel1 {
to: "icon0";
}
rel2 {
to: "icon0";
}
color: 0 0 0 0;
}
description {
state: "min" 0.0;
inherit: "default" 0.0;
max: 0 0;
}
description {
state: "max" 0.0;
inherit: "default" 0.0;
rel1 {
to: "icon0";
relative: 0.0 0.0;
offset: -3 -3;
}
rel2 {
to: "icon0";
relative: 1.0 1.0;
offset: 2 2;
}
}
}
part {
name: "icon_swallow";
type: SWALLOW;
mouse_events: 0;
description {
state: "default" 0.0;
align: 0.5 0.5;
// fixed: 1 1;
rel1 {
to: "icon";
}
rel2 {
to: "icon";
}
} }
} }
part { part {
@ -167,7 +307,7 @@ group {
state: "default" 0.0; state: "default" 0.0;
min: 16 16; min: 16 16;
rel1 { rel1 {
to_x: "icon_swallow"; to_x: "icon0";
relative: 1.0 0.0; relative: 1.0 0.0;
offset: 4 4; offset: 4 4;
} }
@ -467,6 +607,59 @@ group {
target: "title_bar"; target: "title_bar";
transition: LINEAR 0.1; transition: LINEAR 0.1;
} }
program {
name: "thumb_gen";
signal: "thumb";
source: "gen";
action: STATE_SET "visible" 0.0;
target: "icon_box_shadow";
target: "icon_box";
target: "icon_box_bg";
after: "thumb_gen2";
}
program {
name: "thumb_gen-";
signal: "thumb";
source: "gen_alpha";
action: STATE_SET "default" 0.0;
target: "icon_box_shadow";
target: "icon_box";
target: "icon_box_bg";
after: "thumb_gen2";
}
program {
name: "thumb_gen2";
action: STATE_SET "min" 0.0;
target: "icon";
after: "thumb_gen3";
}
program {
name: "thumb_gen3";
action: STATE_SET "max" 0.0;
target: "icon";
transition: DECELERATE 0.2;
after: "thumb_gen4";
}
program {
name: "thumb_gen4";
action: STATE_SET "default" 0.0;
target: "icon";
transition: SINUSOIDAL 0.1;
after: "thumb_gen5";
}
program {
name: "thumb_gen5";
action: STATE_SET "max" 0.0;
target: "icon";
transition: SINUSOIDAL 0.2;
after: "thumb_gen6";
}
program {
name: "thumb_gen6";
action: STATE_SET "default" 0.0;
target: "icon";
transition: SINUSOIDAL 0.3;
}
} }
} }
@ -606,15 +799,101 @@ group {
} }
} }
part { part {
name: "icon_swallow"; name: "icon_box_shadow";
type: SWALLOW; mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
rel1 {
to: "icon_box";
relative: 0.0 0.0;
offset: -1 -1;
}
rel2 {
to: "icon_box";
relative: 1.0 1.0;
offset: 2 2;
}
image {
normal: "e17_mini_button_shadow2.png";
border: 6 6 6 6;
}
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon_box";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
align: 0.5 0.5;
rel1 {
to: "icon_swallow";
relative: 0.0 0.0;
offset: -1 -1;
}
rel2 {
to: "icon_swallow";
relative: 1.0 1.0;
offset: 0 0;
}
color: 0 0 0 255;
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon_box_bg";
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
rel1 {
to: "icon_box";
relative: 0.0 0.0;
offset: 1 1;
}
rel2 {
to: "icon_box";
relative: 1.0 1.0;
offset: -2 -2;
}
image {
normal: "e17_fileman_thumb_bg.png";
}
fill {
smooth: 0;
size {
relative: 0 0;
offset: 32 32;
}
}
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon0";
type: RECT;
mouse_events: 0; mouse_events: 0;
description { description {
state: "default" 0.0; state: "default" 0.0;
align: 0.0 0.5; align: 0.0 0.5;
aspect: 1.0 1.0; aspect: 1.0 1.0;
aspect_preference: VERTICAL; aspect_preference: VERTICAL;
// fixed: 1 1; visible: 0;
rel1 { rel1 {
relative: 0.0 0.0; relative: 0.0 0.0;
offset: 4 4; offset: 4 4;
@ -623,6 +902,60 @@ group {
relative: 0.0 1.0; relative: 0.0 1.0;
offset: 4 -5; offset: 4 -5;
} }
color: 0 0 0 0;
}
}
part {
name: "icon";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
align: 0.5 0.5;
aspect: 1.0 1.0;
visible: 0;
rel1 {
to: "icon0";
}
rel2 {
to: "icon0";
}
color: 0 0 0 0;
}
description {
state: "min" 0.0;
inherit: "default" 0.0;
max: 0 0;
}
description {
state: "max" 0.0;
inherit: "default" 0.0;
rel1 {
to: "icon0";
relative: 0.0 0.0;
offset: -3 -3;
}
rel2 {
to: "icon0";
relative: 1.0 1.0;
offset: 2 2;
}
}
}
part {
name: "icon_swallow";
type: SWALLOW;
mouse_events: 0;
description {
state: "default" 0.0;
align: 0.5 0.5;
// fixed: 1 1;
rel1 {
to: "icon";
}
rel2 {
to: "icon";
}
} }
} }
part { part {
@ -634,7 +967,7 @@ group {
state: "default" 0.0; state: "default" 0.0;
min: 16 16; min: 16 16;
rel1 { rel1 {
to_x: "icon_swallow"; to_x: "icon0";
relative: 1.0 0.0; relative: 1.0 0.0;
offset: 4 4; offset: 4 4;
} }
@ -934,6 +1267,59 @@ group {
target: "title_bar"; target: "title_bar";
transition: LINEAR 0.1; transition: LINEAR 0.1;
} }
program {
name: "thumb_gen";
signal: "thumb";
source: "gen";
action: STATE_SET "visible" 0.0;
target: "icon_box_shadow";
target: "icon_box";
target: "icon_box_bg";
after: "thumb_gen2";
}
program {
name: "thumb_gen-";
signal: "thumb";
source: "gen_alpha";
action: STATE_SET "default" 0.0;
target: "icon_box_shadow";
target: "icon_box";
target: "icon_box_bg";
after: "thumb_gen2";
}
program {
name: "thumb_gen2";
action: STATE_SET "min" 0.0;
target: "icon";
after: "thumb_gen3";
}
program {
name: "thumb_gen3";
action: STATE_SET "max" 0.0;
target: "icon";
transition: DECELERATE 0.2;
after: "thumb_gen4";
}
program {
name: "thumb_gen4";
action: STATE_SET "default" 0.0;
target: "icon";
transition: SINUSOIDAL 0.1;
after: "thumb_gen5";
}
program {
name: "thumb_gen5";
action: STATE_SET "max" 0.0;
target: "icon";
transition: SINUSOIDAL 0.2;
after: "thumb_gen6";
}
program {
name: "thumb_gen6";
action: STATE_SET "default" 0.0;
target: "icon";
transition: SINUSOIDAL 0.3;
}
} }
} }
@ -1073,15 +1459,101 @@ group {
} }
} }
part { part {
name: "icon_swallow"; name: "icon_box_shadow";
type: SWALLOW; mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
rel1 {
to: "icon_box";
relative: 0.0 0.0;
offset: -1 -1;
}
rel2 {
to: "icon_box";
relative: 1.0 1.0;
offset: 2 2;
}
image {
normal: "e17_mini_button_shadow2.png";
border: 6 6 6 6;
}
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon_box";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
align: 0.5 0.5;
rel1 {
to: "icon_swallow";
relative: 0.0 0.0;
offset: -1 -1;
}
rel2 {
to: "icon_swallow";
relative: 1.0 1.0;
offset: 0 0;
}
color: 0 0 0 255;
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon_box_bg";
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
rel1 {
to: "icon_box";
relative: 0.0 0.0;
offset: 1 1;
}
rel2 {
to: "icon_box";
relative: 1.0 1.0;
offset: -2 -2;
}
image {
normal: "e17_fileman_thumb_bg.png";
}
fill {
smooth: 0;
size {
relative: 0 0;
offset: 32 32;
}
}
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon0";
type: RECT;
mouse_events: 0; mouse_events: 0;
description { description {
state: "default" 0.0; state: "default" 0.0;
align: 0.0 0.5; align: 0.0 0.5;
aspect: 1.0 1.0; aspect: 1.0 1.0;
aspect_preference: VERTICAL; aspect_preference: VERTICAL;
// fixed: 1 1; visible: 0;
rel1 { rel1 {
relative: 0.0 0.0; relative: 0.0 0.0;
offset: 4 4; offset: 4 4;
@ -1090,6 +1562,60 @@ group {
relative: 0.0 1.0; relative: 0.0 1.0;
offset: 4 -5; offset: 4 -5;
} }
color: 0 0 0 0;
}
}
part {
name: "icon";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
align: 0.5 0.5;
aspect: 1.0 1.0;
visible: 0;
rel1 {
to: "icon0";
}
rel2 {
to: "icon0";
}
color: 0 0 0 0;
}
description {
state: "min" 0.0;
inherit: "default" 0.0;
max: 0 0;
}
description {
state: "max" 0.0;
inherit: "default" 0.0;
rel1 {
to: "icon0";
relative: 0.0 0.0;
offset: -3 -3;
}
rel2 {
to: "icon0";
relative: 1.0 1.0;
offset: 2 2;
}
}
}
part {
name: "icon_swallow";
type: SWALLOW;
mouse_events: 0;
description {
state: "default" 0.0;
align: 0.5 0.5;
// fixed: 1 1;
rel1 {
to: "icon";
}
rel2 {
to: "icon";
}
} }
} }
part { part {
@ -1101,7 +1627,7 @@ group {
state: "default" 0.0; state: "default" 0.0;
min: 16 16; min: 16 16;
rel1 { rel1 {
to_x: "icon_swallow"; to_x: "icon0";
relative: 1.0 0.0; relative: 1.0 0.0;
offset: 4 4; offset: 4 4;
} }
@ -1401,6 +1927,59 @@ group {
target: "title_bar"; target: "title_bar";
transition: LINEAR 0.1; transition: LINEAR 0.1;
} }
program {
name: "thumb_gen";
signal: "thumb";
source: "gen";
action: STATE_SET "visible" 0.0;
target: "icon_box_shadow";
target: "icon_box";
target: "icon_box_bg";
after: "thumb_gen2";
}
program {
name: "thumb_gen-";
signal: "thumb";
source: "gen_alpha";
action: STATE_SET "default" 0.0;
target: "icon_box_shadow";
target: "icon_box";
target: "icon_box_bg";
after: "thumb_gen2";
}
program {
name: "thumb_gen2";
action: STATE_SET "min" 0.0;
target: "icon";
after: "thumb_gen3";
}
program {
name: "thumb_gen3";
action: STATE_SET "max" 0.0;
target: "icon";
transition: DECELERATE 0.2;
after: "thumb_gen4";
}
program {
name: "thumb_gen4";
action: STATE_SET "default" 0.0;
target: "icon";
transition: SINUSOIDAL 0.1;
after: "thumb_gen5";
}
program {
name: "thumb_gen5";
action: STATE_SET "max" 0.0;
target: "icon";
transition: SINUSOIDAL 0.2;
after: "thumb_gen6";
}
program {
name: "thumb_gen6";
action: STATE_SET "default" 0.0;
target: "icon";
transition: SINUSOIDAL 0.3;
}
} }
} }
@ -1540,15 +2119,101 @@ group {
} }
} }
part { part {
name: "icon_swallow"; name: "icon_box_shadow";
type: SWALLOW; mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
rel1 {
to: "icon_box";
relative: 0.0 0.0;
offset: -1 -1;
}
rel2 {
to: "icon_box";
relative: 1.0 1.0;
offset: 2 2;
}
image {
normal: "e17_mini_button_shadow2.png";
border: 6 6 6 6;
}
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon_box";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
align: 0.5 0.5;
rel1 {
to: "icon_swallow";
relative: 0.0 0.0;
offset: -1 -1;
}
rel2 {
to: "icon_swallow";
relative: 1.0 1.0;
offset: 0 0;
}
color: 0 0 0 255;
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon_box_bg";
mouse_events: 0;
description {
state: "default" 0.0;
visible: 0;
rel1 {
to: "icon_box";
relative: 0.0 0.0;
offset: 1 1;
}
rel2 {
to: "icon_box";
relative: 1.0 1.0;
offset: -2 -2;
}
image {
normal: "e17_fileman_thumb_bg.png";
}
fill {
smooth: 0;
size {
relative: 0 0;
offset: 32 32;
}
}
}
description {
state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
part {
name: "icon0";
type: RECT;
mouse_events: 0; mouse_events: 0;
description { description {
state: "default" 0.0; state: "default" 0.0;
align: 0.0 0.5; align: 0.0 0.5;
aspect: 1.0 1.0; aspect: 1.0 1.0;
aspect_preference: VERTICAL; aspect_preference: VERTICAL;
// fixed: 1 1; visible: 0;
rel1 { rel1 {
relative: 0.0 0.0; relative: 0.0 0.0;
offset: 4 4; offset: 4 4;
@ -1557,6 +2222,60 @@ group {
relative: 0.0 1.0; relative: 0.0 1.0;
offset: 4 -5; offset: 4 -5;
} }
color: 0 0 0 0;
}
}
part {
name: "icon";
type: RECT;
mouse_events: 0;
description {
state: "default" 0.0;
align: 0.5 0.5;
aspect: 1.0 1.0;
visible: 0;
rel1 {
to: "icon0";
}
rel2 {
to: "icon0";
}
color: 0 0 0 0;
}
description {
state: "min" 0.0;
inherit: "default" 0.0;
max: 0 0;
}
description {
state: "max" 0.0;
inherit: "default" 0.0;
rel1 {
to: "icon0";
relative: 0.0 0.0;
offset: -3 -3;
}
rel2 {
to: "icon0";
relative: 1.0 1.0;
offset: 2 2;
}
}
}
part {
name: "icon_swallow";
type: SWALLOW;
mouse_events: 0;
description {
state: "default" 0.0;
align: 0.5 0.5;
// fixed: 1 1;
rel1 {
to: "icon";
}
rel2 {
to: "icon";
}
} }
} }
part { part {
@ -1568,7 +2287,7 @@ group {
state: "default" 0.0; state: "default" 0.0;
min: 16 16; min: 16 16;
rel1 { rel1 {
to_x: "icon_swallow"; to_x: "icon0";
relative: 1.0 0.0; relative: 1.0 0.0;
offset: 4 4; offset: 4 4;
} }
@ -1868,6 +2587,59 @@ group {
target: "title_bar"; target: "title_bar";
transition: LINEAR 0.1; transition: LINEAR 0.1;
} }
program {
name: "thumb_gen";
signal: "thumb";
source: "gen";
action: STATE_SET "visible" 0.0;
target: "icon_box_shadow";
target: "icon_box";
target: "icon_box_bg";
after: "thumb_gen2";
}
program {
name: "thumb_gen-";
signal: "thumb";
source: "gen_alpha";
action: STATE_SET "default" 0.0;
target: "icon_box_shadow";
target: "icon_box";
target: "icon_box_bg";
after: "thumb_gen2";
}
program {
name: "thumb_gen2";
action: STATE_SET "min" 0.0;
target: "icon";
after: "thumb_gen3";
}
program {
name: "thumb_gen3";
action: STATE_SET "max" 0.0;
target: "icon";
transition: DECELERATE 0.2;
after: "thumb_gen4";
}
program {
name: "thumb_gen4";
action: STATE_SET "default" 0.0;
target: "icon";
transition: SINUSOIDAL 0.1;
after: "thumb_gen5";
}
program {
name: "thumb_gen5";
action: STATE_SET "max" 0.0;
target: "icon";
transition: SINUSOIDAL 0.2;
after: "thumb_gen6";
}
program {
name: "thumb_gen6";
action: STATE_SET "default" 0.0;
target: "icon";
transition: SINUSOIDAL 0.3;
}
} }
} }

View File

@ -1181,7 +1181,8 @@ _e_fm2_icon_label_set(E_Fm2_Icon *ic, Evas_Object *obj)
edje_object_part_text_set(obj, "label", ic->info.label); edje_object_part_text_set(obj, "label", ic->info.label);
return; return;
} }
if (ic->sd->config->icon.extension.show) if ((ic->sd->config->icon.extension.show) ||
(S_ISDIR(ic->info.statinfo.st_mode)))
edje_object_part_text_set(obj, "label", ic->info.file); edje_object_part_text_set(obj, "label", ic->info.file);
else else
{ {
@ -1631,7 +1632,24 @@ _e_fm2_cb_icon_thumb_gen(void *data, Evas_Object *obj, void *event_info)
E_Fm2_Icon *ic; E_Fm2_Icon *ic;
ic = data; ic = data;
edje_object_signal_emit(ic->obj, "thumb", "gen"); if (ic->realized)
{
Evas_Coord w = 0, h = 0;
int have_alpha;
e_icon_size_get(ic->obj_icon, &w, &h);
have_alpha = e_icon_alpha_get(ic->obj_icon);
if (ic->sd->config->view.mode == E_FM2_VIEW_MODE_LIST)
{
edje_extern_object_aspect_set(ic->obj_icon,
EDJE_ASPECT_CONTROL_BOTH, w, h);
}
edje_object_part_swallow(ic->obj, "icon_swallow", ic->obj_icon);
if (have_alpha)
edje_object_signal_emit(ic->obj, "thumb", "gen_alpha");
else
edje_object_signal_emit(ic->obj, "thumb", "gen");
}
} }
static void static void

View File

@ -13,6 +13,7 @@ struct _E_Thumb
char *key; char *key;
unsigned char queued : 1; unsigned char queued : 1;
unsigned char busy : 1; unsigned char busy : 1;
unsigned char done : 1;
}; };
/* local subsystem functions */ /* local subsystem functions */
@ -123,6 +124,7 @@ e_thumb_icon_begin(Evas_Object *obj)
if (!eth) return; if (!eth) return;
if (eth->queued) return; if (eth->queued) return;
if (eth->busy) return; if (eth->busy) return;
if (eth->done) return;
if (!eth->file) return; if (!eth->file) return;
if (!_thumbnailers) if (!_thumbnailers)
{ {
@ -199,6 +201,7 @@ e_thumb_client_data(Ecore_Ipc_Event_Client_Data *e)
{ {
eth->busy = 0; eth->busy = 0;
_pending--; _pending--;
eth->done = 1;
if (_pending == 0) _e_thumb_thumbnailers_kill(); if (_pending == 0) _e_thumb_thumbnailers_kill();
e_icon_file_key_set(obj, icon, "/thumbnail/data"); e_icon_file_key_set(obj, icon, "/thumbnail/data");
evas_object_smart_callback_call(obj, "e_thumb_gen", NULL); evas_object_smart_callback_call(obj, "e_thumb_gen", NULL);