diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am
index bf4be83fe..c4a508c97 100644
--- a/data/themes/Makefile.am
+++ b/data/themes/Makefile.am
@@ -56,7 +56,8 @@ default_shelf.edc \
default_preview.edc \
default_cslider.edc \
default_spectrum.edc \
-default_color_well.edc
+default_color_well.edc \
+default_sys.edc
default.edj: Makefile $(EXTRA_DIST)
$(EDJE_CC) $(EDJE_FLAGS) \
diff --git a/data/themes/default.edc b/data/themes/default.edc
index 5bd1dce2a..51ad5dbea 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -74,5 +74,6 @@ collections {
#include "default_cslider.edc"
#include "default_spectrum.edc"
#include "default_color_well.edc"
+#include "default_sys.edc"
}
diff --git a/data/themes/default_sys.edc b/data/themes/default_sys.edc
new file mode 100644
index 000000000..1021f5878
--- /dev/null
+++ b/data/themes/default_sys.edc
@@ -0,0 +1,1210 @@
+images {
+ image: "e17_menu_bg_border.png" COMP;
+ image: "e17_dialog_watermark.png" COMP;
+
+ image: "e17_logo_small.png" COMP;
+ image: "e17_logo_small_p1.png" COMP;
+ image: "e17_logo_small_p2.png" COMP;
+ image: "e17_logo_small_p3.png" COMP;
+ image: "e17_logo_small_p4.png" COMP;
+ image: "e17_logo_small_p5.png" COMP;
+ image: "e17_logo_small_p6.png" COMP;
+ image: "e17_logo_small_p7.png" COMP;
+ image: "e17_logo_small_p8.png" COMP;
+ image: "e17_logo_small_p9.png" COMP;
+ image: "e17_logo_small_p21.png" COMP;
+ image: "e17_logo_small_p22.png" COMP;
+ image: "e17_logo_small_p23.png" COMP;
+ image: "e17_logo_small_p24.png" COMP;
+ image: "e17_logo_small_p25.png" COMP;
+ image: "e17_logo_small_p26.png" COMP;
+ image: "e17_logo_small_p27.png" COMP;
+ image: "e17_logo_small_p28.png" COMP;
+ image: "e17_logo_small_p29.png" COMP;
+}
+
+styles
+{
+ style {
+ name: "sys_style";
+ base: "font=Edje-Vera-Bold font_size=16 text_class=tb_large align=center color=#fff style=soft_shadow shadow_color=#0002 wrap=word";
+
+ tag: "br" "\n";
+ tag: "hilight" "+ font=Edje-Vera-Bold text_class=tb_large_light style=glow color=#fff glow2_color=#fe87 glow_color=#fa14";
+ }
+}
+
+group {
+ name: "e/sys/logout";
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 1 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color: 221 221 221 255;
+ }
+ }
+ part {
+ name: "base2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 200 138;
+ max: 200 138;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_dialog_watermark.png";
+ }
+ }
+ }
+ part {
+ name: "base3";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_menu_bg_border.png";
+ border: 1 1 1 1;
+ middle: 0;
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ }
+ part {
+ name: "e.textblock.message";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_y: "logo";
+ relative: 0.0 1.0;
+ offset: 8 8;
+ }
+ rel2 {
+ offset: -9 -9;
+ }
+ text {
+ style: "sys_style";
+ min: 1 1;
+ }
+ }
+ }
+ part {
+ name: "logo";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ min: 128 128;
+ max: 128 128;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 8 8;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -9 8;
+ }
+ image {
+ normal: "e17_logo_small.png";
+ }
+ }
+ }
+#define PT(_name, _p1, _p2, _p3, _p4) \
+ part { \
+ name: _name; \
+ mouse_events: 0; \
+ description { \
+ state: "default" 0.0; \
+ visible: 0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ image { \
+ normal: "e17_logo_small_"_name".png"; \
+ } \
+ color: 255 255 255 0; \
+ } \
+ description { \
+ state: "active" 0.0; \
+ inherit: "default" 0.0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ visible: 1; \
+ color: 255 255 255 255; \
+ } \
+ }
+ PT("p1", 0.1328125, 0.1640625, 0.3359375, 0.3593750);
+ PT("p2", 0.1953125, 0.1093750, 0.3906250, 0.3125000);
+ PT("p3", 0.2656250, 0.0625000, 0.4531250, 0.2734375);
+ PT("p4", 0.3359375, 0.0312500, 0.5234375, 0.2500000);
+ PT("p5", 0.4062500, 0.0234375, 0.5937500, 0.2421875);
+ PT("p6", 0.4765625, 0.0312500, 0.6640625, 0.2500000);
+ PT("p7", 0.5468750, 0.0625000, 0.7343750, 0.2734375);
+ PT("p8", 0.6093750, 0.1093750, 0.8046875, 0.3125000);
+ PT("p9", 0.6640625, 0.1640625, 0.8671875, 0.3593750);
+
+ PT("p21", 0.1328125, 0.6406250, 0.3359375, 0.8359375);
+ PT("p22", 0.1953125, 0.6875000, 0.3906250, 0.8906250);
+ PT("p23", 0.2656250, 0.7265625, 0.4531250, 0.9375000);
+ PT("p24", 0.3359375, 0.7500000, 0.5234375, 0.9687500);
+ PT("p25", 0.4062500, 0.7578125, 0.5937500, 0.9765625);
+ PT("p26", 0.4765625, 0.7500000, 0.6640625, 0.9687500);
+ PT("p27", 0.5468750, 0.7265625, 0.7343750, 0.9375000);
+ PT("p28", 0.6093750, 0.6875000, 0.8046875, 0.8906250);
+ PT("p29", 0.6640625, 0.6406250, 0.8671875, 0.8359375);
+
+ }
+ programs {
+ program {
+ name: "init";
+ signal: "show";
+ source: "";
+ after: "go_active_pre";
+ }
+ program {
+ name: "go_active_pre";
+ action: STATE_SET "default" 0.0;
+ target: "logo";
+ after: "go_active1";
+ after: "go_active2";
+ after: "go_active3";
+ after: "go_active4";
+ after: "go_active5";
+ after: "go_active6";
+ after: "go_active7";
+ after: "go_active8";
+ after: "go_active9";
+ after: "go_active21";
+ after: "go_active22";
+ after: "go_active23";
+ after: "go_active24";
+ after: "go_active25";
+ after: "go_active26";
+ after: "go_active27";
+ after: "go_active28";
+ after: "go_active29";
+ }
+#define PR(_name, _delay, _part) \
+ program { \
+ name: "go_active"_name; \
+ in: _delay 0.0; \
+ after: "go_activeb"_name; \
+ } \
+ program { \
+ name: "go_activeb"_name; \
+ action: STATE_SET "active" 0.0; \
+ target: _part; \
+ transition: LINEAR 0.5; \
+ after: "go_activec"_name; \
+ } \
+ program { \
+ name: "go_activec"_name; \
+ action: STATE_SET "default" 0.0; \
+ target: _part; \
+ transition: LINEAR 1.2; \
+ after: "go_activeb"_name; \
+ }
+ PR("1", 0.0, "p1");
+ PR("2", 0.2, "p2");
+ PR("3", 0.4, "p3");
+ PR("4", 0.6, "p4");
+ PR("5", 0.8, "p5");
+ PR("6", 1.0, "p6");
+ PR("7", 1.2, "p7");
+ PR("8", 1.4, "p8");
+ PR("9", 1.6, "p9");
+ PR("21", 1.6, "p21");
+ PR("22", 1.4, "p22");
+ PR("23", 1.2, "p23");
+ PR("24", 1.0, "p24");
+ PR("25", 0.8, "p25");
+ PR("26", 0.6, "p26");
+ PR("27", 0.4, "p27");
+ PR("28", 0.2, "p28");
+ PR("29", 0.0, "p29");
+ }
+}
+
+group {
+ name: "e/sys/halt";
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 1 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color: 221 221 221 255;
+ }
+ }
+ part {
+ name: "base2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 200 138;
+ max: 200 138;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_dialog_watermark.png";
+ }
+ }
+ }
+ part {
+ name: "base3";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_menu_bg_border.png";
+ border: 1 1 1 1;
+ middle: 0;
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ }
+ part {
+ name: "e.textblock.message";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_y: "logo";
+ relative: 0.0 1.0;
+ offset: 8 8;
+ }
+ rel2 {
+ offset: -9 -9;
+ }
+ text {
+ style: "sys_style";
+ min: 1 1;
+ }
+ }
+ }
+ part {
+ name: "logo";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ min: 128 128;
+ max: 128 128;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 8 8;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -9 8;
+ }
+ image {
+ normal: "e17_logo_small.png";
+ }
+ }
+ }
+#define PT(_name, _p1, _p2, _p3, _p4) \
+ part { \
+ name: _name; \
+ mouse_events: 0; \
+ description { \
+ state: "default" 0.0; \
+ visible: 0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ image { \
+ normal: "e17_logo_small_"_name".png"; \
+ } \
+ color: 255 255 255 0; \
+ } \
+ description { \
+ state: "active" 0.0; \
+ inherit: "default" 0.0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ visible: 1; \
+ color: 255 255 255 255; \
+ } \
+ }
+ PT("p1", 0.1328125, 0.1640625, 0.3359375, 0.3593750);
+ PT("p2", 0.1953125, 0.1093750, 0.3906250, 0.3125000);
+ PT("p3", 0.2656250, 0.0625000, 0.4531250, 0.2734375);
+ PT("p4", 0.3359375, 0.0312500, 0.5234375, 0.2500000);
+ PT("p5", 0.4062500, 0.0234375, 0.5937500, 0.2421875);
+ PT("p6", 0.4765625, 0.0312500, 0.6640625, 0.2500000);
+ PT("p7", 0.5468750, 0.0625000, 0.7343750, 0.2734375);
+ PT("p8", 0.6093750, 0.1093750, 0.8046875, 0.3125000);
+ PT("p9", 0.6640625, 0.1640625, 0.8671875, 0.3593750);
+
+ PT("p21", 0.1328125, 0.6406250, 0.3359375, 0.8359375);
+ PT("p22", 0.1953125, 0.6875000, 0.3906250, 0.8906250);
+ PT("p23", 0.2656250, 0.7265625, 0.4531250, 0.9375000);
+ PT("p24", 0.3359375, 0.7500000, 0.5234375, 0.9687500);
+ PT("p25", 0.4062500, 0.7578125, 0.5937500, 0.9765625);
+ PT("p26", 0.4765625, 0.7500000, 0.6640625, 0.9687500);
+ PT("p27", 0.5468750, 0.7265625, 0.7343750, 0.9375000);
+ PT("p28", 0.6093750, 0.6875000, 0.8046875, 0.8906250);
+ PT("p29", 0.6640625, 0.6406250, 0.8671875, 0.8359375);
+
+ }
+ programs {
+ program {
+ name: "init";
+ signal: "show";
+ source: "";
+ after: "go_active_pre";
+ }
+ program {
+ name: "go_active_pre";
+ action: STATE_SET "default" 0.0;
+ target: "logo";
+ after: "go_active1";
+ after: "go_active2";
+ after: "go_active3";
+ after: "go_active4";
+ after: "go_active5";
+ after: "go_active6";
+ after: "go_active7";
+ after: "go_active8";
+ after: "go_active9";
+ after: "go_active21";
+ after: "go_active22";
+ after: "go_active23";
+ after: "go_active24";
+ after: "go_active25";
+ after: "go_active26";
+ after: "go_active27";
+ after: "go_active28";
+ after: "go_active29";
+ }
+#define PR(_name, _delay, _part) \
+ program { \
+ name: "go_active"_name; \
+ in: _delay 0.0; \
+ after: "go_activeb"_name; \
+ } \
+ program { \
+ name: "go_activeb"_name; \
+ action: STATE_SET "active" 0.0; \
+ target: _part; \
+ transition: LINEAR 0.5; \
+ after: "go_activec"_name; \
+ } \
+ program { \
+ name: "go_activec"_name; \
+ action: STATE_SET "default" 0.0; \
+ target: _part; \
+ transition: LINEAR 1.2; \
+ after: "go_activeb"_name; \
+ }
+ PR("1", 0.0, "p1");
+ PR("2", 0.2, "p2");
+ PR("3", 0.4, "p3");
+ PR("4", 0.6, "p4");
+ PR("5", 0.8, "p5");
+ PR("6", 1.0, "p6");
+ PR("7", 1.2, "p7");
+ PR("8", 1.4, "p8");
+ PR("9", 1.6, "p9");
+ PR("21", 1.6, "p21");
+ PR("22", 1.4, "p22");
+ PR("23", 1.2, "p23");
+ PR("24", 1.0, "p24");
+ PR("25", 0.8, "p25");
+ PR("26", 0.6, "p26");
+ PR("27", 0.4, "p27");
+ PR("28", 0.2, "p28");
+ PR("29", 0.0, "p29");
+ }
+}
+
+group {
+ name: "e/sys/reboot";
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 1 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color: 221 221 221 255;
+ }
+ }
+ part {
+ name: "base2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 200 138;
+ max: 200 138;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_dialog_watermark.png";
+ }
+ }
+ }
+ part {
+ name: "base3";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_menu_bg_border.png";
+ border: 1 1 1 1;
+ middle: 0;
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ }
+ part {
+ name: "e.textblock.message";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_y: "logo";
+ relative: 0.0 1.0;
+ offset: 8 8;
+ }
+ rel2 {
+ offset: -9 -9;
+ }
+ text {
+ style: "sys_style";
+ min: 1 1;
+ }
+ }
+ }
+ part {
+ name: "logo";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ min: 128 128;
+ max: 128 128;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 8 8;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -9 8;
+ }
+ image {
+ normal: "e17_logo_small.png";
+ }
+ }
+ }
+#define PT(_name, _p1, _p2, _p3, _p4) \
+ part { \
+ name: _name; \
+ mouse_events: 0; \
+ description { \
+ state: "default" 0.0; \
+ visible: 0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ image { \
+ normal: "e17_logo_small_"_name".png"; \
+ } \
+ color: 255 255 255 0; \
+ } \
+ description { \
+ state: "active" 0.0; \
+ inherit: "default" 0.0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ visible: 1; \
+ color: 255 255 255 255; \
+ } \
+ }
+ PT("p1", 0.1328125, 0.1640625, 0.3359375, 0.3593750);
+ PT("p2", 0.1953125, 0.1093750, 0.3906250, 0.3125000);
+ PT("p3", 0.2656250, 0.0625000, 0.4531250, 0.2734375);
+ PT("p4", 0.3359375, 0.0312500, 0.5234375, 0.2500000);
+ PT("p5", 0.4062500, 0.0234375, 0.5937500, 0.2421875);
+ PT("p6", 0.4765625, 0.0312500, 0.6640625, 0.2500000);
+ PT("p7", 0.5468750, 0.0625000, 0.7343750, 0.2734375);
+ PT("p8", 0.6093750, 0.1093750, 0.8046875, 0.3125000);
+ PT("p9", 0.6640625, 0.1640625, 0.8671875, 0.3593750);
+
+ PT("p21", 0.1328125, 0.6406250, 0.3359375, 0.8359375);
+ PT("p22", 0.1953125, 0.6875000, 0.3906250, 0.8906250);
+ PT("p23", 0.2656250, 0.7265625, 0.4531250, 0.9375000);
+ PT("p24", 0.3359375, 0.7500000, 0.5234375, 0.9687500);
+ PT("p25", 0.4062500, 0.7578125, 0.5937500, 0.9765625);
+ PT("p26", 0.4765625, 0.7500000, 0.6640625, 0.9687500);
+ PT("p27", 0.5468750, 0.7265625, 0.7343750, 0.9375000);
+ PT("p28", 0.6093750, 0.6875000, 0.8046875, 0.8906250);
+ PT("p29", 0.6640625, 0.6406250, 0.8671875, 0.8359375);
+
+ }
+ programs {
+ program {
+ name: "init";
+ signal: "show";
+ source: "";
+ after: "go_active_pre";
+ }
+ program {
+ name: "go_active_pre";
+ action: STATE_SET "default" 0.0;
+ target: "logo";
+ after: "go_active1";
+ after: "go_active2";
+ after: "go_active3";
+ after: "go_active4";
+ after: "go_active5";
+ after: "go_active6";
+ after: "go_active7";
+ after: "go_active8";
+ after: "go_active9";
+ after: "go_active21";
+ after: "go_active22";
+ after: "go_active23";
+ after: "go_active24";
+ after: "go_active25";
+ after: "go_active26";
+ after: "go_active27";
+ after: "go_active28";
+ after: "go_active29";
+ }
+#define PR(_name, _delay, _part) \
+ program { \
+ name: "go_active"_name; \
+ in: _delay 0.0; \
+ after: "go_activeb"_name; \
+ } \
+ program { \
+ name: "go_activeb"_name; \
+ action: STATE_SET "active" 0.0; \
+ target: _part; \
+ transition: LINEAR 0.5; \
+ after: "go_activec"_name; \
+ } \
+ program { \
+ name: "go_activec"_name; \
+ action: STATE_SET "default" 0.0; \
+ target: _part; \
+ transition: LINEAR 1.2; \
+ after: "go_activeb"_name; \
+ }
+ PR("1", 0.0, "p1");
+ PR("2", 0.2, "p2");
+ PR("3", 0.4, "p3");
+ PR("4", 0.6, "p4");
+ PR("5", 0.8, "p5");
+ PR("6", 1.0, "p6");
+ PR("7", 1.2, "p7");
+ PR("8", 1.4, "p8");
+ PR("9", 1.6, "p9");
+ PR("21", 1.6, "p21");
+ PR("22", 1.4, "p22");
+ PR("23", 1.2, "p23");
+ PR("24", 1.0, "p24");
+ PR("25", 0.8, "p25");
+ PR("26", 0.6, "p26");
+ PR("27", 0.4, "p27");
+ PR("28", 0.2, "p28");
+ PR("29", 0.0, "p29");
+ }
+}
+
+group {
+ name: "e/sys/suspend";
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 1 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color: 221 221 221 255;
+ }
+ }
+ part {
+ name: "base2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 200 138;
+ max: 200 138;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_dialog_watermark.png";
+ }
+ }
+ }
+ part {
+ name: "base3";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_menu_bg_border.png";
+ border: 1 1 1 1;
+ middle: 0;
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ }
+ part {
+ name: "e.textblock.message";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_y: "logo";
+ relative: 0.0 1.0;
+ offset: 8 8;
+ }
+ rel2 {
+ offset: -9 -9;
+ }
+ text {
+ style: "sys_style";
+ min: 1 1;
+ }
+ }
+ }
+ part {
+ name: "logo";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ min: 128 128;
+ max: 128 128;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 8 8;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -9 8;
+ }
+ image {
+ normal: "e17_logo_small.png";
+ }
+ }
+ }
+#define PT(_name, _p1, _p2, _p3, _p4) \
+ part { \
+ name: _name; \
+ mouse_events: 0; \
+ description { \
+ state: "default" 0.0; \
+ visible: 0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ image { \
+ normal: "e17_logo_small_"_name".png"; \
+ } \
+ color: 255 255 255 0; \
+ } \
+ description { \
+ state: "active" 0.0; \
+ inherit: "default" 0.0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ visible: 1; \
+ color: 255 255 255 255; \
+ } \
+ }
+ PT("p1", 0.1328125, 0.1640625, 0.3359375, 0.3593750);
+ PT("p2", 0.1953125, 0.1093750, 0.3906250, 0.3125000);
+ PT("p3", 0.2656250, 0.0625000, 0.4531250, 0.2734375);
+ PT("p4", 0.3359375, 0.0312500, 0.5234375, 0.2500000);
+ PT("p5", 0.4062500, 0.0234375, 0.5937500, 0.2421875);
+ PT("p6", 0.4765625, 0.0312500, 0.6640625, 0.2500000);
+ PT("p7", 0.5468750, 0.0625000, 0.7343750, 0.2734375);
+ PT("p8", 0.6093750, 0.1093750, 0.8046875, 0.3125000);
+ PT("p9", 0.6640625, 0.1640625, 0.8671875, 0.3593750);
+
+ PT("p21", 0.1328125, 0.6406250, 0.3359375, 0.8359375);
+ PT("p22", 0.1953125, 0.6875000, 0.3906250, 0.8906250);
+ PT("p23", 0.2656250, 0.7265625, 0.4531250, 0.9375000);
+ PT("p24", 0.3359375, 0.7500000, 0.5234375, 0.9687500);
+ PT("p25", 0.4062500, 0.7578125, 0.5937500, 0.9765625);
+ PT("p26", 0.4765625, 0.7500000, 0.6640625, 0.9687500);
+ PT("p27", 0.5468750, 0.7265625, 0.7343750, 0.9375000);
+ PT("p28", 0.6093750, 0.6875000, 0.8046875, 0.8906250);
+ PT("p29", 0.6640625, 0.6406250, 0.8671875, 0.8359375);
+
+ }
+ programs {
+ program {
+ name: "init";
+ signal: "show";
+ source: "";
+ after: "go_active_pre";
+ }
+ program {
+ name: "go_active_pre";
+ action: STATE_SET "default" 0.0;
+ target: "logo";
+ after: "go_active1";
+ after: "go_active2";
+ after: "go_active3";
+ after: "go_active4";
+ after: "go_active5";
+ after: "go_active6";
+ after: "go_active7";
+ after: "go_active8";
+ after: "go_active9";
+ after: "go_active21";
+ after: "go_active22";
+ after: "go_active23";
+ after: "go_active24";
+ after: "go_active25";
+ after: "go_active26";
+ after: "go_active27";
+ after: "go_active28";
+ after: "go_active29";
+ }
+#define PR(_name, _delay, _part) \
+ program { \
+ name: "go_active"_name; \
+ in: _delay 0.0; \
+ after: "go_activeb"_name; \
+ } \
+ program { \
+ name: "go_activeb"_name; \
+ action: STATE_SET "active" 0.0; \
+ target: _part; \
+ transition: LINEAR 0.5; \
+ after: "go_activec"_name; \
+ } \
+ program { \
+ name: "go_activec"_name; \
+ action: STATE_SET "default" 0.0; \
+ target: _part; \
+ transition: LINEAR 1.2; \
+ after: "go_activeb"_name; \
+ }
+ PR("1", 0.0, "p1");
+ PR("2", 0.2, "p2");
+ PR("3", 0.4, "p3");
+ PR("4", 0.6, "p4");
+ PR("5", 0.8, "p5");
+ PR("6", 1.0, "p6");
+ PR("7", 1.2, "p7");
+ PR("8", 1.4, "p8");
+ PR("9", 1.6, "p9");
+ PR("21", 1.6, "p21");
+ PR("22", 1.4, "p22");
+ PR("23", 1.2, "p23");
+ PR("24", 1.0, "p24");
+ PR("25", 0.8, "p25");
+ PR("26", 0.6, "p26");
+ PR("27", 0.4, "p27");
+ PR("28", 0.2, "p28");
+ PR("29", 0.0, "p29");
+ }
+}
+
+group {
+ name: "e/sys/hibernate";
+ parts {
+ part {
+ name: "base";
+ mouse_events: 0;
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 1 1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -2 -2;
+ }
+ color: 221 221 221 255;
+ }
+ }
+ part {
+ name: "base2";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 200 138;
+ max: 200 138;
+ align: 1.0 1.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_dialog_watermark.png";
+ }
+ }
+ }
+ part {
+ name: "base3";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1 -1;
+ }
+ image {
+ normal: "e17_menu_bg_border.png";
+ border: 1 1 1 1;
+ middle: 0;
+ }
+ fill {
+ smooth: 0;
+ }
+ }
+ }
+ part {
+ name: "e.textblock.message";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ to_y: "logo";
+ relative: 0.0 1.0;
+ offset: 8 8;
+ }
+ rel2 {
+ offset: -9 -9;
+ }
+ text {
+ style: "sys_style";
+ min: 1 1;
+ }
+ }
+ }
+ part {
+ name: "logo";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ aspect_preference: BOTH;
+ min: 128 128;
+ max: 128 128;
+ align: 0.5 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ offset: 8 8;
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: -9 8;
+ }
+ image {
+ normal: "e17_logo_small.png";
+ }
+ }
+ }
+#define PT(_name, _p1, _p2, _p3, _p4) \
+ part { \
+ name: _name; \
+ mouse_events: 0; \
+ description { \
+ state: "default" 0.0; \
+ visible: 0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ image { \
+ normal: "e17_logo_small_"_name".png"; \
+ } \
+ color: 255 255 255 0; \
+ } \
+ description { \
+ state: "active" 0.0; \
+ inherit: "default" 0.0; \
+ rel1 { \
+ to: "logo"; \
+ relative: _p1 _p2; \
+ } \
+ rel2 { \
+ to: "logo"; \
+ relative: _p3 _p4; \
+ } \
+ visible: 1; \
+ color: 255 255 255 255; \
+ } \
+ }
+ PT("p1", 0.1328125, 0.1640625, 0.3359375, 0.3593750);
+ PT("p2", 0.1953125, 0.1093750, 0.3906250, 0.3125000);
+ PT("p3", 0.2656250, 0.0625000, 0.4531250, 0.2734375);
+ PT("p4", 0.3359375, 0.0312500, 0.5234375, 0.2500000);
+ PT("p5", 0.4062500, 0.0234375, 0.5937500, 0.2421875);
+ PT("p6", 0.4765625, 0.0312500, 0.6640625, 0.2500000);
+ PT("p7", 0.5468750, 0.0625000, 0.7343750, 0.2734375);
+ PT("p8", 0.6093750, 0.1093750, 0.8046875, 0.3125000);
+ PT("p9", 0.6640625, 0.1640625, 0.8671875, 0.3593750);
+
+ PT("p21", 0.1328125, 0.6406250, 0.3359375, 0.8359375);
+ PT("p22", 0.1953125, 0.6875000, 0.3906250, 0.8906250);
+ PT("p23", 0.2656250, 0.7265625, 0.4531250, 0.9375000);
+ PT("p24", 0.3359375, 0.7500000, 0.5234375, 0.9687500);
+ PT("p25", 0.4062500, 0.7578125, 0.5937500, 0.9765625);
+ PT("p26", 0.4765625, 0.7500000, 0.6640625, 0.9687500);
+ PT("p27", 0.5468750, 0.7265625, 0.7343750, 0.9375000);
+ PT("p28", 0.6093750, 0.6875000, 0.8046875, 0.8906250);
+ PT("p29", 0.6640625, 0.6406250, 0.8671875, 0.8359375);
+
+ }
+ programs {
+ program {
+ name: "init";
+ signal: "show";
+ source: "";
+ after: "go_active_pre";
+ }
+ program {
+ name: "go_active_pre";
+ action: STATE_SET "default" 0.0;
+ target: "logo";
+ after: "go_active1";
+ after: "go_active2";
+ after: "go_active3";
+ after: "go_active4";
+ after: "go_active5";
+ after: "go_active6";
+ after: "go_active7";
+ after: "go_active8";
+ after: "go_active9";
+ after: "go_active21";
+ after: "go_active22";
+ after: "go_active23";
+ after: "go_active24";
+ after: "go_active25";
+ after: "go_active26";
+ after: "go_active27";
+ after: "go_active28";
+ after: "go_active29";
+ }
+#define PR(_name, _delay, _part) \
+ program { \
+ name: "go_active"_name; \
+ in: _delay 0.0; \
+ after: "go_activeb"_name; \
+ } \
+ program { \
+ name: "go_activeb"_name; \
+ action: STATE_SET "active" 0.0; \
+ target: _part; \
+ transition: LINEAR 0.5; \
+ after: "go_activec"_name; \
+ } \
+ program { \
+ name: "go_activec"_name; \
+ action: STATE_SET "default" 0.0; \
+ target: _part; \
+ transition: LINEAR 1.2; \
+ after: "go_activeb"_name; \
+ }
+ PR("1", 0.0, "p1");
+ PR("2", 0.2, "p2");
+ PR("3", 0.4, "p3");
+ PR("4", 0.6, "p4");
+ PR("5", 0.8, "p5");
+ PR("6", 1.0, "p6");
+ PR("7", 1.2, "p7");
+ PR("8", 1.4, "p8");
+ PR("9", 1.6, "p9");
+ PR("21", 1.6, "p21");
+ PR("22", 1.4, "p22");
+ PR("23", 1.2, "p23");
+ PR("24", 1.0, "p24");
+ PR("25", 0.8, "p25");
+ PR("26", 0.6, "p26");
+ PR("27", 0.4, "p27");
+ PR("28", 0.2, "p28");
+ PR("29", 0.0, "p29");
+ }
+}
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index eb452913c..74881010d 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -171,6 +171,7 @@ e_int_config_wallpaper_gradient.h \
e_color_dialog.h \
e_fdo_menu_to_order.h \
e_sys.h \
+e_obj_dialog.h \
e_int_config_transitions.h
enlightenment_src = \
@@ -317,6 +318,7 @@ e_color_dialog.c \
e_fdo_menu_to_order.c \
e_sys.c \
e_int_config_transitions.c \
+e_obj_dialog.c \
$(ENLIGHTENMENTHEADERS)
enlightenment_SOURCES = \
diff --git a/src/bin/e_about.h b/src/bin/e_about.h
index f73404ff9..1fc76ce1a 100644
--- a/src/bin/e_about.h
+++ b/src/bin/e_about.h
@@ -9,7 +9,7 @@ typedef struct _E_About E_About;
#ifndef E_ABOUT_H
#define E_ABOUT_H
-#define E_ABOUT_TYPE 0xE0b01013
+#define E_ABOUT_TYPE 0xE0b0101a
struct _E_About
{
diff --git a/src/bin/e_color_dialog.h b/src/bin/e_color_dialog.h
index 5616ccf7a..0311f0bf2 100644
--- a/src/bin/e_color_dialog.h
+++ b/src/bin/e_color_dialog.h
@@ -9,7 +9,7 @@ typedef struct _E_Color_Dialog E_Color_Dialog;
#ifndef E_COLOR_DIALOG_H
#define E_COLOR_DIALOG_H
-#define E_COLOR_DIALOG_TYPE 0xE0b01026
+#define E_COLOR_DIALOG_TYPE 0xE0b0101c
struct _E_Color_Dialog
{
diff --git a/src/bin/e_entry_dialog.h b/src/bin/e_entry_dialog.h
index f6603d9ed..222493839 100644
--- a/src/bin/e_entry_dialog.h
+++ b/src/bin/e_entry_dialog.h
@@ -9,7 +9,7 @@ typedef struct _E_Entry_Dialog E_Entry_Dialog;
#ifndef E_ENTRY_DIALOG_H
#define E_ENTRY_DIALOG_H
-#define E_ENTRY_DIALOG_TYPE 0xE0b01025
+#define E_ENTRY_DIALOG_TYPE 0xE0b0101d
struct _E_Entry_Dialog
{
diff --git a/src/bin/e_file_dialog.h b/src/bin/e_file_dialog.h
index 855d4c6e9..4cd99f531 100644
--- a/src/bin/e_file_dialog.h
+++ b/src/bin/e_file_dialog.h
@@ -9,7 +9,7 @@ typedef struct _E_File_Dialog E_File_Dialog;
#ifndef E_FILE_DIALOG_H
#define E_FILE_DIALOG_H
-#define E_FILE_DIALOG_TYPE 0xE0b01020
+#define E_FILE_DIALOG_TYPE 0xE0b0101f
struct _E_File_Dialog
{
diff --git a/src/bin/e_gadcon.h b/src/bin/e_gadcon.h
index 7c4d8e184..51ed49573 100644
--- a/src/bin/e_gadcon.h
+++ b/src/bin/e_gadcon.h
@@ -40,8 +40,8 @@ typedef struct _E_Gadcon_Client_Class E_Gadcon_Client_Class;
#ifndef E_GADCON_H
#define E_GADCON_H
-#define E_GADCON_TYPE 0xE0b01022
-#define E_GADCON_CLIENT_TYPE 0xE0b01023
+#define E_GADCON_TYPE 0xE0b01006
+#define E_GADCON_CLIENT_TYPE 0xE0b01007
struct _E_Gadcon
{
diff --git a/src/bin/e_includes.h b/src/bin/e_includes.h
index d9a6075e5..3bfdaae21 100644
--- a/src/bin/e_includes.h
+++ b/src/bin/e_includes.h
@@ -146,3 +146,4 @@
#include "e_fdo_menu_to_order.h"
#include "e_sys.h"
#include "e_int_config_transitions.h"
+#include "e_obj_dialog.h"
diff --git a/src/bin/e_obj_dialog.c b/src/bin/e_obj_dialog.c
new file mode 100644
index 000000000..721720878
--- /dev/null
+++ b/src/bin/e_obj_dialog.c
@@ -0,0 +1,129 @@
+/*
+ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ */
+#include "e.h"
+
+/* local subsystem functions */
+static void _e_obj_dialog_free(E_Obj_Dialog *od);
+static void _e_obj_dialog_cb_delete(E_Win *win);
+static void _e_obj_dialog_cb_close(void *data, Evas_Object *obj, const char *emission, const char *source);
+
+/* local subsystem globals */
+
+/* externally accessible functions */
+
+EAPI E_Obj_Dialog *
+e_obj_dialog_new(E_Container *con, char *title, char *class_name, char *class_class)
+{
+ E_Obj_Dialog *od;
+ E_Manager *man;
+ Evas_Object *o;
+
+ if (!con)
+ {
+ man = e_manager_current_get();
+ if (!man) return NULL;
+ con = e_container_current_get(man);
+ if (!con) con = e_container_number_get(man, 0);
+ if (!con) return NULL;
+ }
+ od = E_OBJECT_ALLOC(E_Obj_Dialog, E_OBJ_DIALOG_TYPE, _e_obj_dialog_free);
+ if (!od) return NULL;
+ od->win = e_win_new(con);
+ if (!od->win)
+ {
+ free(od);
+ return NULL;
+ }
+ e_win_delete_callback_set(od->win, _e_obj_dialog_cb_delete);
+ od->win->data = od;
+ e_win_dialog_set(od->win, 1);
+ e_win_name_class_set(od->win, class_name, class_class);
+ e_win_title_set(od->win, title);
+
+ o = edje_object_add(e_win_evas_get(od->win));
+ od->bg_object = o;
+
+ e_win_centered_set(od->win, 1);
+
+ return od;
+}
+
+EAPI void
+e_obj_dialog_icon_set(E_Obj_Dialog *od, char *icon)
+{
+ E_OBJECT_CHECK(od);
+ E_OBJECT_TYPE_CHECK(od, E_OBJ_DIALOG_TYPE);
+ if (od->win->border->internal_icon)
+ {
+ evas_stringshare_del(od->win->border->internal_icon);
+ od->win->border->internal_icon = NULL;
+ }
+ if (icon)
+ od->win->border->internal_icon = evas_stringshare_add(icon);
+}
+
+EAPI void
+e_obj_dialog_show(E_Obj_Dialog *od)
+{
+ Evas_Coord mw, mh, w, h;
+
+ E_OBJECT_CHECK(od);
+ E_OBJECT_TYPE_CHECK(od, E_OBJ_DIALOG_TYPE);
+
+ edje_object_size_min_calc(od->bg_object, &mw, &mh);
+ evas_object_resize(od->bg_object, mw, mh);
+ e_win_resize(od->win, mw, mh);
+ e_win_size_min_set(od->win, mw, mh);
+ e_win_size_max_set(od->win, mw, mh);
+
+ e_win_show(od->win);
+}
+
+EAPI void
+e_obj_dialog_obj_part_text_set(E_Obj_Dialog *od, char *part, char *text)
+{
+ E_OBJECT_CHECK(od);
+ E_OBJECT_TYPE_CHECK(od, E_OBJ_DIALOG_TYPE);
+ edje_object_part_text_set(od->bg_object, part, text);
+}
+
+EAPI void
+e_obj_dialog_obj_theme_set(E_Obj_Dialog *od, char *theme_cat, char *theme_obj)
+{
+ E_OBJECT_CHECK(od);
+ E_OBJECT_TYPE_CHECK(od, E_OBJ_DIALOG_TYPE);
+
+ e_theme_edje_object_set(od->bg_object, theme_cat, theme_obj);
+ evas_object_move(od->bg_object, 0, 0);
+ evas_object_show(od->bg_object);
+ edje_object_signal_callback_add(od->bg_object, "e,action,close", "",
+ _e_obj_dialog_cb_close, od);
+}
+
+/* local subsystem functions */
+static void
+_e_obj_dialog_free(E_Obj_Dialog *od)
+{
+ if (od->bg_object) evas_object_del(od->bg_object);
+ e_object_del(E_OBJECT(od->win));
+ free(od);
+}
+
+static void
+_e_obj_dialog_cb_delete(E_Win *win)
+{
+ E_Obj_Dialog *od;
+
+ od = win->data;
+ e_object_del(E_OBJECT(od));
+}
+
+static void
+_e_obj_dialog_cb_close(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ E_Obj_Dialog *od;
+
+ od = data;
+ e_object_del(E_OBJECT(od));
+}
diff --git a/src/bin/e_obj_dialog.h b/src/bin/e_obj_dialog.h
new file mode 100644
index 000000000..9f6728f89
--- /dev/null
+++ b/src/bin/e_obj_dialog.h
@@ -0,0 +1,30 @@
+/*
+ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ */
+#ifdef E_TYPEDEFS
+
+typedef struct _E_Obj_Dialog E_Obj_Dialog;
+
+#else
+#ifndef E_OBJ_DIALOG_H
+#define E_OBJ_DIALOG_H
+
+#define E_OBJ_DIALOG_TYPE 0xE0b0101b
+
+struct _E_Obj_Dialog
+{
+ E_Object e_obj_inherit;
+
+ E_Win *win;
+ Evas_Object *bg_object;
+ void *data;
+};
+
+EAPI E_Obj_Dialog *e_obj_dialog_new(E_Container *con, char *title, char *class_name, char *class_class);
+EAPI void e_obj_dialog_icon_set(E_Obj_Dialog *od, char *icon);
+EAPI void e_obj_dialog_show(E_Obj_Dialog *od);
+EAPI void e_obj_dialog_obj_part_text_set(E_Obj_Dialog *od, char *part, char *text);
+EAPI void e_obj_dialog_obj_theme_set(E_Obj_Dialog *od, char *theme_cat, char *theme_obj);
+
+#endif
+#endif
diff --git a/src/bin/e_shelf.h b/src/bin/e_shelf.h
index 091563599..66cbdea98 100644
--- a/src/bin/e_shelf.h
+++ b/src/bin/e_shelf.h
@@ -9,7 +9,7 @@ typedef struct _E_Shelf E_Shelf;
#ifndef E_SHELF_H
#define E_SHELF_H
-#define E_SHELF_TYPE 0xE0b01024
+#define E_SHELF_TYPE 0xE0b0101e
struct _E_Shelf
{
diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c
index 427ec129f..3ff002781 100644
--- a/src/bin/e_sys.c
+++ b/src/bin/e_sys.c
@@ -30,6 +30,7 @@ static E_Sys_Action _e_sys_action_after = E_SYS_NONE;
static Ecore_Exe *_e_sys_exe = NULL;
static double _e_sys_logout_begin_time = 0.0;
static Ecore_Timer *_e_sys_logout_timer = NULL;
+static E_Obj_Dialog *_e_sys_dialog = NULL;
/* externally accessible functions */
EAPI int
@@ -134,11 +135,18 @@ _e_sys_cb_exit(void *data, int type, void *event)
if ((_e_sys_exe) && (ev->exe == _e_sys_exe))
{
if (ev->exit_code != 0) _e_sys_action_failed();
+ if (((_e_sys_action_current != E_SYS_HALT) &&
+ (_e_sys_action_current != E_SYS_REBOOT)) ||
+ (ev->exit_code != 0))
+ {
+ if (_e_sys_dialog)
+ {
+ e_object_del(E_OBJECT(_e_sys_dialog));
+ _e_sys_dialog = NULL;
+ }
+ }
_e_sys_action_current = E_SYS_NONE;
_e_sys_exe = NULL;
- /* if we have a suspend or hibernate status popup/dialog - close it
- * here as we have finished suspend/hibernate (and probably just
- * came back out of suspend/hibernate */
return 1;
}
if ((_e_sys_halt_check_exe) && (ev->exe == _e_sys_halt_check_exe))
@@ -212,6 +220,11 @@ _e_sys_cb_logout_abort(void *data, E_Dialog *dia)
e_object_del(E_OBJECT(dia));
_e_sys_action_current = E_SYS_NONE;
_e_sys_action_after = E_SYS_NONE;
+ if (_e_sys_dialog)
+ {
+ e_object_del(E_OBJECT(_e_sys_dialog));
+ _e_sys_dialog = NULL;
+ }
}
static int
@@ -255,7 +268,7 @@ _e_sys_cb_logout_timer(void *data)
e_dialog_button_focus_num(dia, 1);
e_win_centered_set(dia->win, 1);
e_dialog_show(dia);
- _e_sys_logout_begin_time = ecore_time_get() + (60 * 60 * 24 * 365);
+ _e_sys_logout_begin_time = 0.0;
}
_e_sys_logout_timer = NULL;
return 0;
@@ -271,8 +284,13 @@ _e_sys_cb_logout_timer(void *data)
static void
_e_sys_logout_after(void)
{
+ if (_e_sys_dialog)
+ {
+ e_object_del(E_OBJECT(_e_sys_dialog));
+ _e_sys_dialog = NULL;
+ }
+ _e_sys_action_current = _e_sys_action_after;
_e_sys_action_do(_e_sys_action_after, NULL);
- _e_sys_action_current = E_SYS_NONE;
_e_sys_action_after = E_SYS_NONE;
}
@@ -280,14 +298,20 @@ static void
_e_sys_logout_begin(E_Sys_Action a_after)
{
Evas_List *l;
+ E_Obj_Dialog *od;
/* start logout - at end do the a_after action */
+ od = e_obj_dialog_new(e_container_current_get(e_manager_current_get()),
+ _("Logout in progress"), "E", "_sys_logout");
+ e_obj_dialog_obj_theme_set(od, "base/theme/sys", "e/sys/logout");
+ e_obj_dialog_obj_part_text_set(od, "e.textblock.message",
+ _("Logout is currently in progress.
"
+ "Please wait."));
+ e_obj_dialog_show(od);
+ e_obj_dialog_icon_set(od, "enlightenment/logout");
+ if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog));
+ _e_sys_dialog = od;
_e_sys_action_after = a_after;
- /* FIXME: go through to every window and if it wants delete req - ask
- * it to delete, otherwise just close it. set handler for window
- * deletes, and once all windows are deleted - exit, OR if a timer
- * expires - pop up dialog saying something is not responding
- */
for (l = e_border_client_list(); l; l = l->next)
{
E_Border *bd;
@@ -410,6 +434,7 @@ static int
_e_sys_action_do(E_Sys_Action a, char *param)
{
char buf[4096];
+ E_Obj_Dialog *od;
switch (a)
{
@@ -439,6 +464,16 @@ _e_sys_action_do(E_Sys_Action a, char *param)
else
{
_e_sys_exe = ecore_exe_run(buf, NULL);
+ od = e_obj_dialog_new(e_container_current_get(e_manager_current_get()),
+ _("Shutting down"), "E", "_sys_halt");
+ e_obj_dialog_obj_theme_set(od, "base/theme/sys", "e/sys/halt");
+ e_obj_dialog_obj_part_text_set(od, "e.textblock.message",
+ _("Shutting down your Computer.
"
+ "Please wait."));
+ e_obj_dialog_show(od);
+ e_obj_dialog_icon_set(od, "enlightenment/logout");
+ if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog));
+ _e_sys_dialog = od;
/* FIXME: display halt status */
}
break;
@@ -455,6 +490,16 @@ _e_sys_action_do(E_Sys_Action a, char *param)
else
{
_e_sys_exe = ecore_exe_run(buf, NULL);
+ od = e_obj_dialog_new(e_container_current_get(e_manager_current_get()),
+ _("Rebooting"), "E", "_sys_reboot");
+ e_obj_dialog_obj_theme_set(od, "base/theme/sys", "e/sys/reboot");
+ e_obj_dialog_obj_part_text_set(od, "e.textblock.message",
+ _("Rebooting your Computer.
"
+ "Please wait."));
+ e_obj_dialog_show(od);
+ e_obj_dialog_icon_set(od, "enlightenment/logout");
+ if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog));
+ _e_sys_dialog = od;
/* FIXME: display reboot status */
}
break;
@@ -470,6 +515,16 @@ _e_sys_action_do(E_Sys_Action a, char *param)
else
{
_e_sys_exe = ecore_exe_run(buf, NULL);
+ od = e_obj_dialog_new(e_container_current_get(e_manager_current_get()),
+ _("Suspending"), "E", "_sys_suspend");
+ e_obj_dialog_obj_theme_set(od, "base/theme/sys", "e/sys/suspend");
+ e_obj_dialog_obj_part_text_set(od, "e.textblock.message",
+ _("Suspending your Computer.
"
+ "Please wait."));
+ e_obj_dialog_show(od);
+ e_obj_dialog_icon_set(od, "enlightenment/logout");
+ if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog));
+ _e_sys_dialog = od;
/* FIXME: display suspend status */
}
break;
@@ -485,6 +540,16 @@ _e_sys_action_do(E_Sys_Action a, char *param)
else
{
_e_sys_exe = ecore_exe_run(buf, NULL);
+ od = e_obj_dialog_new(e_container_current_get(e_manager_current_get()),
+ _("Hibernating"), "E", "_sys_hibernate");
+ e_obj_dialog_obj_theme_set(od, "base/theme/sys", "e/sys/hibernate");
+ e_obj_dialog_obj_part_text_set(od, "e.textblock.message",
+ _("Hibernating your Computer.
"
+ "Please wait."));
+ e_obj_dialog_show(od);
+ e_obj_dialog_icon_set(od, "enlightenment/logout");
+ if (_e_sys_dialog) e_object_del(E_OBJECT(_e_sys_dialog));
+ _e_sys_dialog = od;
/* FIXME: display hibernate status */
}
break;