From 9a28058961d0e5b985daff7cdff64e416583cb5c Mon Sep 17 00:00:00 2001 From: Davide Andreoli Date: Wed, 25 Mar 2009 00:14:58 +0000 Subject: [PATCH] Make the file manager progress look black and white SVN revision: 39703 --- data/themes/default.edc | 223 +++++++++++++++++------------------ src/modules/fileman/e_fwin.c | 50 +++++--- 2 files changed, 142 insertions(+), 131 deletions(-) diff --git a/data/themes/default.edc b/data/themes/default.edc index 2e8cd7bc2..1531b260c 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -11262,54 +11262,84 @@ collections { /* begin the collection of edje groups that are in this file */ } } group { name: "e/fileman/default/progress"; - min: 200 70; + min: 250 40; parts { part { name: "bg"; - type: RECT; + type: IMAGE; mouse_events: 0; description { state: "default" 0.0; - rel1.offset: 3 3; - rel2.offset: -4 -4; - color: 100 100 100 200; + image.normal: "bt_dis_base.png"; + image.border: 5 5 5 5; } description { state: "need_attention" 0.0; - rel1.offset: 3 3; - rel2.offset: -4 -4; - color: 150 0 0 200; + inherit: "default" 0.0; + color: 200 0 0 150; + } + } + part { name: "shadow"; + type: IMAGE; + mouse_events: 0; + description { state: "default" 0.0; + image.normal: "bt_dis_shine.png"; + image.border: 5 5 5 5; + } + } + part { name: "icon"; + mouse_events: 0; + scale: 1; + description { state: "default" 0.0; + min: 32 32; + max: 32 32; + align: 0.02 0.5; + image.normal: "icon_efm_dnd_ask.png"; + } + description { state: "copy" 0.0; + inherit: "default" 0.0; + image.normal: "icon_efm_dnd_copy.png"; + } + description { state: "move" 0.0; + inherit: "default" 0.0; + image.normal: "icon_efm_dnd_move.png"; } } part { name: "gauge_bg"; - type: RECT; + type: IMAGE; + scale: 1; mouse_events: 0; description { state: "default" 0.0; - rel1.to: "bg"; - rel1.offset: 5 5; + rel1.to: "icon"; + rel1.relative: 1.0 0.60; rel2.to: "bg"; - rel2.relative: 0.0 1.0; - rel2.offset: 15 -7; - color: 155 155 155 200; + rel2.relative: 1.0 1.0; + rel2.offset: -4 -5; + image.normal: "inset_sunk.png"; + image.border: 6 6 6 6; + } + } + part { name: "gauge_confine"; + type: RECT; + scale: 1; + mouse_events: 0; + description { state: "default" 0.0; + rel1.to: "gauge_bg"; + rel1.offset: 1 1; + rel2.to: "gauge_bg"; + rel2.offset: -2 -2; + color: 0 255 0 0; } } part { name: "e.gauge.bar"; mouse_events: 0; + scale: 1; type: RECT; description { state: "default" 0.0; - min: 10 0; - max: 10 110; - color: 255 255 255 255; - rel1 { - to: "gauge_bg"; - offset: 2 2; - } - rel2 { - to: "gauge_bg"; - offset: -3 -3; - } + min: 0 0; + color: 55 55 55 100; } dragable { - x: 0 0 0; - y: -1 1 0; - confine:"gauge_bg"; + x: 1 1 0; + y: 0 0 0; + confine:"gauge_confine"; } } part { name: "e.text.label1"; @@ -11317,115 +11347,80 @@ collections { /* begin the collection of edje groups that are in this file */ mouse_events: 0; scale: 1; description { state: "default" 0.0; - align: 0.5 0.0; - rel1.to: "gauge_bg"; + rel1.to: "icon"; rel1.relative: 1.0 0.0; - rel1.offset: 5 0; rel2.to: "bg"; + rel2.relative: 1.0 0.6; color: 0 0 0 255; text { font: "Sans"; size: 10; - min: 1 0; - align: 0.0 0.0; - text_class: "fileman_icon"; - } - } - } - part { name: "e.text.label2"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { state: "default" 0.0; - align: 0.5 0.0; - rel1.to: "gauge_bg"; - rel1.relative: 1.0 0.2; - rel1.offset: 5 0; - rel2.to: "bg"; - color: 0 0 0 255; - text { - font: "Sans"; - size: 10; - min: 1 0; - align: 0.0 0.0; - text_class: "fileman_icon"; - } - } - } - part { name: "e.text.label3"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { state: "default" 0.0; - align: 0.5 0.0; - rel1.to: "gauge_bg"; - rel1.relative: 1.0 0.4; - rel1.offset: 5 0; - rel2.to: "bg"; - color: 0 0 0 255; - text { - font: "Sans"; - size: 10; - min: 1 0; - align: 0.0 0.0; - text_class: "fileman_icon"; - } - } - } - part { name: "e.text.label4"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { state: "default" 0.0; - align: 0.5 0.0; - rel1.to: "gauge_bg"; - rel1.relative: 1.0 0.6; - rel1.offset: 5 0; - rel2.to: "bg"; - color: 0 0 0 255; - text { - font: "Sans"; - size: 10; - min: 1 0; - align: 0.0 0.0; - text_class: "fileman_icon"; - } - } - } - part { name: "e.text.label5"; - type: TEXT; - mouse_events: 0; - scale: 1; - description { state: "default" 0.0; - align: 0.5 0.0; - rel1.to: "gauge_bg"; - rel1.relative: 1.0 0.8; - rel1.offset: 5 0; - rel2.to: "bg"; - color: 0 0 0 255; - text { - font: "Sans"; - size: 10; - min: 1 0; - align: 0.0 0.0; + align: 0.0 0.5; text_class: "fileman_icon"; } } } + //~ part { name: "e.text.label2"; + //~ type: TEXT; + //~ mouse_events: 0; + //~ scale: 1; + //~ description { state: "default" 0.0; + //~ align: 0.5 0.0; + //~ rel1.to: "e.text.label1"; + //~ rel1.relative: 0.0 1.3; + //~ //rel1.offset: 5 0; + //~ rel2.to: "e.text.label1"; + //~ rel2.relative: 1.0 3.0; + //~ color: 0 0 0 255; + //~ text { + //~ font: "Sans"; + //~ size: 9; + //~ min: 1 0; + //~ align: 0.0 1.0; + //~ } + //~ } + //~ } } programs { program { name: "set_need_attention"; signal: "e,action,set,need_attention"; source: "e"; action: STATE_SET "need_attention" 0.0; + transition: SINUSOIDAL 1.0; target: "bg"; + after: "need_loop"; + } + program { name: "need_loop"; + action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 1.0; + target: "bg"; + after: "set_need_attention"; } program { name: "set_normal"; signal: "e,action,set,normal"; source: "e"; action: STATE_SET "default" 0.0; + transition: SINUSOIDAL 1.0; target: "bg"; } + program { name: "set_icon_unknow"; + signal: "e,action,icon,unknow"; + source: "e"; + action: STATE_SET "default" 0.0; + target: "icon"; + } + program { name: "set_icon_copy"; + signal: "e,action,icon,copy"; + source: "e"; + action: STATE_SET "copy" 0.0; + target: "icon"; + } + program { name: "set_icon_move"; + signal: "e,action,icon,move"; + source: "e"; + action: STATE_SET "move" 0.0; + target: "icon"; + } } } group { name: "e/fileman/default/scrollframe"; @@ -11940,7 +11935,7 @@ collections { /* begin the collection of edje groups that are in this file */ rel2.relative: 0.0 0.0; box { layout: "vertical"; - padding: 0 2; + padding: 0 0; align: 1.0 1.0; } } diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c index 718119db7..15753e803 100644 --- a/src/modules/fileman/e_fwin.c +++ b/src/modules/fileman/e_fwin.c @@ -325,31 +325,45 @@ _e_fwin_op_registry_listener_cb(void *data, const E_Fm2_Op_Registry_Entry *ere) { Evas_Object *o = data; char buf[PATH_MAX]; - char *dir; + char *done, *total; // Update element - edje_object_part_drag_size_set(o, "e.gauge.bar", 0.0, ((double)(ere->percent)) / 100); + edje_object_part_drag_size_set(o, "e.gauge.bar", ((double)(ere->percent)) / 100, 1.0); - snprintf(buf, sizeof(buf), "Progress from slave #%d", ere->id); + done = e_util_size_string_get(ere->done); + total = e_util_size_string_get(ere->total); + switch (ere->op) + { + case E_FM_OP_COPY: + edje_object_signal_emit(o, "e,action,icon,copy", "e"); + if (ere->finished) + snprintf(buf, sizeof(buf), "Copy of %s complete", total, done); + else + snprintf(buf, sizeof(buf), "Copying %s (done %s)", total, done); + break; + case E_FM_OP_MOVE: + edje_object_signal_emit(o, "e,action,icon,move", "e"); + snprintf(buf, sizeof(buf), "Moving %s (done %s)", total, done); + break; + case E_FM_OP_REMOVE: + edje_object_signal_emit(o, "e,action,icon,delete", "e"); + snprintf(buf, sizeof(buf), "Deleting %s (done %s)", total, done); + break; + default: + edje_object_signal_emit(o, "e,action,icon,unknow", "e"); + snprintf(buf, sizeof(buf), "Unknow operation :/ (slave #%d)", ere->id); + break; + } + edje_object_part_text_set(o, "e.text.label1", buf); - snprintf(buf, sizeof(buf), _("Done %ld / %ld byte"), ere->done, ere->total); - edje_object_part_text_set(o, "e.text.label2", buf); - if (!ere->finished) - snprintf(buf, sizeof(buf), _("Done %d%% - left ?? sec"), ere->percent); - else - snprintf(buf, sizeof(buf), _("Complete")); - edje_object_part_text_set(o, "e.text.label3", buf); - edje_object_part_text_set(o, "e.text.label4", ecore_file_file_get(ere->src)); - //~ dir = ecore_file_dir_get(ere->dst); - //~ edje_object_part_text_set(o, "e.text.label5", dir); - //~ E_FREE(dir); if (ere->needs_attention) edje_object_signal_emit(o, "e,action,set,need_attention", "e"); else edje_object_signal_emit(o, "e,action,set,normal", "e"); - //evas_object_raise(fwin->box_obj); //TODO use layer?? + E_FREE(done); + E_FREE(total); } void _e_fwin_op_registry_free_data(void *data) @@ -365,10 +379,12 @@ _e_fwin_op_registry_entry_add_cb(void *data, int type, void *event) Evas_Object *o; int mw, mh; + if (!(ere->op == E_FM_OP_COPY || ere->op == E_FM_OP_MOVE)) + return ECORE_CALLBACK_RENEW; + o = edje_object_add(e_win_evas_get(fwin->win)); e_theme_edje_object_set(o, "base/theme/fileman", "e/fileman/default/progress"); - evas_object_data_set(o, "e_fwin_ere", ere); edje_object_size_min_get(o, &mw, &mh); evas_object_resize(o, mw * e_scale, mh * e_scale); //evas_object_event_callback_add(o, EVAS_CALLBACK_CHANGED_SIZE_HINTS, @@ -378,7 +394,7 @@ _e_fwin_op_registry_entry_add_cb(void *data, int type, void *event) // Append the element to the box edje_object_part_box_append(e_scrollframe_edje_object_get(fwin->scrollframe_obj), "e.box.operations", o); - evas_object_size_hint_align_set(o, 1.0, 0.0); //FIXME this should be theme-configurable + evas_object_size_hint_align_set(o, 1.0, 1.0); //FIXME this should be theme-configurable //Listen to progress changes e_fm2_op_registry_entry_listener_add(ere, _e_fwin_op_registry_listener_cb,