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 {
name: "icon_swallow";
type: SWALLOW;
name: "icon_box_shadow";
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;
description {
state: "default" 0.0;
align: 0.0 0.5;
aspect: 1.0 1.0;
aspect_preference: VERTICAL;
// fixed: 1 1;
visible: 0;
rel1 {
relative: 0.0 0.0;
offset: 4 4;
@ -156,6 +242,60 @@ group {
relative: 0.0 1.0;
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 {
@ -167,7 +307,7 @@ group {
state: "default" 0.0;
min: 16 16;
rel1 {
to_x: "icon_swallow";
to_x: "icon0";
relative: 1.0 0.0;
offset: 4 4;
}
@ -467,6 +607,59 @@ group {
target: "title_bar";
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 {
name: "icon_swallow";
type: SWALLOW;
name: "icon_box_shadow";
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;
description {
state: "default" 0.0;
align: 0.0 0.5;
aspect: 1.0 1.0;
aspect_preference: VERTICAL;
// fixed: 1 1;
visible: 0;
rel1 {
relative: 0.0 0.0;
offset: 4 4;
@ -623,6 +902,60 @@ group {
relative: 0.0 1.0;
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 {
@ -634,7 +967,7 @@ group {
state: "default" 0.0;
min: 16 16;
rel1 {
to_x: "icon_swallow";
to_x: "icon0";
relative: 1.0 0.0;
offset: 4 4;
}
@ -934,6 +1267,59 @@ group {
target: "title_bar";
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 {
name: "icon_swallow";
type: SWALLOW;
name: "icon_box_shadow";
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;
description {
state: "default" 0.0;
align: 0.0 0.5;
aspect: 1.0 1.0;
aspect_preference: VERTICAL;
// fixed: 1 1;
visible: 0;
rel1 {
relative: 0.0 0.0;
offset: 4 4;
@ -1090,6 +1562,60 @@ group {
relative: 0.0 1.0;
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 {
@ -1101,7 +1627,7 @@ group {
state: "default" 0.0;
min: 16 16;
rel1 {
to_x: "icon_swallow";
to_x: "icon0";
relative: 1.0 0.0;
offset: 4 4;
}
@ -1401,6 +1927,59 @@ group {
target: "title_bar";
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 {
name: "icon_swallow";
type: SWALLOW;
name: "icon_box_shadow";
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;
description {
state: "default" 0.0;
align: 0.0 0.5;
aspect: 1.0 1.0;
aspect_preference: VERTICAL;
// fixed: 1 1;
visible: 0;
rel1 {
relative: 0.0 0.0;
offset: 4 4;
@ -1557,6 +2222,60 @@ group {
relative: 0.0 1.0;
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 {
@ -1568,7 +2287,7 @@ group {
state: "default" 0.0;
min: 16 16;
rel1 {
to_x: "icon_swallow";
to_x: "icon0";
relative: 1.0 0.0;
offset: 4 4;
}
@ -1868,6 +2587,59 @@ group {
target: "title_bar";
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);
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);
else
{
@ -1631,7 +1632,24 @@ _e_fm2_cb_icon_thumb_gen(void *data, Evas_Object *obj, void *event_info)
E_Fm2_Icon *ic;
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

View File

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