elm theme: Add volume control theme to "e/widgets/border/default/border"
authorMichaël Bouchaud (yoz) <yoz@efl.so>
Sat, 15 Oct 2016 12:02:17 +0000 (14:02 +0200)
committerMichaël Bouchaud (yoz) <yoz@efl.so>
Thu, 27 Oct 2016 20:20:44 +0000 (22:20 +0200)
data/elementary/themes/edc/border.edc

index f200d7b..8aea5de 100644 (file)
@@ -1,3 +1,113 @@
+group { name: "e/widgets/border/volume";
+   parts {
+      part { name: "base";
+         type: RECT;
+         description { state: "default" 0.0;
+            color: 255 255 255 0;
+         }
+      }
+      part { name: "clip";
+         type: RECT;
+         description { state: "default" 0.0;
+            rel1.to: "e.swallow.volume";
+            rel1.relative: -1.0 0.0;
+            rel2.to: "e.swallow.volume";
+            rel2.relative: 0.0 1.0;
+            color: 255 255 255 255;
+         }
+         description { state: "show" 0.0;
+            rel1.to: "e.swallow.volume";
+            rel1.relative: 0.0 0.0;
+            rel2.to: "e.swallow.volume";
+            rel2.relative: 1.0 1.0;
+         }
+      }
+      part { name: "e.swallow.volume_icon";
+         type: SWALLOW;
+         description { state: "default" 0.0;
+            rel1.to: "base";
+            rel1.relative: 0.15 0.15;
+            rel2.to: "base";
+            rel2.relative: 0.85 0.85;
+         }
+      }
+      part { name: "e.swallow.volume";
+         type: SWALLOW;
+         clip_to: "clip";
+         description { state: "default" 0.0;
+            fixed: 1 0;
+            rel1.relative: 1.0 0.0;
+            rel1.offset: 1 0;
+            rel1.to_x: "e.swallow.volume_icon";
+            rel2.relative: 1.0 1.0;
+            rel2.offset: 1 -1;
+            rel2.to: "e.swallow.volume_icon";
+            align: 0.0 0.5;
+         }
+      }
+      part { name: "event";
+         type: RECT;
+         repeat_events: 1;
+         description { state: "default" 0.0;
+            rel1.to: "base";
+            rel2.to: "base";
+            color: 255 255 255 0;
+         }
+         description { state: "large" 0.0;
+            inherit: "default" 0.0;
+            rel2.to: "e.swallow.volume";
+            rel2.offset: 0 0;
+         }
+      }
+      programs {
+         program {
+            signal: "mouse,in";
+            source: "event";
+            action: ACTION_STOP;
+            target: "hide_volume1";
+            target: "hide_volume2";
+            after: "show_volume1";
+         }
+         program {
+            name: "show_volume1";
+            action: STATE_SET "large" 0.0;
+            target: "event";
+            after: "show_volume2";
+         }
+         program {
+            name: "show_volume2";
+            action: STATE_SET "show" 0.0;
+            transition: SIN 0.25;
+            target: "clip";
+         }
+
+         program {
+            name: "hide_volume";
+            signal: "mouse,out";
+            source: "event";
+            action: ACTION_STOP;
+            target: "show_volume1";
+            target: "show_volume2";
+            after: "hide_volume1";
+         }
+         program {
+            name: "hide_volume1";
+            action: STATE_SET "default" 0.0;
+            transition: SIN 0.25;
+            target: "clip";
+            after: "hide_volume2";
+         }
+         program {
+            name: "hide_volume2";
+            action: STATE_SET "default" 0.0;
+            target: "event";
+         }
+      }
+   }
+}
+
+
+
 group { name: "e/widgets/border/default/border";
    alias: "e/widgets/border/shaped/border";
    images.image: "vgrad_med_lighter.png" COMP;
@@ -97,13 +207,14 @@ group { name: "e/widgets/border/default/border";
             fill.smooth: 0;
          }
       }
+
       part { name: "e.text.title"; type: TEXT; mouse_events: 0;
          scale: 1;
          effect: SHADOW BOTTOM;
          description { state: "default" 0.0;
             rel1.relative: 1.0 0.0;
             rel1.offset: 1 3;
-            rel1.to_x: "e.event.icon";
+            rel1.to_x: "e.swallow.volume";
             rel2.relative: 0.0 0.0;
             rel2.offset: -2 3;
             rel2.to_x: "e.event.minimize";
@@ -128,7 +239,7 @@ group { name: "e/widgets/border/default/border";
          description { state: "default" 0.0;
             rel1.relative: 1.0 0.0;
             rel1.offset: 1 2;
-            rel1.to_x: "e.event.icon";
+            rel1.to_x: "e.swallow.volume";
             rel2.relative: 0.0 0.0;
             rel2.offset: -1 2;
             rel2.to_x: "e.event.minimize";
@@ -534,6 +645,21 @@ group { name: "e/widgets/border/default/border";
             FIXED_SIZE(69, 5)
          }
       }
+     part { name: "e.swallow.volume";
+         type: SWALLOW;
+         source: "e/widgets/border/volume";
+         description { state: "default" 0.0;
+            fixed: 1 0;
+            rel1.to: "e.event.icon";
+            rel1.relative: 1.0 0.0;
+            rel2.to: "e.event.icon";
+            rel2.relative: 1.0 1.0;
+            rel2.offset: 0 -1;
+            align: 0.0 0.5;
+            aspect: 1.0 1.0; aspect_preference: VERTICAL;
+         }
+      }
+
    }
    programs {
       program {