discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=0a368a4b1f8f1db66ed1c5809e495c7368776b99

commit 0a368a4b1f8f1db66ed1c5809e495c7368776b99
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Mar 2 16:55:04 2016 -0500

    theme: add new wireless gadget theme
---
 data/themes/Makefile.am           |   4 +
 data/themes/default.edc           |   1 +
 data/themes/edc/wireless.edc      | 954 ++++++++++++++++++++++++++++++++++++++
 data/themes/img/lock_insecure.png | Bin 0 -> 8014 bytes
 data/themes/img/lock_locked.png   | Bin 0 -> 7054 bytes
 data/themes/img/wifi_shadow.png   | Bin 0 -> 3932 bytes
 6 files changed, 959 insertions(+)

diff --git a/data/themes/Makefile.am b/data/themes/Makefile.am
index 655b55a..1a7627c 100644
--- a/data/themes/Makefile.am
+++ b/data/themes/Makefile.am
@@ -90,6 +90,7 @@ edc/toolbar.edc \
 edc/transitions.edc \
 edc/wallpaper.edc \
 edc/winlist.edc \
+edc/wireless.edc \
 edc/wizard.edc \
 edc/xkbswitch.edc \
 \
@@ -528,6 +529,8 @@ img/led_strobe.png \
 img/led_tiny_blue.png \
 img/led_tiny_green.png \
 img/led_tiny_orange.png \
+img/lock_insecure.png \
+img/lock_locked.png \
 img/logo_blue_bottom.png \
 img/logo_blue_small_glow.png \
 img/logo_blue_small.png \
@@ -662,6 +665,7 @@ img/vgrad_shadow_bi.png \
 img/vgrad_tall.png \
 img/white_bar_vert_glow.png \
 img/wifi_base.png \
+img/wifi_shadow.png \
 img/wifi_sig_1.png \
 img/wifi_sig_2.png \
 img/wifi_sig_3.png \
diff --git a/data/themes/default.edc b/data/themes/default.edc
index 3ef5518..bab92ba 100644
--- a/data/themes/default.edc
+++ b/data/themes/default.edc
@@ -142,6 +142,7 @@ collections {
 #include "edc/illume.edc"
 #include "edc/bluez4.edc"
 #include "edc/packagekit.edc"
+#include "edc/wireless.edc"
 
 // icons
 #include "edc/icons.edc"
diff --git a/data/themes/edc/wireless.edc b/data/themes/edc/wireless.edc
new file mode 100644
index 0000000..6923ffe
--- /dev/null
+++ b/data/themes/edc/wireless.edc
@@ -0,0 +1,954 @@
+group { name: "e/gadget/wireless/ethernet"; nomouse;
+   images.image: "slot_horiz_top.png" COMP;
+   images.image: "slot_horiz_bottom.png" COMP;
+   images.image: "eth.png" COMP;
+   images.image: "exlclam.png" COMP;
+   images.image: "hole_tiny.png" COMP;
+   images.image: "led_tiny_orange.png" COMP;
+   images.image: "led_tiny_green.png" COMP;
+   images.image: "lock_locked.png" COMP;
+   images.image: "lock_insecure.png" COMP;
+
+   script {
+      public message(Msg_Type:type, id, ...) {
+         if ((type == MSG_INT_SET) && (id == 1)) {
+            new state = getarg(2);
+            if ((state == 1)) {
+               set_state(PART:"led", "default", 0.0);
+               run_program(PROGRAM:"connecting");
+               return;
+            }
+            else if ((state == 2)) { set_state(PART:"led", "connected", 0.0); }
+            else if ((state == 3)) { set_state(PART:"led", "online", 0.0); }
+            else { set_state(PART:"led", "default", 0.0); }
+         }
+      }
+   }
+   parts {
+      part { name: "slot_bottom";
+         description { state: "default" 0.0;
+            rel1.to: "slot";
+            rel2.relative: 1.0 0.5;
+            rel2.to: "slot";
+            min: 0 3;
+            image.normal: "slot_horiz_bottom.png";
+            fixed: 0 1;
+         }
+      }
+///////////////////////
+      part { name: "exclam_base";
+         clip_to: "clip_exclam";
+         description { state: "default" 0.0;
+            aspect: (71/144) (71/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "exlclam.png";
+         }
+      }
+///////////////////////
+      part { name: "eth_base";
+         clip_to: "clip_eth";
+         description { state: "default" 0.0;
+            aspect: (60/144) (60/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "eth.png";
+         }
+      }
+      part { name: "slot";
+         description { state: "default" 0.0;
+            rel1.offset: 0 -1;
+            rel1.relative: (21/160) 1.0;
+            rel2.offset: -1 -1;
+            rel2.relative: (140/160) 1.0;
+            align: 0.5 1.0;
+            min: 0 6;
+            image.normal: "slot_horiz_top.png";
+            fixed: 0 1;
+         }
+      }
+      part { name: "hole";
+         description { state: "default" 0.0;
+            rel1.offset: -4 -4;
+            rel1.relative: 1.0 1.0;
+            rel2.offset: -4 -4;
+            align: 1.0 1.0;
+            min: 4 4;
+            max: 4 4;
+            image.normal: "hole_tiny.png";
+            fixed: 1 1;
+         }
+      }
+      part { name: "clip_exclam"; type: RECT;
+         description { state: "default" 0.0;
+            visible: 1;
+         }
+         description { state: "eth" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "clip_eth"; type: RECT;
+         description { state: "default" 0.0;
+            visible: 0;
+         }
+         description { state: "eth" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "led";
+         description { state: "default" 0.0;
+            rel1.to: "hole";
+            rel2.to: "hole";
+            min: 10 10;
+            max: 10 10;
+            image.normal: "led_tiny_orange.png";
+            fixed: 1 1;
+            visible: 0;
+         }
+         description { state: "connected" 0.0;
+            inherit: "default" 0.0;
+            image.normal: "led_tiny_orange.png";
+            visible: 1;
+         }
+         description { state: "online" 0.0;
+            inherit: "default" 0.0;
+            image.normal: "led_tiny_green.png";
+            visible: 1;
+         }
+      }
+      part { name: "event"; type: RECT; mouse;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
+   }
+   
+   programs {
+      program { name: "connecting";
+         action: STATE_SET "connected" 0.0;
+         target: "led";
+         in: 0.3 0.0;
+         after:  "connecting2";
+      }
+      program { name: "connecting2";
+         action: STATE_SET "default" 0.0;
+         target: "led";
+         in: 0.3 0.0;
+         after:  "connecting";
+      }
+      target_group: "clips" "clip_exclam" "clip_eth";
+      program {
+         signal: "e,state,error"; source: "e";
+         action: STATE_SET "default" 0.0;
+         groups: "clips";
+      }
+      program {
+         signal: "e,state,default"; source: "e";
+         action: STATE_SET "eth" 0.0;
+         groups: "clips";
+      }
+   }
+}
+
+group { name: "e/gadget/wireless/wifi"; nomouse;
+   images.image: "slot_horiz_top.png" COMP;
+   images.image: "slot_horiz_bottom.png" COMP;
+   images.image: "wifi_shadow.png" COMP;
+   images.image: "wifi_base.png" COMP;
+   images.image: "wifi_sig_1.png" COMP;
+   images.image: "wifi_sig_2.png" COMP;
+   images.image: "wifi_sig_3.png" COMP;
+   images.image: "exlclam.png" COMP;
+   images.image: "hole_tiny.png" COMP;
+   images.image: "led_tiny_orange.png" COMP;
+   images.image: "led_tiny_green.png" COMP;
+   images.image: "lock_locked.png" COMP;
+   images.image: "lock_insecure.png" COMP;
+
+   script {
+      public message(Msg_Type:type, id, ...) {
+         if ((type == MSG_INT_SET) && (id == 1)) {
+            new state = getarg(2), signl = getarg(3);
+            if (state <= 1) {
+               set_state(PART:"wifi_1", "default", 0.0);
+               set_state(PART:"wifi_2", "default", 0.0);
+               set_state(PART:"wifi_3", "default", 0.0);
+               set_state(PART:"led", "default", 0.0);
+            }
+            if (state == 1) {
+               run_program(PROGRAM:"connecting");
+               run_program(PROGRAM:"connecting_wifi");
+               return;
+            }
+            stop_programs_on(PART:"led");
+            if (signl <= 14) {
+               set_state(PART:"wifi_1", "default", 0.0);
+               set_state(PART:"wifi_2", "default", 0.0);
+               set_state(PART:"wifi_3", "default", 0.0);
+            }
+            else if (signl <= 28) {
+               set_state(PART:"wifi_1", "partly", 0.0);
+               set_state(PART:"wifi_2", "default", 0.0);
+               set_state(PART:"wifi_3", "default", 0.0);
+            }
+            else if (signl <= 42) {
+               set_state(PART:"wifi_1", "visible", 0.0);
+               set_state(PART:"wifi_2", "default", 0.0);
+               set_state(PART:"wifi_3", "default", 0.0);
+            }
+            else if (signl <= 57) {
+               set_state(PART:"wifi_1", "visible", 0.0);
+               set_state(PART:"wifi_2", "partly", 0.0);
+               set_state(PART:"wifi_3", "default", 0.0);
+            }
+            else if (signl <= 71) {
+               set_state(PART:"wifi_1", "visible", 0.0);
+               set_state(PART:"wifi_2", "visible", 0.0);
+               set_state(PART:"wifi_3", "default", 0.0);
+            }
+            else if (signl <= 85) {
+               set_state(PART:"wifi_1", "visible", 0.0);
+               set_state(PART:"wifi_2", "visible", 0.0);
+               set_state(PART:"wifi_3", "partly", 0.0);
+            }
+            else {
+               set_state(PART:"wifi_1", "visible", 0.0);
+               set_state(PART:"wifi_2", "visible", 0.0);
+               set_state(PART:"wifi_3", "visible", 0.0);
+            }
+            if ((state == 2)) { set_state(PART:"led", "connected", 0.0); }
+            else if ((state == 3)) { set_state(PART:"led", "online", 0.0); }
+            else { set_state(PART:"led", "default", 0.0); }
+         }
+      }
+   }
+   parts {
+      part { name: "slot_bottom";
+         description { state: "default" 0.0;
+            rel1.to: "slot";
+            rel2.relative: 1.0 0.5;
+            rel2.to: "slot";
+            min: 0 3;
+            image.normal: "slot_horiz_bottom.png";
+            fixed: 0 1;
+         }
+      }
+///////////////////////
+      part { name: "exclam_base";
+         clip_to: "clip_exclam";
+         description { state: "default" 0.0;
+            aspect: (71/144) (71/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "exlclam.png";
+         }
+      }
+///////////////////////
+      part { name: "wifi_shadow";
+         clip_to: "clip_wifi";
+         description { state: "default" 0.0;
+            aspect: (160/144) (160/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "wifi_shadow.png";
+         }
+      }
+      part { name: "wifi_base";
+         clip_to: "clip_wifi";
+         description { state: "default" 0.0;
+            aspect: (160/144) (160/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "wifi_base.png";
+         }
+      }
+      part { name: "wifi_1";
+         clip_to: "clip_wifi";
+         description { state: "default" 0.0;
+            rel1.to: "wifi_base";
+            rel2.to: "wifi_base";
+            image.normal: "wifi_sig_1.png";
+            visible: 0;
+         }
+         description { state: "partly" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 128;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "wifi_2";
+         clip_to: "clip_wifi";
+         description { state: "default" 0.0;
+            rel1.to: "wifi_base";
+            rel2.to: "wifi_base";
+            image.normal: "wifi_sig_2.png";
+            visible: 0;
+         }
+         description { state: "partly" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 128;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "wifi_3";
+         clip_to: "clip_wifi";
+         description { state: "default" 0.0;
+            rel1.to: "wifi_base";
+            rel2.to: "wifi_base";
+            image.normal: "wifi_sig_3.png";
+            visible: 0;
+         }
+         description { state: "partly" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 128;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "lock";
+         clip_to: "clip_wifi";
+         description { state: "default" 0.0; hid;
+            aspect: (160/144) (160/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "lock_locked.png";
+            link.base: "e,state,unsecured" "e";
+         }
+         desc { "insecure"; inherit; vis;
+            image.normal: "lock_insecure.png";
+            link.base: "e,state,insecure" "e";
+         }
+         desc { "secure"; inherit; vis;
+            link.base: "e,state,secure" "e";
+         }
+      }
+//////////////////////////
+      part { name: "slot";
+         description { state: "default" 0.0;
+            rel1.offset: 0 -1;
+            rel1.relative: (21/160) 1.0;
+            rel2.offset: -1 -1;
+            rel2.relative: (140/160) 1.0;
+            align: 0.5 1.0;
+            min: 0 6;
+            image.normal: "slot_horiz_top.png";
+            fixed: 0 1;
+         }
+      }
+      part { name: "hole";
+         description { state: "default" 0.0;
+            rel1.offset: -4 -4;
+            rel1.relative: 1.0 1.0;
+            rel2.offset: -4 -4;
+            align: 1.0 1.0;
+            min: 4 4;
+            max: 4 4;
+            image.normal: "hole_tiny.png";
+            fixed: 1 1;
+         }
+      }
+      part { name: "clip_exclam"; type: RECT;
+         description { state: "default" 0.0;
+            visible: 1;
+         }
+         description { state: "wifi" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "clip_wifi"; type: RECT;
+         description { state: "default" 0.0;
+            visible: 0;
+         }
+         description { state: "wifi" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "led";
+         description { state: "default" 0.0;
+            rel1.to: "hole";
+            rel2.to: "hole";
+            min: 10 10;
+            max: 10 10;
+            image.normal: "led_tiny_orange.png";
+            fixed: 1 1;
+            visible: 0;
+         }
+         description { state: "connected" 0.0;
+            inherit: "default" 0.0;
+            image.normal: "led_tiny_orange.png";
+            visible: 1;
+         }
+         description { state: "online" 0.0;
+            inherit: "default" 0.0;
+            image.normal: "led_tiny_green.png";
+            visible: 1;
+         }
+      }
+      part { name: "event"; type: RECT; mouse;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
+   }
+   programs {
+      program { "connecting_wifi";
+         action: STATE_SET "default";
+         targets: "wifi_1" "wifi_2" "wifi_3";
+         sequence {
+            action: STATE_SET "partly";
+            target: "wifi_1";
+            transition: LINEAR 0.085;
+            action: STATE_SET "visible";
+            target: "wifi_1";
+            transition: LINEAR 0.085;
+            action: STATE_SET "partly";
+            target: "wifi_2";
+            transition: LINEAR 0.085;
+            action: STATE_SET "visible";
+            target: "wifi_2";
+            transition: LINEAR 0.085;
+            action: STATE_SET "partly";
+            target: "wifi_3";
+            transition: LINEAR 0.085;
+            action: STATE_SET "visible";
+            target: "wifi_3";
+            transition: LINEAR 0.085;
+            after: "connecting_wifi";
+         }
+      }
+      program { "connecting";
+         action: STATE_SET "connected";
+         target: "led";
+         in: 0.3 0.0;
+         sequence {
+             action: STATE_SET "default";
+             target: "led";
+             in: 0.3 0.0;
+             after:  "connecting";
+         }
+      }
+      target_group: "clips" "clip_exclam" "clip_wifi";
+      program {
+         signal: "e,state,error"; source: "e";
+         action: STATE_SET "default" 0.0;
+         groups: "clips";
+      }
+      program {
+         signal: "e,state,default"; source: "e";
+         action: STATE_SET "wifi" 0.0;
+         groups: "clips";
+      }
+   }
+}
+
+group { name: "e/gadget/wireless/bluetooth"; nomouse;
+   images.image: "slot_horiz_top.png" COMP;
+   images.image: "slot_horiz_bottom.png" COMP;
+   images.image: "exlclam.png" COMP;
+   images.image: "hole_tiny.png" COMP;
+   images.image: "led_tiny_orange.png" COMP;
+   images.image: "led_tiny_green.png" COMP;
+   images.image: "bt_base.png" COMP;
+   images.image: "bt_sig_1.png" COMP;
+   images.image: "bt_sig_2.png" COMP;
+   script {
+      public message(Msg_Type:type, id, ...) {
+         if ((type == MSG_INT_SET) && (id == 1)) {
+            new state = getarg(2), signl = getarg(3);
+            if (signl <= 20) {
+               set_state(PART:"bt_1", "default", 0.0);
+               set_state(PART:"bt_2", "default", 0.0);
+            }
+            else if (signl <= 40) {
+               set_state(PART:"bt_1", "partly", 0.0);
+               set_state(PART:"bt_2", "default", 0.0);
+            }
+            else if (signl <= 60) {
+               set_state(PART:"bt_1", "visible", 0.0);
+               set_state(PART:"bt_2", "default", 0.0);
+            }
+            else if (signl <= 80) {
+               set_state(PART:"bt_1", "visible", 0.0);
+               set_state(PART:"bt_2", "partly", 0.0);
+            }
+            else {
+               set_state(PART:"bt_1", "visible", 0.0);
+               set_state(PART:"bt_2", "visible", 0.0);
+            }
+            if ((state == 2)) {
+               set_state(PART:"led", "default", 0.0);
+               run_program(PROGRAM:"connecting");
+               return;
+            }
+            else if ((state == 3)) { return; }
+            else if ((state == 4)) { set_state(PART:"led", "connected", 0.0); }
+            else if ((state == 5)) { set_state(PART:"led", "online", 0.0); }
+            else { set_state(PART:"led", "default", 0.0); }
+         }
+      }
+   }
+   parts {
+      part { name: "slot_bottom";
+         description { state: "default" 0.0;
+            rel1.to: "slot";
+            rel2.relative: 1.0 0.5;
+            rel2.to: "slot";
+            min: 0 3;
+            image.normal: "slot_horiz_bottom.png";
+            fixed: 0 1;
+         }
+      }
+///////////////////////
+      part { name: "exclam_base";
+         clip_to: "clip_exclam";
+         description { state: "default" 0.0;
+            aspect: (71/144) (71/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "exlclam.png";
+         }
+      }
+///////////////////////
+      part { name: "bt_base";
+         clip_to: "clip_bt";
+         description { state: "default" 0.0;
+            aspect: (160/144) (160/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "bt_base.png";
+         }
+      }
+      part { name: "bt_1";
+         clip_to: "clip_bt";
+         description { state: "default" 0.0;
+            rel1.to: "bt_base";
+            rel2.to: "bt_base";
+            image.normal: "bt_sig_1.png";
+            visible: 0;
+         }
+         description { state: "partly" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 128;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "bt_2";
+         clip_to: "clip_bt";
+         description { state: "default" 0.0;
+            rel1.to: "bt_base";
+            rel2.to: "bt_base";
+            image.normal: "bt_sig_2.png";
+            visible: 0;
+         }
+         description { state: "partly" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 128;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+///////////////////////
+      part { name: "slot";
+         description { state: "default" 0.0;
+            rel1.offset: 0 -1;
+            rel1.relative: (21/160) 1.0;
+            rel2.offset: -1 -1;
+            rel2.relative: (140/160) 1.0;
+            align: 0.5 1.0;
+            min: 0 6;
+            image.normal: "slot_horiz_top.png";
+            fixed: 0 1;
+         }
+      }
+      part { name: "hole";
+         description { state: "default" 0.0;
+            rel1.offset: -4 -4;
+            rel1.relative: 1.0 1.0;
+            rel2.offset: -4 -4;
+            align: 1.0 1.0;
+            min: 4 4;
+            max: 4 4;
+            image.normal: "hole_tiny.png";
+            fixed: 1 1;
+         }
+      }
+      part { name: "clip_exclam"; type: RECT;
+         description { state: "default" 0.0;
+            visible: 1;
+         }
+         description { state: "bt" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "clip_bt"; type: RECT;
+         description { state: "default" 0.0;
+            visible: 0;
+         }
+         description { state: "bt" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "led";
+         description { state: "default" 0.0;
+            rel1.to: "hole";
+            rel2.to: "hole";
+            min: 10 10;
+            max: 10 10;
+            image.normal: "led_tiny_orange.png";
+            fixed: 1 1;
+            visible: 0;
+         }
+         description { state: "connected" 0.0;
+            inherit: "default" 0.0;
+            image.normal: "led_tiny_orange.png";
+            visible: 1;
+         }
+         description { state: "online" 0.0;
+            inherit: "default" 0.0;
+            image.normal: "led_tiny_green.png";
+            visible: 1;
+         }
+      }
+      part { name: "event"; type: RECT; mouse;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
+   }
+   programs {
+      program { name: "connecting";
+         action: STATE_SET "connected" 0.0;
+         target: "led";
+         in: 0.3 0.0;
+         after:  "connecting2";
+      }
+      program { name: "connecting2";
+         action: STATE_SET "default" 0.0;
+         target: "led";
+         in: 0.3 0.0;
+         after:  "connecting";
+      }
+      program {
+         signal: "e,state,error"; source: "e";
+         action: STATE_SET "default" 0.0;
+         target: "clip_exclam";
+         target: "clip_bt";
+      }
+      program {
+         signal: "e,state,default"; source: "e";
+         action: STATE_SET "bt" 0.0;
+         target: "clip_exclam";
+         target: "clip_bt";
+      }
+   }
+}
+
+group { name: "e/gadget/wireless/cellular";
+   images.image: "slot_horiz_top.png" COMP;
+   images.image: "slot_horiz_bottom.png" COMP;
+   images.image: "exlclam.png" COMP;
+   images.image: "hole_tiny.png" COMP;
+   images.image: "led_tiny_orange.png" COMP;
+   images.image: "led_tiny_green.png" COMP;
+   images.image: "cell_base.png" COMP;
+   images.image: "cell_sig_1.png" COMP;
+   images.image: "cell_sig_2.png" COMP;
+   images.image: "cell_sig_3.png" COMP;
+   images.image: "cell_sig_4.png" COMP;
+
+   script {
+      public message(Msg_Type:type, id, ...) {
+         if ((type == MSG_INT_SET) && (id == 1)) {
+            new state = getarg(2), signl = getarg(3);
+            if (signl <= 11) {
+               set_state(PART:"cell_1", "default", 0.0);
+               set_state(PART:"cell_2", "default", 0.0);
+               set_state(PART:"cell_3", "default", 0.0);
+               set_state(PART:"cell_4", "default", 0.0);
+            }
+            else if (signl <= 22) {
+               set_state(PART:"cell_1", "partly", 0.0);
+               set_state(PART:"cell_2", "default", 0.0);
+               set_state(PART:"cell_3", "default", 0.0);
+               set_state(PART:"cell_4", "default", 0.0);
+            }
+            else if (signl <= 33) {
+               set_state(PART:"cell_1", "visible", 0.0);
+               set_state(PART:"cell_2", "default", 0.0);
+               set_state(PART:"cell_3", "default", 0.0);
+               set_state(PART:"cell_4", "default", 0.0);
+            }
+            else if (signl <= 44) {
+               set_state(PART:"cell_1", "visible", 0.0);
+               set_state(PART:"cell_2", "partly", 0.0);
+               set_state(PART:"cell_3", "default", 0.0);
+               set_state(PART:"cell_4", "default", 0.0);
+            }
+            else if (signl <= 55) {
+               set_state(PART:"cell_1", "visible", 0.0);
+               set_state(PART:"cell_2", "visible", 0.0);
+               set_state(PART:"cell_3", "default", 0.0);
+               set_state(PART:"cell_4", "default", 0.0);
+            }
+            else if (signl <= 66) {
+               set_state(PART:"cell_1", "visible", 0.0);
+               set_state(PART:"cell_2", "visible", 0.0);
+               set_state(PART:"cell_3", "partly", 0.0);
+               set_state(PART:"cell_4", "default", 0.0);
+            }
+            else if (signl <= 77) {
+               set_state(PART:"cell_1", "visible", 0.0);
+               set_state(PART:"cell_2", "visible", 0.0);
+               set_state(PART:"cell_3", "visible", 0.0);
+               set_state(PART:"cell_4", "default", 0.0);
+            }
+            else if (signl <= 88) {
+               set_state(PART:"cell_1", "visible", 0.0);
+               set_state(PART:"cell_2", "visible", 0.0);
+               set_state(PART:"cell_3", "visible", 0.0);
+               set_state(PART:"cell_4", "partly", 0.0);
+            }
+            else {
+               set_state(PART:"cell_1", "visible", 0.0);
+               set_state(PART:"cell_2", "visible", 0.0);
+               set_state(PART:"cell_3", "visible", 0.0);
+               set_state(PART:"cell_4", "visible", 0.0);
+            }
+            if ((state == 1)) {
+               set_state(PART:"led", "default", 0.0);
+               run_program(PROGRAM:"connecting");
+               return;
+            }
+            else if ((state == 2)) { set_state(PART:"led", "connected", 0.0); }
+            else if ((state == 3)) { set_state(PART:"led", "online", 0.0); }
+            else { set_state(PART:"led", "default", 0.0); }
+         }
+      }
+   }
+   parts {
+      part { name: "slot_bottom"; mouse_events: 0;
+         description { state: "default" 0.0;
+            rel1.to: "slot";
+            rel2.relative: 1.0 0.5;
+            rel2.to: "slot";
+            min: 0 3;
+            image.normal: "slot_horiz_bottom.png";
+            fixed: 0 1;
+         }
+      }
+///////////////////////
+      part { name: "exclam_base"; mouse_events: 0;
+         clip_to: "clip_exclam";
+         description { state: "default" 0.0;
+            aspect: (71/144) (71/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "exlclam.png";
+         }
+      }
+///////////////////////
+      part { name: "cell_base"; mouse_events: 0;
+         clip_to: "clip_cell";
+         description { state: "default" 0.0;
+            aspect: (160/144) (160/144); aspect_preference: BOTH;
+            align: 0.5 1.0;
+            rel2.relative: 1.0 0.5;
+            rel2.to_y: "slot";
+            image.normal: "cell_base.png";
+         }
+      }
+      part { name: "cell_1"; mouse_events: 0;
+         clip_to: "clip_cell";
+         description { state: "default" 0.0;
+            rel1.to: "cell_base";
+            rel2.to: "cell_base";
+            image.normal: "cell_sig_1.png";
+            visible: 0;
+         }
+         description { state: "partly" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 128;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "cell_2"; mouse_events: 0;
+         clip_to: "clip_cell";
+         description { state: "default" 0.0;
+            rel1.to: "cell_base";
+            rel2.to: "cell_base";
+            image.normal: "cell_sig_2.png";
+            visible: 0;
+         }
+         description { state: "partly" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 128;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "cell_3"; mouse_events: 0;
+         clip_to: "clip_cell";
+         description { state: "default" 0.0;
+            rel1.to: "cell_base";
+            rel2.to: "cell_base";
+            image.normal: "cell_sig_3.png";
+            visible: 0;
+         }
+         description { state: "partly" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 128;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "cell_4"; mouse_events: 0;
+         clip_to: "clip_cell";
+         description { state: "default" 0.0;
+            rel1.to: "cell_base";
+            rel2.to: "cell_base";
+            image.normal: "cell_sig_4.png";
+            visible: 0;
+         }
+         description { state: "partly" 0.0;
+            inherit: "default" 0.0;
+            color: 255 255 255 128;
+            visible: 1;
+         }
+         description { state: "visible" 0.0;
+            inherit: "default" 0.0;
+            visible: 1;
+         }
+      }
+///////////////////////
+      part { name: "slot"; mouse_events: 0;
+         description { state: "default" 0.0;
+            rel1.offset: 0 -1;
+            rel1.relative: (21/160) 1.0;
+            rel2.offset: -1 -1;
+            rel2.relative: (140/160) 1.0;
+            align: 0.5 1.0;
+            min: 0 6;
+            image.normal: "slot_horiz_top.png";
+            fixed: 0 1;
+         }
+      }
+      part { name: "hole"; mouse_events: 0;
+         description { state: "default" 0.0;
+            rel1.offset: -4 -4;
+            rel1.relative: 1.0 1.0;
+            rel2.offset: -4 -4;
+            align: 1.0 1.0;
+            min: 4 4;
+            max: 4 4;
+            image.normal: "hole_tiny.png";
+            fixed: 1 1;
+         }
+      }
+      part { name: "clip_exclam"; type: RECT;
+         description { state: "default" 0.0;
+            visible: 1;
+         }
+         description { state: "cell" 0.0;
+            visible: 0;
+         }
+      }
+      part { name: "clip_cell"; type: RECT;
+         description { state: "default" 0.0;
+            visible: 0;
+         }
+         description { state: "cell" 0.0;
+            visible: 1;
+         }
+      }
+      part { name: "led"; mouse_events: 0;
+         description { state: "default" 0.0;
+            rel1.to: "hole";
+            rel2.to: "hole";
+            min: 10 10;
+            max: 10 10;
+            image.normal: "led_tiny_orange.png";
+            fixed: 1 1;
+            visible: 0;
+         }
+         description { state: "connected" 0.0;
+            inherit: "default" 0.0;
+            image.normal: "led_tiny_orange.png";
+            visible: 1;
+         }
+         description { state: "online" 0.0;
+            inherit: "default" 0.0;
+            image.normal: "led_tiny_green.png";
+            visible: 1;
+         }
+      }
+      part { name: "event"; type: RECT;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
+   }
+
+   programs {
+      program { name: "connecting";
+         action: STATE_SET "connected" 0.0;
+         target: "led";
+         in: 0.3 0.0;
+         after:  "connecting2";
+      }
+      program { name: "connecting2";
+         action: STATE_SET "default" 0.0;
+         target: "led";
+         in: 0.3 0.0;
+         after:  "connecting";
+      }
+      program {
+         signal: "e,state,error"; source: "e";
+         action: STATE_SET "default" 0.0;
+         target: "clip_exclam";
+         target: "clip_cell";
+      }
+      program {
+         signal: "e,state,default"; source: "e";
+         action: STATE_SET "cell" 0.0;
+         target: "clip_exclam";
+         target: "clip_cell";
+      }
+   }
+}
diff --git a/data/themes/img/lock_insecure.png 
b/data/themes/img/lock_insecure.png
new file mode 100644
index 0000000..ddafaf7
Binary files /dev/null and b/data/themes/img/lock_insecure.png differ
diff --git a/data/themes/img/lock_locked.png b/data/themes/img/lock_locked.png
new file mode 100644
index 0000000..91d3ad8
Binary files /dev/null and b/data/themes/img/lock_locked.png differ
diff --git a/data/themes/img/wifi_shadow.png b/data/themes/img/wifi_shadow.png
new file mode 100644
index 0000000..b1dc20f
Binary files /dev/null and b/data/themes/img/wifi_shadow.png differ

-- 


Reply via email to