elementary: fix clip in the progressbar theme
[framework/uifw/elementary.git] / data / themes / default.edc
index c6700e1..52ecaa2 100644 (file)
@@ -1397,7 +1397,7 @@ collections {
       data.item: "max_font_size" "60";
       styles {
          style { name: "textblock_style";
-            base: "font=Sans font_size=10 color=#000 wrap=word text_class=label";
+            base: "font=Sans font_size=10 color=#000 text_class=label";
             tag:  "br" "\n";
             tag:  "ps" "ps";
             tag:  "hilight" "+ font=Sans:style=Bold";
@@ -1429,62 +1429,6 @@ collections {
                rel2.relative: 1.0 1.0;
                text {
                   style: "textblock_style";
-                  min: 1 1;
-               }
-            }
-         }
-      }
-   }
-
-   group { name: "elm/label/base_wrap/default";
-      data.item: "default_font_size" "10";
-      data.item: "min_font_size" "6";
-      data.item: "max_font_size" "60";
-      parts {
-         part { name: "label.swallow.background";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               visible: 1;
-               rel1 { relative: 0 0; to: "elm.text"; }
-               rel2 { relative: 1 1; to: "elm.text"; }
-            }
-         }
-         part { name: "elm.text";
-            type: TEXTBLOCK;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               text {
-                  style: "textblock_style";
-                  min: 0 1;
-               }
-            }
-         }
-      }
-   }
-
-   group { name: "elm/label/base_wrap_ellipsis/default";
-      data.item: "default_font_size" "10";
-      data.item: "min_font_size" "6";
-      data.item: "max_font_size" "60";
-      parts {
-         part { name: "label.swallow.background";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               visible: 1;
-               rel1 { relative: 0 0; to: "elm.text"; }
-               rel2 { relative: 1 1; to: "elm.text"; }
-            }
-         }
-         part { name: "elm.text";
-            type: TEXTBLOCK;
-            mouse_events: 0;
-            scale: 1;
-            multiline: 1;
-            description { state: "default" 0.0;
-               fixed: 0 1;
-               text {
-                  style: "textblock_style";
                   min: 0 1;
                }
             }
@@ -1529,33 +1473,6 @@ collections {
       }
    }
 
-   group { name: "elm/label/base_wrap/marker";
-      data.item: "default_font_size" "10";
-      data.item: "min_font_size" "6";
-      data.item: "max_font_size" "60";
-      parts {
-         part { name: "label.swallow.background";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               visible: 1;
-               rel1 { relative: 0 0; to: "elm.text"; }
-               rel2 { relative: 1 1; to: "elm.text"; }
-            }
-         }
-         part { name: "elm.text";
-            type: TEXTBLOCK;
-            mouse_events: 0;
-            scale: 1;
-            description { state: "default" 0.0;
-               text {
-                  style: "textblock_style2";
-                  min: 0 1;
-               }
-            }
-         }
-      }
-   }
-
    group { name: "elm/label/base/slide_long";
       data.item: "default_font_size" "10";
       data.item: "min_font_size" "6";
@@ -1567,7 +1484,7 @@ collections {
         public message(Msg_Type:type, id, ...) {
            if ((type == MSG_FLOAT_SET) && (id == 0)) {
               new Float:duration;
-              duration = getarg(2);
+              duration = getfarg(2);
               set_float(g_duration, duration);
            }
         }
@@ -1693,7 +1610,7 @@ collections {
          public message(Msg_Type:type, id, ...) {
             if ((type == MSG_FLOAT_SET) && (id == 0)) {
                new Float:duration;
-               duration = getarg(2);
+               duration = getfarg(2);
                set_float(g_duration, duration);
             }
          }
@@ -1818,7 +1735,7 @@ collections {
          public message(Msg_Type:type, id, ...) {
             if ((type == MSG_FLOAT_SET) && (id == 0)) {
                new Float:duration;
-               duration = getarg(2);
+               duration = getfarg(2);
                set_float(g_duration, duration);
             }
          }
@@ -3373,7 +3290,7 @@ collections {
                else {
                   emit("elm,action,toggle,off", "");
                }
-       
+
             }
          }
          program { name: "toggle_on";
@@ -7829,7 +7746,7 @@ collections {
             action:  STATE_SET "hidden" 0.0;
             transition: LINEAR 1.0;
             target: "sb_hbar_clip";
-         }             
+         }
          program { name: "scroll";
             signal: "elm,action,scroll";
             source: "elm";
@@ -7912,6 +7829,138 @@ collections {
          image: "bt_shine.png" COMP;
       }
       parts {
+         part { name: "arrow_area_left";
+            type: RECT;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               min: 40 0;
+               fixed: 1 1;
+               align: 1 0.5;
+               rel1 {
+                  to_y: "base";
+               }
+               rel2 {
+                  relative:0 1;
+                  to:"base";
+               }
+            }
+         }
+         part { name: "arrow_area_right";
+            type: RECT;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               min: 40 0;
+               fixed: 1 1;
+               align: 0 0.5;
+               rel1 {
+                  relative: 1 0;
+                  to:"base";
+               }
+               rel2 {
+                  to_y: "base";
+               }
+            }
+         }
+         part { name: "arrow_area_up";
+            type: RECT;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               min: 0 40;
+               fixed: 1 1;
+               align: 0.5 1;
+               rel1 {
+                  to_x: "base";
+               }
+               rel2 {
+                  relative: 1 0;
+                  to:"base";
+               }
+            }
+         }
+         part { name: "arrow_area_down";
+            type: RECT;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               min: 0 40;
+               fixed: 1 1;
+               align: 0.5 0;
+               rel1 {
+                  relative: 0 1;
+                  to:"base";
+               }
+               rel2 {
+                  to_x: "base";
+               }
+            }
+         }
+         part { name: "elm.swallow.arrow_up";
+            type: SWALLOW;
+            mouse_events: 0;
+            scale: 1;
+            dragable {
+               x: 1 1 0;
+               y: 1 1 0;
+               confine: "arrow_area_up";
+            }
+            description {
+               state: "default" 0.0;
+               min: 40 40;
+               fixed: 1 1;
+               visible: 1;
+            }
+         }
+         part { name: "elm.swallow.arrow_down";
+            type: SWALLOW;
+            mouse_events: 0;
+            scale: 1;
+            dragable {
+               x: 1 1 0;
+               y: 1 1 0;
+               confine: "arrow_area_down";
+            }
+            description {
+               state: "default" 0.0;
+               min: 40 40;
+               fixed: 1 1;
+               visible: 1;
+            }
+         }
+         part { name: "elm.swallow.arrow_left";
+            type: SWALLOW;
+            mouse_events: 0;
+            scale: 1;
+            dragable {
+               x: 1 1 0;
+               y: 1 1 0;
+               confine: "arrow_area_left";
+            }
+            description {
+               state: "default" 0.0;
+               min: 40 40;
+               fixed: 1 1;
+               visible: 1;
+            }
+         }
+         part { name: "elm.swallow.arrow_right";
+            type: SWALLOW;
+            mouse_events: 0;
+            scale: 1;
+            dragable {
+               x: 1 1 0;
+               y: 1 1 0;
+               confine: "arrow_area_right";
+            }
+            description {
+               state: "default" 0.0;
+               min: 40 40;
+               fixed: 1 1;
+               visible: 1;
+            }
+         }
          part { name: "base";
             scale: 1;
             description { state: "default" 0.0;
@@ -7949,7 +7998,7 @@ collections {
                rel1 { to:"base"; offset: 4 4; };
                rel2 { to:"base"; offset: -5 -5; };
             }
-         }          
+         }
       }
    }
 ///////////////////////////////////////////////////////////////////////////////
@@ -7977,7 +8026,7 @@ collections {
                fixed: 1 1;
                align: 0.0 0.5;
                rel1 { offset: 7 0; }
-               rel1 { offset: 6 -1; }
+               rel2 { offset: 6 -1; }
                image { normal: "icon_arrow_left.png"; }
             }
             description { state: "right" 0.0;
@@ -8069,10 +8118,10 @@ collections {
             scale: 1;
             description { state: "default" 0.0;
                min: 25 25;
-               max: 25 25;  
+               max: 25 25;
                align: 0 0.5;
                aspect: 1.0 1.0;
-               rel1 { offset: 10 10; }  
+               rel1 { offset: 10 10; }
                                         rel2 { offset: 0 -10; }
             }
          }
@@ -8100,7 +8149,7 @@ collections {
                color: 0 0 0 255;
             }
          }
-                        part { name: "over1";
+         part { name: "over1";
             mouse_events: 1;
             repeat_events: 1;
             ignore_flags: ON_HOLD;
@@ -8141,7 +8190,7 @@ collections {
                color: 0 0 0 0;
             }
          }
-                }
+      }
       programs {
          program {
             name: "item_unclick";
@@ -8354,6 +8403,7 @@ collections {
                text {
                   style: "entry_textblock_style";
                   min: 0 1;
+                  align: 0.0 0.0;
                }
             }
             description { state: "disabled" 0.0;
@@ -8387,6 +8437,83 @@ collections {
       }
    }
 
+   group { name: "elm/entry/base-mixedwrap/default";
+      styles
+      {
+         style { name: "entry_textblock_style_mixedwrap";
+            base: "font=Sans font_size=10 color=#000 wrap=mixed text_class=entry";
+            tag:  "br" "\n";
+            tag:  "ps" "ps";
+            tag:  "tab" "\t";
+            tag:  "em" "+ font=Sans:style=Oblique";
+            tag:  "b" "+ font=Sans:style=Bold";
+            tag:  "link" "+ color=#800 underline=on underline_color=#8008";
+            tag:  "hilight" "+ font=Sans:style=Bold";
+         }
+         style { name: "entry_textblock_disabled_style_mixedwrap";
+            base: "font=Sans font_size=10 color=#00000080 wrap=char text_class=entry";
+            tag:  "br" "\n";
+            tag:  "ps" "ps";
+            tag:  "tab" "\t";
+            tag:  "em" "+ font=Sans:style=Oblique";
+            tag:  "b" "+ font=Sans:style=Bold";
+            tag:  "link" "+ color=#00000080 underline=on underline_color=#00000080";
+            tag:  "hilight" "+ font=Sans:style=Bold";
+         }
+      }
+      parts {
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 1;
+            scale: 1;
+            entry_mode: EDITABLE;
+            select_mode: EXPLICIT;
+            multiline: 1;
+            source: "elm/entry/selection/default"; // selection under
+//          source2: "X"; // selection over
+//          source3: "X"; // cursor under
+            source4: "elm/entry/cursor/default"; // cursorover
+            source5: "elm/entry/anchor/default"; // anchor under
+//          source6: "X"; // anchor over
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               text {
+                  style: "entry_textblock_style_mixedwrap";
+                  min: 0 1;
+                  align: 0.0 0.0;
+               }
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               text {
+                  style: "entry_textblock_disabled_style_mixedwrap";
+                  min: 0 1;
+               }
+            }
+         }
+      }
+      programs {
+         program { name: "focus";
+            signal: "load";
+            source: "";
+            action: FOCUS_SET;
+            target: "elm.text";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "elm.text";
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+      }
+   }
+
    group { name: "elm/entry/base-charwrap/default";
       styles
       {
@@ -8430,6 +8557,7 @@ collections {
                text {
                   style: "entry_textblock_style_charwrap";
                   min: 0 1;
+                  align: 0.0 0.0;
                }
             }
             description { state: "disabled" 0.0;
@@ -8479,6 +8607,7 @@ collections {
                text {
                   style: "entry_textblock_style";
                   min: 1 1;
+                  align: 0.0 0.0;
                }
             }
             description { state: "disabled" 0.0;
@@ -8581,7 +8710,8 @@ collections {
                text {
                   style: "entry_single_textblock_style";
                   min: 1 1;
-                  max: 0 1;
+                  max: 0 0;
+                  align: 0.0 0.5;
                }
             }
             description { state: "disabled" 0.0;
@@ -8629,7 +8759,8 @@ collections {
                text {
                   style: "entry_single_textblock_style";
                   min: 1 1;
-                  max: 0 1;
+                  max: 0 0;
+                  align: 0.0 0.5;
                }
             }
             description { state: "disabled" 0.0;
@@ -8678,6 +8809,7 @@ collections {
                text {
                   style: "entry_textblock_style";
                   min: 0 1;
+                  align: 0.0 0.0;
                }
             }
             description { state: "disabled" 0.0;
@@ -8710,6 +8842,55 @@ collections {
       }
    }
 
+   group { name: "elm/entry/base-noedit-mixedwrap/default";
+      parts {
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 1;
+            scale: 1;
+            entry_mode: PLAIN;
+            select_mode: EXPLICIT;
+            multiline: 1;
+            source: "elm/entry/selection/default"; // selection under
+            source5: "elm/entry/anchor/default"; // anchor under
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               text {
+                  style: "entry_textblock_style_mixedwrap";
+                  min: 0 1;
+                  align: 0.0 0.0;
+               }
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               text {
+                  style: "entry_textblock_disabled_style_mixedwrap";
+               }
+            }
+         }
+      }
+      programs {
+         program { name: "focus";
+            signal: "load";
+            source: "";
+            action: FOCUS_SET;
+            target: "elm.text";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "elm.text";
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+      }
+   }
+
    group { name: "elm/entry/base-noedit-charwrap/default";
       parts {
          part { name: "elm.text";
@@ -8726,6 +8907,7 @@ collections {
                text {
                   style: "entry_textblock_style_charwrap";
                   min: 0 1;
+                  align: 0.0 0.0;
                }
             }
             description { state: "disabled" 0.0;
@@ -8773,6 +8955,7 @@ collections {
                text {
                   style: "entry_textblock_style";
                   min: 1 1;
+                  align: 0.0 0.0;
                }
             }
             description { state: "disabled" 0.0;
@@ -8822,7 +9005,8 @@ collections {
                   style: "entry_single_textblock_style";
                   repch: "*";
                   min: 1 1;
-                  max: 0 1;
+                  max: 0 0;
+                  align: 0.0 0.5;
                }
             }
             description { state: "disabled" 0.0;
@@ -9884,7 +10068,7 @@ collections {
                     image.normal: "shadow.png";
                 }
             }
-  
+
 
                  part { name: "elm.swallow.content";
                     type: SWALLOW;
@@ -9894,7 +10078,7 @@ collections {
                             fixed: 1 1;
                     }
                  }
-     
+
                  part {
                 name: "border";
                 type: IMAGE;
@@ -11685,6 +11869,7 @@ collections {
             }
          }
          part { name: "image_1_whole";
+            type: RECT;
             description {
                state: "default" 0.0;
                color: 255 255 255 255;
@@ -11751,6 +11936,7 @@ collections {
             }
          }
          part { name: "image_2_whole";
+            type: RECT;
             description {
                state: "default" 0.0;
                visible: 1;
@@ -15636,7 +15822,6 @@ collections {
 
 ///////////////////////////////////////////////////////////////////////////////
    group { name: "elm/genlist/item/default/default";
-      data.item: "stacking" "above";
       data.item: "selectraise" "on";
       data.item: "labels" "elm.text";
       data.item: "icons" "elm.swallow.icon elm.swallow.end";
@@ -15647,6 +15832,7 @@ collections {
          image: "bt_sm_shine.png" COMP;
          image: "bt_sm_hilight.png" COMP;
          image: "ilist_1.png" COMP;
+         image: "ilist_2.png" COMP;
          image: "ilist_item_shadow.png" COMP;
       }
       parts {
@@ -15659,282 +15845,30 @@ collections {
                color: 0 0 0 0;
             }
          }
-         part {
-            name: "base_sh";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               align: 0.0 0.0;
-               min: 0 10;
-               fixed: 1 1;
-               rel1 {
-                  to: "base";
-                  relative: 0.0 1.0;
-                  offset: 0 0;
-               }
-               rel2 {
-                  to: "base";
-                  relative: 1.0 1.0;
-                  offset: -1 0;
-               }
-               image {
-                  normal: "ilist_item_shadow.png";
-               }
-               fill.smooth: 0;
-            }
-         }
-         part {
-            name: "base";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               image {
-                  normal: "ilist_1.png";
-                  border: 2 2 2 2;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "bg";
-            clip_to: "disclip";
+         part { name: "reorder_bg";
             mouse_events: 0;
             description { state: "default" 0.0;
                visible: 0;
                color: 255 255 255 0;
                rel1 {
                   relative: 0.0 0.0;
-                  offset: -5 -5;
+                  offset: -7 -7;
                }
                rel2 {
                   relative: 1.0 1.0;
-                  offset: 4 4;
+                  offset: 9 9;
                }
                image {
-                  normal: "bt_sm_base1.png";
+                  normal: "bt_bases.png";
                   border: 6 6 6 6;
                }
-               image.middle: SOLID;
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -2 -2;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 1 1;
-               }
-            }
-         }
-         part { name: "elm.swallow.pad";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 0.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  relative: 0.0  1.0;
-                  offset:   4   -5;
-               }
-            }
-         }
-         part { name: "elm.swallow.icon";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  0.0;
-                  offset:   -1    4;
-               }
-               rel2 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  1.0;
-                  offset:   -1   -5;
-               }
-            }
-         }
-         part { name: "elm.swallow.end";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-               rel1 {
-                  relative: 1.0  0.0;
-                  offset:   -5    4;
-               }
-               rel2 {
-                  relative: 1.0  1.0;
-                  offset:   -5   -5;
-               }
-            }
-         }
-         part { name: "elm.text";
-            clip_to: "disclip";
-            type:           TEXT;
-            effect:         SOFT_SHADOW;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-//               min: 16 16;
-               rel1 {
-                  to_x:     "elm.swallow.icon";
-                  relative: 1.0  0.0;
-                  offset:   0 4;
-               }
-               rel2 {
-                  to_x:     "elm.swallow.end";
-                  relative: 0.0  1.0;
-                  offset:   -1 -5;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 1 1;
-//                  min: 0 1;
-                  align: 0.0 0.5;
-                  text_class: "list_item";
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
-         }
-         part { name: "fg1";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "fg2";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-               }
             }
-            description { state: "selected" 0.0;
+            description { state: "enabled" 0.0;
                inherit: "default" 0.0;
                visible: 1;
                color: 255 255 255 255;
             }
          }
-         part { name: "disclip";
-            type: RECT;
-            description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 255 255 255 64;
-            }
-         }
-      }
-      programs {
-         // signal: elm,state,%s,active
-         //   a "check" item named %s went active
-         // signal: elm,state,%s,passive
-         //   a "check" item named %s went passive
-         // default is passive
-         program {
-            name:    "go_active";
-            signal:  "elm,state,selected";
-            source:  "elm";
-            action:  STATE_SET "selected" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-         }
-         program {
-            name:    "go_passive";
-            signal:  "elm,state,unselected";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-            transition: LINEAR 0.1;
-         }
-         program {
-            name:    "go_disabled";
-            signal:  "elm,state,disabled";
-            source:  "elm";
-            action:  STATE_SET "disabled" 0.0;
-            target:  "disclip";
-         }
-         program {
-            name:    "go_enabled";
-            signal:  "elm,state,enabled";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "disclip";
-         }
-      }
-   }
-   group { name: "elm/genlist/item/group_index/default";
-      alias: "elm/genlist/item_odd/group_index/default";
-      data.item: "stacking" "above";
-      data.item: "selectraise" "on";
-      data.item: "labels" "elm.text";
-      data.item: "icons" "elm.swallow.icon elm.swallow.end";
-      data.item: "treesize" "20";
-//      data.item: "states" "";
-      images {
-         image: "bt_sm_base1.png" COMP;
-         image: "bt_sm_shine.png" COMP;
-         image: "bt_sm_hilight.png" COMP;
-         image: "ilist_item_shadow.png" COMP;
-         image: "group_index.png" COMP;
-      }
-      parts {
-         part {
-            name: "event";
-            type: RECT;
-            repeat_events: 0;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 0;
-            }
-         }
          part {
             name: "base_sh";
             mouse_events: 0;
@@ -15958,6 +15892,11 @@ collections {
                }
                fill.smooth: 0;
             }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
          }
          part {
             name: "base";
@@ -15965,11 +15904,16 @@ collections {
             description {
                state: "default" 0.0;
                image {
-                  normal: "group_index.png";
+                  normal: "ilist_1.png";
                   border: 2 2 2 2;
                }
                fill.smooth: 0;
             }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               image.normal: "ilist_2.png";
+            }
          }
          part { name: "bg";
             clip_to: "disclip";
@@ -15991,6 +15935,9 @@ collections {
                }
                image.middle: SOLID;
             }
+            description { state: "default" 0.1;
+               inherit: "default" 0.0;
+            }
             description { state: "selected" 0.0;
                inherit: "default" 0.0;
                visible: 1;
@@ -16004,6 +15951,10 @@ collections {
                   offset: 1 1;
                }
             }
+            description {
+               state: "selected" 1.0;
+               inherit: "selected" 0.0;
+            }
          }
          part { name: "elm.swallow.pad";
             type: SWALLOW;
@@ -16012,11 +15963,11 @@ collections {
                align: 0.0 0.5;
                rel1 {
                   relative: 0.0  0.0;
-                  offset: 4 4;
+                  offset:   4    4;
                }
                rel2 {
                   relative: 0.0  1.0;
-                  offset: 4 -5;
+                  offset:   4   -5;
                }
             }
          }
@@ -16028,13 +15979,13 @@ collections {
                align: 0.0 0.5;
                rel1 {
                   to_x: "elm.swallow.pad";
-                  relative: 1.0 0.0;
-                  offset: -1 4;
+                  relative: 1.0  0.0;
+                  offset:   -1    4;
                }
                rel2 {
                   to_x: "elm.swallow.pad";
-                  relative: 1.0 1.0;
-                  offset: -1 -5;
+                  relative: 1.0  1.0;
+                  offset:   -1   -5;
                }
             }
          }
@@ -16047,33 +15998,33 @@ collections {
                aspect: 1.0 1.0;
                aspect_preference: VERTICAL;
                rel1 {
-                  relative: 1.0 0.0;
-                  offset: -5 4;
+                  relative: 1.0  0.0;
+                  offset:   -5    4;
                }
                rel2 {
-                  relative: 1.0 1.0;
-                  offset: -5 -5;
+                  relative: 1.0  1.0;
+                  offset:   -5   -5;
                }
             }
          }
          part { name: "elm.text";
             clip_to: "disclip";
-            type: TEXT;
-            effect: SOFT_SHADOW;
-            mouse_events: 0;
+            type:           TEXT;
+            effect:         SOFT_SHADOW;
+            mouse_events:   0;
             scale: 1;
             description {
                state: "default" 0.0;
 //               min: 16 16;
                rel1 {
-                  to_x: "elm.swallow.icon";
+                  to_x:     "elm.swallow.icon";
                   relative: 1.0  0.0;
-                  offset: 0 4;
+                  offset:   0 4;
                }
                rel2 {
-                  to_x: "elm.swallow.end";
+                  to_x:     "elm.swallow.end";
                   relative: 0.0  1.0;
-                  offset: -1 -5;
+                  offset:   -1 -5;
                }
                color: 0 0 0 255;
                color3: 0 0 0 0;
@@ -16111,6 +16062,12 @@ collections {
                visible: 1;
                color: 255 255 255 255;
             }
+            description {
+               state: "selected" 1.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
          }
          part { name: "fg2";
             clip_to: "disclip";
@@ -16130,6 +16087,12 @@ collections {
                visible: 1;
                color: 255 255 255 255;
             }
+            description {
+               state: "selected" 1.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
          }
          part { name: "disclip";
             type: RECT;
@@ -16150,25 +16113,48 @@ collections {
          //   a "check" item named %s went passive
          // default is passive
          program {
+            name:    "odd";
+            signal:  "elm,state,odd";
+            source:  "elm";
+            action:  STATE_SET "default" 1.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
+            name:    "even";
+            signal:  "elm,state,even";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
             name:    "go_active";
             signal:  "elm,state,selected";
             source:  "elm";
-            action:  STATE_SET "selected" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"base", st, 30, vl);
+               set_state(PART:"bg", "selected", vl);
+               set_state(PART:"fg1", "selected", vl);
+               set_state(PART:"fg2", "selected", vl);
+               set_state(PART:"elm.text", "selected", vl);
+            }
          }
          program {
             name:    "go_passive";
             signal:  "elm,state,unselected";
             source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-            transition: LINEAR 0.1;
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"base", st, 30, vl);
+               set_state(PART:"bg", "default", vl);
+               set_state(PART:"fg1", "default", vl);
+               set_state(PART:"fg2", "default", vl);
+               set_state(PART:"elm.text", "default", vl);
+            }
          }
          program {
             name:    "go_disabled";
@@ -16184,41 +16170,43 @@ collections {
             action:  STATE_SET "default" 0.0;
             target:  "disclip";
          }
+         program {
+            name:    "go_reorder_disabled";
+            signal:  "elm,state,reorder,disabled";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "reorder_bg";
+            transition: DECELERATE 0.5;
+         }
+         program {
+            name:    "go_reorder_enabled";
+            signal:  "elm,state,reorder,enabled";
+            source:  "elm";
+            action:  STATE_SET "enabled" 0.0;
+            target:  "reorder_bg";
+            transition: DECELERATE 0.5;
+         }
       }
    }
-   group { name: "elm/genlist/item_compress/message/default";
-      data.item: "stacking" "above";
+   group { name: "elm/genlist/item/group_index/default";
+      alias: "elm/genlist/item_compress/group_index/default";
       data.item: "selectraise" "on";
-      data.item: "labels" "elm.title.1 elm.title.2 elm.text";
-//      data.item: "icons" "elm.swallow.icon elm.swallow.end";
+      data.item: "labels" "elm.text";
+      data.item: "icons" "elm.swallow.icon elm.swallow.end";
       data.item: "treesize" "20";
 //      data.item: "states" "";
       images {
          image: "bt_sm_base1.png" COMP;
          image: "bt_sm_shine.png" COMP;
          image: "bt_sm_hilight.png" COMP;
-         image: "ilist_1.png" COMP;
          image: "ilist_item_shadow.png" COMP;
+         image: "group_index.png" COMP;
       }
-      styles {
-        style { name: "genlist_textblock_style";
-          base: "font=Sans font_size=10 color=#000 wrap=char text_class=list_item";
-          tag:  "br" "\n";
-          tag:  "ps" "ps";
-          tag:  "tab" "\t";
-        }
-        style { name: "genlist_textblock_style2";
-          base: "font=Sans font_size=10 color=#fff wrap=char text_class=list_item";
-          tag:  "br" "\n";
-          tag:  "ps" "ps";
-          tag:  "tab" "\t";
-        }
-      }
-     parts {
+      parts {
          part {
-            name:           "event";
-            type:           RECT;
-            repeat_events: 1;
+            name: "event";
+            type: RECT;
+            repeat_events: 0;
             description {
                state: "default" 0.0;
                color: 0 0 0 0;
@@ -16254,7 +16242,7 @@ collections {
             description {
                state: "default" 0.0;
                image {
-                  normal: "ilist_1.png";
+                  normal: "group_index.png";
                   border: 2 2 2 2;
                }
                fill.smooth: 0;
@@ -16294,111 +16282,91 @@ collections {
                }
             }
          }
-         part { name: "elm.title.1";
-            clip_to: "disclip";
-            type:           TEXT;
-            effect:         SOFT_SHADOW;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-               fixed: 0 1;
-//               min: 16 16;
+         part { name: "elm.swallow.pad";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
                rel1 {
                   relative: 0.0  0.0;
-                  offset:   4 4;
+                  offset: 4 4;
                }
                rel2 {
-                  relative: 1.0  0.0;
-                  offset:   -5 4;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               align: 0.0 0.0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 0 1;
-//                  min: 1 1;
-                  align: 0.0 0.0;
-                  text_class: "list_item";
+                  relative: 0.0  1.0;
+                  offset: 4 -5;
                }
             }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
          }
-         part { name: "elm.title.2";
+         part { name: "elm.swallow.icon";
             clip_to: "disclip";
-            type:           TEXT;
-            effect:         SOFT_SHADOW;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-               fixed: 0 1;
-//               min: 16 16;
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
                rel1 {
-                  to_y:     "elm.title.1";
-                  relative: 0.0  1.0;
-                  offset:   4 0;
+                  to_x: "elm.swallow.pad";
+                  relative: 1.0 0.0;
+                  offset: -1 4;
                }
                rel2 {
-                  to_y:     "elm.title.1";
-                  relative: 1.0  1.0;
-                  offset:   -5 0;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               align: 0.0 0.0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 0 1;
-//                  min: 1 1;
-                  align: 0.0 0.0;
-                  text_class: "list_item";
+                  to_x: "elm.swallow.pad";
+                  relative: 1.0 1.0;
+                  offset: -1 -5;
                }
             }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
+         }
+         part { name: "elm.swallow.end";
+            clip_to: "disclip";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               align: 1.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 1.0 0.0;
+                  offset: -5 4;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: -5 -5;
+               }
             }
          }
          part { name: "elm.text";
             clip_to: "disclip";
-            type:           TEXTBLOCK;
-            mouse_events:   0;
+            type: TEXT;
+            effect: SOFT_SHADOW;
+            mouse_events: 0;
             scale: 1;
             description {
                state: "default" 0.0;
-//               fixed: 0 1;
 //               min: 16 16;
                rel1 {
-                  to_y:     "elm.title.2";
-                  relative: 0.0  1.0;
-                  offset:   4 0;
+                  to_x: "elm.swallow.icon";
+                  relative: 1.0  0.0;
+                  offset: 0 4;
                }
                rel2 {
-                  relative: 1.0  1.0;
-                  offset:   -5 -5;
+                  to_x: "elm.swallow.end";
+                  relative: 0.0  1.0;
+                  offset: -1 -5;
                }
-               align: 0.0 0.0;
+               color: 0 0 0 255;
+               color3: 0 0 0 0;
                text {
-                  style: "genlist_textblock_style";
-                  min: 0 1;
-//                  min: 1 1;
-                  align: 0.0 0.0;
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+//                  min: 0 1;
+                  align: -1.0 0.5;
+                  text_class: "list_item";
                }
             }
             description { state: "selected" 0.0;
                inherit: "default" 0.0;
-               text {
-                  style: "genlist_textblock_style2";
-               }
+               color: 224 224 224 255;
+               color3: 0 0 0 64;
             }
          }
          part { name: "fg1";
@@ -16466,8 +16434,6 @@ collections {
             target:  "bg";
             target:  "fg1";
             target:  "fg2";
-            target:  "elm.title.1";
-            target:  "elm.title.2";
             target:  "elm.text";
          }
          program {
@@ -16478,8 +16444,6 @@ collections {
             target:  "bg";
             target:  "fg1";
             target:  "fg2";
-            target:  "elm.title.1";
-            target:  "elm.title.2";
             target:  "elm.text";
             transition: LINEAR 0.1;
          }
@@ -16499,8 +16463,7 @@ collections {
          }
       }
    }
-   group { name: "elm/genlist/item_compress_odd/message/default";
-      data.item: "stacking" "below";
+   group { name: "elm/genlist/item_compress/message/default";
       data.item: "selectraise" "on";
       data.item: "labels" "elm.title.1 elm.title.2 elm.text";
 //      data.item: "icons" "elm.swallow.icon elm.swallow.end";
@@ -16510,11 +16473,28 @@ collections {
          image: "bt_sm_base1.png" COMP;
          image: "bt_sm_shine.png" COMP;
          image: "bt_sm_hilight.png" COMP;
+         image: "ilist_1.png" COMP;
          image: "ilist_2.png" COMP;
+         image: "ilist_item_shadow.png" COMP;
       }
-      parts {
-         part { name: "event";
-            type: RECT;
+      styles {
+        style { name: "genlist_textblock_style";
+          base: "font=Sans font_size=10 color=#000 wrap=char text_class=list_item";
+          tag:  "br" "\n";
+          tag:  "ps" "ps";
+          tag:  "tab" "\t";
+        }
+        style { name: "genlist_textblock_style2";
+          base: "font=Sans font_size=10 color=#fff wrap=char text_class=list_item";
+          tag:  "br" "\n";
+          tag:  "ps" "ps";
+          tag:  "tab" "\t";
+        }
+      }
+     parts {
+         part {
+            name:           "event";
+            type:           RECT;
             repeat_events: 1;
             description {
                state: "default" 0.0;
@@ -16522,16 +16502,50 @@ collections {
             }
          }
          part {
+            name: "base_sh";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.0;
+               min: 0 10;
+               fixed: 1 1;
+               rel1 {
+                  to: "base";
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "base";
+                  relative: 1.0 1.0;
+                  offset: -1 0;
+               }
+               image {
+                  normal: "ilist_item_shadow.png";
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
             name: "base";
             mouse_events: 0;
             description {
                state: "default" 0.0;
                image {
-                  normal: "ilist_2.png";
+                  normal: "ilist_1.png";
                   border: 2 2 2 2;
                }
                fill.smooth: 0;
             }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               image.normal: "ilist_2.png";
+            }
          }
          part { name: "bg";
             clip_to: "disclip";
@@ -16732,6 +16746,22 @@ collections {
          //   a "check" item named %s went passive
          // default is passive
          program {
+            name:    "odd";
+            signal:  "elm,state,odd";
+            source:  "elm";
+            action:  STATE_SET "default" 1.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
+            name:    "even";
+            signal:  "elm,state,even";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
             name:    "go_active";
             signal:  "elm,state,selected";
             source:  "elm";
@@ -16772,8 +16802,8 @@ collections {
          }
       }
    }
+
    group { name: "elm/genlist/item_compress/default/default";
-      data.item: "stacking" "above";
       data.item: "selectraise" "on";
       data.item: "labels" "elm.text";
       data.item: "icons" "elm.swallow.icon elm.swallow.end";
@@ -16784,6 +16814,7 @@ collections {
          image: "bt_sm_shine.png" COMP;
          image: "bt_sm_hilight.png" COMP;
          image: "ilist_1.png" COMP;
+         image: "ilist_2.png" COMP;
          image: "ilist_item_shadow.png" COMP;
       }
       parts {
@@ -16819,6 +16850,11 @@ collections {
                }
                fill.smooth: 0;
             }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
          }
          part {
             name: "base";
@@ -16831,6 +16867,11 @@ collections {
                }
                fill.smooth: 0;
             }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               image.normal: "ilist_2.png";
+            }
          }
          part { name: "bg";
             clip_to: "disclip";
@@ -17011,6 +17052,22 @@ collections {
          //   a "check" item named %s went passive
          // default is passive
          program {
+            name:    "odd";
+            signal:  "elm,state,odd";
+            source:  "elm";
+            action:  STATE_SET "default" 1.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
+            name:    "even";
+            signal:  "elm,state,even";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
             name:    "go_active";
             signal:  "elm,state,selected";
             source:  "elm";
@@ -17047,8 +17104,8 @@ collections {
          }
       }
    }
-   group { name: "elm/genlist/item_odd/default/default";
-      data.item: "stacking" "below";
+
+   group { name: "elm/genlist/tree/default/default";
       data.item: "selectraise" "on";
       data.item: "labels" "elm.text";
       data.item: "icons" "elm.swallow.icon elm.swallow.end";
@@ -17058,11 +17115,17 @@ collections {
          image: "bt_sm_base1.png" COMP;
          image: "bt_sm_shine.png" COMP;
          image: "bt_sm_hilight.png" COMP;
+         image: "ilist_1.png" COMP;
          image: "ilist_2.png" COMP;
+         image: "ilist_item_shadow.png" COMP;
+         image: "icon_arrow_left.png" COMP;
+         image: "icon_arrow_right.png" COMP;
+         image: "icon_arrow_down.png" COMP;
       }
       parts {
-         part { name: "event";
-            type: RECT;
+         part {
+            name:           "event";
+            type:           RECT;
             repeat_events: 1;
             description {
                state: "default" 0.0;
@@ -17070,16 +17133,50 @@ collections {
             }
          }
          part {
+            name: "base_sh";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.0;
+               min: 0 10;
+               fixed: 1 1;
+               rel1 {
+                  to: "base";
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "base";
+                  relative: 1.0 1.0;
+                  offset: -1 0;
+               }
+               image {
+                  normal: "ilist_item_shadow.png";
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
             name: "base";
             mouse_events: 0;
             description {
                state: "default" 0.0;
                image {
-                  normal: "ilist_2.png";
+                  normal: "ilist_1.png";
                   border: 2 2 2 2;
                }
                fill.smooth: 0;
             }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               image.normal: "ilist_2.png";
+            }
          }
          part { name: "bg";
             clip_to: "disclip";
@@ -17130,12 +17227,13 @@ collections {
                }
             }
          }
-         part { name: "elm.swallow.icon";
+         part { name: "arrow";
             clip_to: "disclip";
-            type: SWALLOW;
+            ignore_flags: ON_HOLD;
             description { state: "default" 0.0;
                fixed: 1 0;
                align: 0.0 0.5;
+               aspect: 1.0 1.0;
                rel1 {
                   to_x: "elm.swallow.pad";
                   relative: 1.0  0.0;
@@ -17146,14 +17244,45 @@ collections {
                   relative: 1.0  1.0;
                   offset:   -1   -5;
                }
+               image.normal: "icon_arrow_right.png";
+            }
+            description { state: "default" 0.1;
+               inherit: "default" 0.0;
+               image.normal: "icon_arrow_left.png";
+            }
+            description { state: "active" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "icon_arrow_down.png";
+            }
+            description { state: "active" 0.1;
+               inherit: "default" 0.0;
+               image.normal: "icon_arrow_down.png";
+            }
+         }
+         part { name: "elm.swallow.icon";
+            clip_to: "disclip";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
+               rel1 {
+                  to_x: "arrow";
+                  relative: 1.0  0.0;
+                  offset:   4    4;
+               }
+               rel2 {
+                  to_x: "arrow";
+                  relative: 1.0  1.0;
+                  offset:   4   -5;
+               }
             }
          }
          part { name: "elm.swallow.end";
             clip_to: "disclip";
-            type:          SWALLOW;
-            description { state:    "default" 0.0;
+            type: SWALLOW;
+            description { state: "default" 0.0;
                fixed: 1 0;
-               align:    1.0 0.5;
+               align: 1.0 0.5;
                aspect: 1.0 1.0;
                aspect_preference: VERTICAL;
                rel1 {
@@ -17174,7 +17303,7 @@ collections {
             scale: 1;
             description {
                state: "default" 0.0;
-//               min:      16 16;
+//               min: 16 16;
                rel1 {
                   to_x:     "elm.swallow.icon";
                   relative: 1.0  0.0;
@@ -17260,6 +17389,22 @@ collections {
          //   a "check" item named %s went passive
          // default is passive
          program {
+            name:    "odd";
+            signal:  "elm,state,odd";
+            source:  "elm";
+            action:  STATE_SET "default" 1.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
+            name:    "even";
+            signal:  "elm,state,even";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
             name:    "go_active";
             signal:  "elm,state,selected";
             source:  "elm";
@@ -17294,10 +17439,62 @@ collections {
             action:  STATE_SET "default" 0.0;
             target:  "disclip";
          }
+         program {
+            name:    "expand";
+            signal:  "mouse,up,1";
+            source:  "arrow";
+            action:  SIGNAL_EMIT "elm,action,expand,toggle" "elm";
+         }
+         program {
+            name:    "go_expanded";
+            signal:  "elm,state,expanded";
+            source:  "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"arrow", st, 30, vl);
+               set_state(PART:"arrow", "active", vl);
+            }
+         }
+         program {
+            name:    "go_contracted";
+            signal:  "elm,state,contracted";
+            source:  "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"arrow", st, 30, vl);
+               set_state(PART:"arrow", "default", vl);
+            }
+         }
+         program { name: "to_rtl";
+            signal: "edje,state,rtl";
+            source: "edje";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"arrow", st, 30, vl);
+               if (vl == 0.0) {
+                  set_state(PART:"arrow", st, 0.1);
+               }
+            }
+         }
+         program { name: "to_ltr";
+            signal: "edje,state,ltr";
+            source: "edje";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"arrow", st, 30, vl);
+               if (vl == 0.1) {
+                  set_state(PART:"arrow", st, 0.0);
+               }
+            }
+         }
       }
    }
-   group { name: "elm/genlist/item_compress_odd/default/default";
-      data.item: "stacking" "below";
+   group { name: "elm/genlist/tree_compress/default/default";
+      data.item: "stacking" "above";
       data.item: "selectraise" "on";
       data.item: "labels" "elm.text";
       data.item: "icons" "elm.swallow.icon elm.swallow.end";
@@ -17307,11 +17504,16 @@ collections {
          image: "bt_sm_base1.png" COMP;
          image: "bt_sm_shine.png" COMP;
          image: "bt_sm_hilight.png" COMP;
-         image: "ilist_2.png" COMP;
+         image: "ilist_1.png" COMP;
+         image: "ilist_item_shadow.png" COMP;
+         image: "icon_arrow_left.png" COMP;
+         image: "icon_arrow_right.png" COMP;
+         image: "icon_arrow_down.png" COMP;
       }
       parts {
-         part { name: "event";
-            type: RECT;
+         part {
+            name:           "event";
+            type:           RECT;
             repeat_events: 1;
             description {
                state: "default" 0.0;
@@ -17319,16 +17521,50 @@ collections {
             }
          }
          part {
+            name: "base_sh";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.0;
+               min: 0 10;
+               fixed: 1 1;
+               rel1 {
+                  to: "base";
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "base";
+                  relative: 1.0 1.0;
+                  offset: -1 0;
+               }
+               image {
+                  normal: "ilist_item_shadow.png";
+               }
+               fill.smooth: 0;
+            }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
             name: "base";
             mouse_events: 0;
             description {
                state: "default" 0.0;
                image {
-                  normal: "ilist_2.png";
+                  normal: "ilist_1.png";
                   border: 2 2 2 2;
                }
                fill.smooth: 0;
             }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               image.normal: "ilist_2.png";
+            }
          }
          part { name: "bg";
             clip_to: "disclip";
@@ -17379,12 +17615,13 @@ collections {
                }
             }
          }
-         part { name: "elm.swallow.icon";
+         part { name: "arrow";
             clip_to: "disclip";
-            type: SWALLOW;
+            ignore_flags: ON_HOLD;
             description { state: "default" 0.0;
                fixed: 1 0;
                align: 0.0 0.5;
+               aspect: 1.0 1.0;
                rel1 {
                   to_x: "elm.swallow.pad";
                   relative: 1.0  0.0;
@@ -17395,14 +17632,45 @@ collections {
                   relative: 1.0  1.0;
                   offset:   -1   -5;
                }
+               image.normal: "icon_arrow_right.png";
+            }
+            description { state: "default" 0.1;
+               inherit: "default" 0.0;
+               image.normal: "icon_arrow_left.png";
+            }
+            description { state: "active" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "icon_arrow_down.png";
+            }
+            description { state: "active" 0.1;
+               inherit: "default" 0.0;
+               image.normal: "icon_arrow_down.png";
+            }
+         }
+         part { name: "elm.swallow.icon";
+            clip_to: "disclip";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
+               rel1 {
+                  to_x: "arrow";
+                  relative: 1.0  0.0;
+                  offset:   4    4;
+               }
+               rel2 {
+                  to_x: "arrow";
+                  relative: 1.0  1.0;
+                  offset:   4   -5;
+               }
             }
          }
          part { name: "elm.swallow.end";
             clip_to: "disclip";
-            type:          SWALLOW;
-            description { state:    "default" 0.0;
+            type: SWALLOW;
+            description { state: "default" 0.0;
                fixed: 1 0;
-               align:    1.0 0.5;
+               align: 1.0 0.5;
                aspect: 1.0 1.0;
                aspect_preference: VERTICAL;
                rel1 {
@@ -17423,7 +17691,7 @@ collections {
             scale: 1;
             description {
                state: "default" 0.0;
-//               min:      16 16;
+//               min: 16 16;
                rel1 {
                   to_x:     "elm.swallow.icon";
                   relative: 1.0  0.0;
@@ -17439,8 +17707,8 @@ collections {
                text {
                   font: "Sans";
                   size: 10;
-                  min: 0 1;
 //                  min: 1 1;
+                  min: 0 1;
                   align: 0.0 0.5;
                   text_class: "list_item";
                }
@@ -17509,1352 +17777,21 @@ collections {
          //   a "check" item named %s went passive
          // default is passive
          program {
-            name:    "go_active";
-            signal:  "elm,state,selected";
-            source:  "elm";
-            action:  STATE_SET "selected" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-         }
-         program {
-            name:    "go_passive";
-            signal:  "elm,state,unselected";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-            transition: LINEAR 0.1;
-         }
-         program {
-            name:    "go_disabled";
-            signal:  "elm,state,disabled";
-            source:  "elm";
-            action:  STATE_SET "disabled" 0.0;
-            target:  "disclip";
-         }
-         program {
-            name:    "go_enabled";
-            signal:  "elm,state,enabled";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "disclip";
-         }
-      }
-   }
-
-   group { name: "elm/genlist/tree/default/default";
-      data.item: "stacking" "above";
-      data.item: "selectraise" "on";
-      data.item: "labels" "elm.text";
-      data.item: "icons" "elm.swallow.icon elm.swallow.end";
-      data.item: "treesize" "20";
-//      data.item: "states" "";
-      images {
-         image: "bt_sm_base1.png" COMP;
-         image: "bt_sm_shine.png" COMP;
-         image: "bt_sm_hilight.png" COMP;
-         image: "ilist_1.png" COMP;
-         image: "ilist_item_shadow.png" COMP;
-         image: "icon_arrow_left.png" COMP;
-         image: "icon_arrow_right.png" COMP;
-         image: "icon_arrow_down.png" COMP;
-      }
-      parts {
-         part {
-            name:           "event";
-            type:           RECT;
-            repeat_events: 1;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 0;
-            }
-         }
-         part {
-            name: "base_sh";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               align: 0.0 0.0;
-               min: 0 10;
-               fixed: 1 1;
-               rel1 {
-                  to: "base";
-                  relative: 0.0 1.0;
-                  offset: 0 0;
-               }
-               rel2 {
-                  to: "base";
-                  relative: 1.0 1.0;
-                  offset: -1 0;
-               }
-               image {
-                  normal: "ilist_item_shadow.png";
-               }
-               fill.smooth: 0;
-            }
-         }
-         part {
-            name: "base";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               image {
-                  normal: "ilist_1.png";
-                  border: 2 2 2 2;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "bg";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -5 -5;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 4 4;
-               }
-               image {
-                  normal: "bt_sm_base1.png";
-                  border: 6 6 6 6;
-               }
-               image.middle: SOLID;
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -2 -2;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 1 1;
-               }
-            }
-         }
-         part { name: "elm.swallow.pad";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 0.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  relative: 0.0  1.0;
-                  offset:   4   -5;
-               }
-            }
-         }
-         part { name: "arrow";
-            clip_to: "disclip";
-            ignore_flags: ON_HOLD;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               aspect: 1.0 1.0;
-               rel1 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  0.0;
-                  offset:   -1    4;
-               }
-               rel2 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  1.0;
-                  offset:   -1   -5;
-               }
-               image.normal: "icon_arrow_right.png";
-            }
-            description { state: "default" 0.1;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_left.png";
-            }
-            description { state: "active" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_down.png";
-            }
-            description { state: "active" 0.1;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_down.png";
-            }
-         }
-         part { name: "elm.swallow.icon";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  to_x: "arrow";
-                  relative: 1.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  to_x: "arrow";
-                  relative: 1.0  1.0;
-                  offset:   4   -5;
-               }
-            }
-         }
-         part { name: "elm.swallow.end";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-               rel1 {
-                  relative: 1.0  0.0;
-                  offset:   -5    4;
-               }
-               rel2 {
-                  relative: 1.0  1.0;
-                  offset:   -5   -5;
-               }
-            }
-         }
-         part { name: "elm.text";
-            clip_to: "disclip";
-            type:           TEXT;
-            effect:         SOFT_SHADOW;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-//               min: 16 16;
-               rel1 {
-                  to_x:     "elm.swallow.icon";
-                  relative: 1.0  0.0;
-                  offset:   0 4;
-               }
-               rel2 {
-                  to_x:     "elm.swallow.end";
-                  relative: 0.0  1.0;
-                  offset:   -1 -5;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 1 1;
-//                  min: 0 1;
-                  align: -1.0 0.5;
-                  text_class: "list_item";
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
-         }
-         part { name: "fg1";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "fg2";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "disclip";
-            type: RECT;
-            description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 255 255 255 64;
-            }
-         }
-      }
-      programs {
-         // signal: elm,state,%s,active
-         //   a "check" item named %s went active
-         // signal: elm,state,%s,passive
-         //   a "check" item named %s went passive
-         // default is passive
-         program {
-            name:    "go_active";
-            signal:  "elm,state,selected";
-            source:  "elm";
-            action:  STATE_SET "selected" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-         }
-         program {
-            name:    "go_passive";
-            signal:  "elm,state,unselected";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-            transition: LINEAR 0.1;
-         }
-         program {
-            name:    "go_disabled";
-            signal:  "elm,state,disabled";
-            source:  "elm";
-            action:  STATE_SET "disabled" 0.0;
-            target:  "disclip";
-         }
-         program {
-            name:    "go_enabled";
-            signal:  "elm,state,enabled";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "disclip";
-         }
-         program {
-            name:    "expand";
-            signal:  "mouse,up,1";
-            source:  "arrow";
-            action:  SIGNAL_EMIT "elm,action,expand,toggle" "elm";
-         }
-         program {
-            name:    "go_expanded";
-            signal:  "elm,state,expanded";
-            source:  "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               set_state(PART:"arrow", "active", vl);
-            }
-         }
-         program {
-            name:    "go_contracted";
-            signal:  "elm,state,contracted";
-            source:  "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               set_state(PART:"arrow", "default", vl);
-            }
-         }
-         program { name: "to_rtl";
-            signal: "edje,state,rtl";
-            source: "edje";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               if (vl == 0.0) {
-                  set_state(PART:"arrow", st, 0.1);
-               }
-            }
-         }
-         program { name: "to_ltr";
-            signal: "edje,state,ltr";
-            source: "edje";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               if (vl == 0.1) {
-                  set_state(PART:"arrow", st, 0.0);
-               }
-            }
-         }
-      }
-   }
-   group { name: "elm/genlist/tree_compress/default/default";
-      data.item: "stacking" "above";
-      data.item: "selectraise" "on";
-      data.item: "labels" "elm.text";
-      data.item: "icons" "elm.swallow.icon elm.swallow.end";
-      data.item: "treesize" "20";
-//      data.item: "states" "";
-      images {
-         image: "bt_sm_base1.png" COMP;
-         image: "bt_sm_shine.png" COMP;
-         image: "bt_sm_hilight.png" COMP;
-         image: "ilist_1.png" COMP;
-         image: "ilist_item_shadow.png" COMP;
-         image: "icon_arrow_left.png" COMP;
-         image: "icon_arrow_right.png" COMP;
-         image: "icon_arrow_down.png" COMP;
-      }
-      parts {
-         part {
-            name:           "event";
-            type:           RECT;
-            repeat_events: 1;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 0;
-            }
-         }
-         part {
-            name: "base_sh";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               align: 0.0 0.0;
-               min: 0 10;
-               fixed: 1 1;
-               rel1 {
-                  to: "base";
-                  relative: 0.0 1.0;
-                  offset: 0 0;
-               }
-               rel2 {
-                  to: "base";
-                  relative: 1.0 1.0;
-                  offset: -1 0;
-               }
-               image {
-                  normal: "ilist_item_shadow.png";
-               }
-               fill.smooth: 0;
-            }
-         }
-         part {
-            name: "base";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               image {
-                  normal: "ilist_1.png";
-                  border: 2 2 2 2;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "bg";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -5 -5;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 4 4;
-               }
-               image {
-                  normal: "bt_sm_base1.png";
-                  border: 6 6 6 6;
-               }
-               image.middle: SOLID;
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -2 -2;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 1 1;
-               }
-            }
-         }
-         part { name: "elm.swallow.pad";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 0.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  relative: 0.0  1.0;
-                  offset:   4   -5;
-               }
-            }
-         }
-         part { name: "arrow";
-            clip_to: "disclip";
-            ignore_flags: ON_HOLD;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               aspect: 1.0 1.0;
-               rel1 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  0.0;
-                  offset:   -1    4;
-               }
-               rel2 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  1.0;
-                  offset:   -1   -5;
-               }
-               image.normal: "icon_arrow_right.png";
-            }
-            description { state: "default" 0.1;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_left.png";
-            }
-            description { state: "active" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_down.png";
-            }
-            description { state: "active" 0.1;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_down.png";
-            }
-         }
-         part { name: "elm.swallow.icon";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  to_x: "arrow";
-                  relative: 1.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  to_x: "arrow";
-                  relative: 1.0  1.0;
-                  offset:   4   -5;
-               }
-            }
-         }
-         part { name: "elm.swallow.end";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-               rel1 {
-                  relative: 1.0  0.0;
-                  offset:   -5    4;
-               }
-               rel2 {
-                  relative: 1.0  1.0;
-                  offset:   -5   -5;
-               }
-            }
-         }
-         part { name: "elm.text";
-            clip_to: "disclip";
-            type:           TEXT;
-            effect:         SOFT_SHADOW;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-//               min: 16 16;
-               rel1 {
-                  to_x:     "elm.swallow.icon";
-                  relative: 1.0  0.0;
-                  offset:   0 4;
-               }
-               rel2 {
-                  to_x:     "elm.swallow.end";
-                  relative: 0.0  1.0;
-                  offset:   -1 -5;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-//                  min: 1 1;
-                  min: 0 1;
-                  align: 0.0 0.5;
-                  text_class: "list_item";
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
-         }
-         part { name: "fg1";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "fg2";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "disclip";
-            type: RECT;
-            description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 255 255 255 64;
-            }
-         }
-      }
-      programs {
-         // signal: elm,state,%s,active
-         //   a "check" item named %s went active
-         // signal: elm,state,%s,passive
-         //   a "check" item named %s went passive
-         // default is passive
-         program {
-            name:    "go_active";
-            signal:  "elm,state,selected";
-            source:  "elm";
-            action:  STATE_SET "selected" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-         }
-         program {
-            name:    "go_passive";
-            signal:  "elm,state,unselected";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-            transition: LINEAR 0.1;
-         }
-         program {
-            name:    "go_disabled";
-            signal:  "elm,state,disabled";
-            source:  "elm";
-            action:  STATE_SET "disabled" 0.0;
-            target:  "disclip";
-         }
-         program {
-            name:    "go_enabled";
-            signal:  "elm,state,enabled";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "disclip";
-         }
-         program {
-            name:    "expand";
-            signal:  "mouse,up,1";
-            source:  "arrow";
-            action:  SIGNAL_EMIT "elm,action,expand,toggle" "elm";
-         }
-         program {
-            name:    "go_expanded";
-            signal:  "elm,state,expanded";
-            source:  "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               set_state(PART:"arrow", "active", vl);
-            }
-         }
-         program {
-            name:    "go_contracted";
-            signal:  "elm,state,contracted";
-            source:  "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               set_state(PART:"arrow", "default", vl);
-            }
-         }
-         program { name: "to_rtl";
-            signal: "edje,state,rtl";
-            source: "edje";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               if (vl == 0.0) {
-                  set_state(PART:"arrow", st, 0.1);
-               }
-            }
-         }
-         program { name: "to_ltr";
-            signal: "edje,state,ltr";
-            source: "edje";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               if (vl == 0.1) {
-                  set_state(PART:"arrow", st, 0.0);
-               }
-            }
-         }
-      }
-   }
-   group { name: "elm/genlist/tree_odd/default/default";
-      data.item: "stacking" "below";
-      data.item: "selectraise" "on";
-      data.item: "labels" "elm.text";
-      data.item: "icons" "elm.swallow.icon elm.swallow.end";
-      data.item: "treesize" "20";
-//      data.item: "states" "";
-      images {
-         image: "bt_sm_base1.png" COMP;
-         image: "bt_sm_shine.png" COMP;
-         image: "bt_sm_hilight.png" COMP;
-         image: "ilist_2.png" COMP;
-         image: "icon_arrow_left.png" COMP;
-         image: "icon_arrow_right.png" COMP;
-         image: "icon_arrow_down.png" COMP;
-      }
-      parts {
-         part {
-            name:           "event";
-            type:           RECT;
-            repeat_events: 1;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 0;
-            }
-         }
-         part {
-            name: "base";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               image {
-                  normal: "ilist_2.png";
-                  border: 2 2 2 2;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "bg";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -5 -5;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 4 4;
-               }
-               image {
-                  normal: "bt_sm_base1.png";
-                  border: 6 6 6 6;
-               }
-               image.middle: SOLID;
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -2 -2;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 1 1;
-               }
-            }
-         }
-         part { name: "elm.swallow.pad";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 0.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  relative: 0.0  1.0;
-                  offset:   4   -5;
-               }
-            }
-         }
-         part { name: "arrow";
-            clip_to: "disclip";
-            ignore_flags: ON_HOLD;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               aspect: 1.0 1.0;
-               rel1 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  0.0;
-                  offset:   -1    4;
-               }
-               rel2 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  1.0;
-                  offset:   -1   -5;
-               }
-               image.normal: "icon_arrow_right.png";
-            }
-            description { state: "default" 0.1;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_left.png";
-            }
-            description { state: "active" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_down.png";
-            }
-            description { state: "active" 0.1;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_down.png";
-            }
-         }
-         part { name: "elm.swallow.icon";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  to_x: "arrow";
-                  relative: 1.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  to_x: "arrow";
-                  relative: 1.0  1.0;
-                  offset:   4   -5;
-               }
-            }
-         }
-         part { name: "elm.swallow.end";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-               rel1 {
-                  relative: 1.0  0.0;
-                  offset:   -5    4;
-               }
-               rel2 {
-                  relative: 1.0  1.0;
-                  offset:   -5   -5;
-               }
-            }
-         }
-         part { name: "elm.text";
-            clip_to: "disclip";
-            type:           TEXT;
-            effect:         SOFT_SHADOW;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-//               min: 16 16;
-               rel1 {
-                  to_x:     "elm.swallow.icon";
-                  relative: 1.0  0.0;
-                  offset:   0 4;
-               }
-               rel2 {
-                  to_x:     "elm.swallow.end";
-                  relative: 0.0  1.0;
-                  offset:   -1 -5;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 1 1;
-//                  min: 0 1;
-                  align: -1.0 0.5;
-                  text_class: "list_item";
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
-         }
-         part { name: "fg1";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "fg2";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "disclip";
-            type: RECT;
-            description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 255 255 255 64;
-            }
-         }
-      }
-      programs {
-         // signal: elm,state,%s,active
-         //   a "check" item named %s went active
-         // signal: elm,state,%s,passive
-         //   a "check" item named %s went passive
-         // default is passive
-         program {
-            name:    "go_active";
-            signal:  "elm,state,selected";
-            source:  "elm";
-            action:  STATE_SET "selected" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-         }
-         program {
-            name:    "go_passive";
-            signal:  "elm,state,unselected";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text";
-            transition: LINEAR 0.1;
-         }
-         program {
-            name:    "go_disabled";
-            signal:  "elm,state,disabled";
+            name:    "odd";
+            signal:  "elm,state,odd";
             source:  "elm";
-            action:  STATE_SET "disabled" 0.0;
-            target:  "disclip";
+            action:  STATE_SET "default" 1.0;
+            target:  "base_sh";
+            target:  "base";
          }
          program {
-            name:    "go_enabled";
-            signal:  "elm,state,enabled";
+            name:    "even";
+            signal:  "elm,state,even";
             source:  "elm";
             action:  STATE_SET "default" 0.0;
-            target:  "disclip";
-         }
-         program {
-            name:    "expand";
-            signal:  "mouse,up,1";
-            source:  "arrow";
-            action:  SIGNAL_EMIT "elm,action,expand,toggle" "elm";
-         }
-         program {
-            name:    "go_expanded";
-            signal:  "elm,state,expanded";
-            source:  "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               set_state(PART:"arrow", "active", vl);
-            }
-         }
-         program {
-            name:    "go_contracted";
-            signal:  "elm,state,contracted";
-            source:  "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               set_state(PART:"arrow", "default", vl);
-            }
-         }
-         program { name: "to_rtl";
-            signal: "edje,state,rtl";
-            source: "edje";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               if (vl == 0.0) {
-                  set_state(PART:"arrow", st, 0.1);
-               }
-            }
-         }
-         program { name: "to_ltr";
-            signal: "edje,state,ltr";
-            source: "edje";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"arrow", st, 30, vl);
-               if (vl == 0.1) {
-                  set_state(PART:"arrow", st, 0.0);
-               }
-            }
-         }
-      }
-   }
-   group { name: "elm/genlist/tree_compress_odd/default/default";
-      data.item: "stacking" "below";
-      data.item: "selectraise" "on";
-      data.item: "labels" "elm.text";
-      data.item: "icons" "elm.swallow.icon elm.swallow.end";
-      data.item: "treesize" "20";
-//      data.item: "states" "";
-      images {
-         image: "bt_sm_base1.png" COMP;
-         image: "bt_sm_shine.png" COMP;
-         image: "bt_sm_hilight.png" COMP;
-         image: "ilist_2.png" COMP;
-         image: "icon_arrow_left.png" COMP;
-         image: "icon_arrow_right.png" COMP;
-         image: "icon_arrow_down.png" COMP;
-      }
-      parts {
-         part {
-            name:           "event";
-            type:           RECT;
-            repeat_events: 1;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 0;
-            }
-         }
-         part {
-            name: "base";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               image {
-                  normal: "ilist_2.png";
-                  border: 2 2 2 2;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "bg";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -5 -5;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 4 4;
-               }
-               image {
-                  normal: "bt_sm_base1.png";
-                  border: 6 6 6 6;
-               }
-               image.middle: SOLID;
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -2 -2;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 1 1;
-               }
-            }
-         }
-         part { name: "elm.swallow.pad";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 0.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  relative: 0.0  1.0;
-                  offset:   4   -5;
-               }
-            }
-         }
-         part { name: "arrow";
-            clip_to: "disclip";
-            ignore_flags: ON_HOLD;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               aspect: 1.0 1.0;
-               rel1 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  0.0;
-                  offset:   -1    4;
-               }
-               rel2 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  1.0;
-                  offset:   -1   -5;
-               }
-               image.normal: "icon_arrow_right.png";
-            }
-            description { state: "default" 0.1;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_left.png";
-            }
-            description { state: "active" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_down.png";
-            }
-            description { state: "active" 0.1;
-               inherit: "default" 0.0;
-               image.normal: "icon_arrow_down.png";
-            }
-         }
-         part { name: "elm.swallow.icon";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  to_x: "arrow";
-                  relative: 1.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  to_x: "arrow";
-                  relative: 1.0  1.0;
-                  offset:   4   -5;
-               }
-            }
-         }
-         part { name: "elm.swallow.end";
-            clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-               rel1 {
-                  relative: 1.0  0.0;
-                  offset:   -5    4;
-               }
-               rel2 {
-                  relative: 1.0  1.0;
-                  offset:   -5   -5;
-               }
-            }
-         }
-         part { name: "elm.text";
-            clip_to: "disclip";
-            type:           TEXT;
-            effect:         SOFT_SHADOW;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-//               min: 16 16;
-               rel1 {
-                  to_x:     "elm.swallow.icon";
-                  relative: 1.0  0.0;
-                  offset:   0 4;
-               }
-               rel2 {
-                  to_x:     "elm.swallow.end";
-                  relative: 0.0  1.0;
-                  offset:   -1 -5;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-//                  min: 1 1;
-                  min: 0 1;
-                  align: 0.0 0.5;
-                  text_class: "list_item";
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
-         }
-         part { name: "fg1";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "fg2";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "disclip";
-            type: RECT;
-            description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 255 255 255 64;
-            }
+            target:  "base_sh";
+            target:  "base";
          }
-      }
-      programs {
-         // signal: elm,state,%s,active
-         //   a "check" item named %s went active
-         // signal: elm,state,%s,passive
-         //   a "check" item named %s went passive
-         // default is passive
          program {
             name:    "go_active";
             signal:  "elm,state,selected";
@@ -18944,7 +17881,6 @@ collections {
          }
       }
    }
-
    group { name: "elm/genlist/item/default_style/default";
        styles
        {
@@ -23729,168 +22665,499 @@ collections {
                aspect: 1.0 1.0;
             }
          }
-         part { name: "elm.text";
-            type: TEXT;
+         part { name: "elm.text";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1.to_x: "elm.swallow.content";
+               rel1.relative: 1.0 0.0;
+               rel1.offset: 1 1;
+               rel2.relative: 1.0 1.0;
+               rel2.offset: -2 -2;
+               color: 0 0 0 255;
+               text {
+                  font: "Sans,Edje-Vera";
+                  size: 10;
+                  min: 0 0;
+                  align: 0.0 0.5;
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               text.min: 1 1;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 128;
+               color3: 0 0 0 0;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 128;
+               color3: 0 0 0 0;
+               visible: 1;
+               text.min: 1 1;
+            }
+         }
+         part { name: "events";
+            type: RECT;
+            ignore_flags: ON_HOLD;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+          part { name: "disabler";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+               visible: 0;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+      }
+      programs {
+         program { name: "click";
+            signal: "mouse,up,1";
+            source: "events";
+            action: SIGNAL_EMIT "elm,action,radio,toggle" "";
+         }
+         program { name: "radio_on";
+            signal: "elm,state,radio,on";
+            source: "elm";
+            action:  STATE_SET "visible" 0.0;
+            target: "radio";
+         }
+         program { name: "radio_off";
+            signal: "elm,state,radio,off";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "radio";
+         }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            action:  STATE_SET "visible" 0.0;
+            target: "elm.text";
+         }
+         program { name: "text_hide";
+            signal: "elm,state,text,hidden";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+         program { name: "icon_show";
+            signal: "elm,state,icon,visible";
+            source: "elm";
+            action:  STATE_SET "visible" 0.0;
+            target: "elm.swallow.content";
+         }
+         program { name: "icon_hide";
+            signal: "elm,state,icon,hidden";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "elm.swallow.content";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "disabler";
+            after: "disable_text";
+         }
+         program { name: "disable_text";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "disabled_visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled", 0.0);
+
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
+               else
+                 set_state(PART:"elm.swallow.content", "disabled", 0.0);
+            }
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "disabler";
+            after: "enable_text";
+         }
+         program { name: "enable_text";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "disabled_visible"))
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "default", 0.0);
+
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.swallow.content", "visible", 0.0);
+               else
+                 set_state(PART:"elm.swallow.content", "default", 0.0);
+            }
+         }
+      }
+   }
+   group { name: "elm/genlist/tree_compress_odd/double_label/default";
+      data.item: "stacking" "below";
+      data.item: "selectraise" "on";
+      data.item: "labels" "elm.text elm.text.sub";
+      data.item: "icons" "elm.swallow.icon elm.swallow.end";
+      data.item: "treesize" "20";
+//      data.item: "states" "";
+      images {
+         image: "bt_sm_base1.png" COMP;
+         image: "bt_sm_shine.png" COMP;
+         image: "bt_sm_hilight.png" COMP;
+         image: "ilist_2.png" COMP;
+         image: "icon_arrow_right.png" COMP;
+         image: "icon_arrow_down.png" COMP;
+      }
+      parts {
+         part {
+            name:           "event";
+            type:           RECT;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "ilist_2.png";
+                  border: 2 2 2 2;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part { name: "bg";
+            clip_to: "disclip";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -5 -5;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 4 4;
+               }
+               image {
+                  normal: "bt_sm_base1.png";
+                  border: 6 6 6 6;
+               }
+               image.middle: SOLID;
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 -2;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 1 1;
+               }
+            }
+         }
+         part { name: "elm.swallow.pad";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 0.0  0.0;
+                  offset:   4    4;
+               }
+               rel2 {
+                  relative: 0.0  1.0;
+                  offset:   4   -5;
+               }
+            }
+         }
+         part { name: "arrow";
+            clip_to: "disclip";
+            ignore_flags: ON_HOLD;
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
+               aspect: 1.0 1.0;
+               rel1 {
+                  to_x: "elm.swallow.pad";
+                  relative: 1.0  0.0;
+                  offset:   -1    4;
+               }
+               rel2 {
+                  to_x: "elm.swallow.pad";
+                  relative: 1.0  1.0;
+                  offset:   -1   -5;
+               }
+               image.normal: "icon_arrow_right.png";
+            }
+            description { state: "active" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "icon_arrow_down.png";
+            }
+         }
+         part { name: "elm.swallow.icon";
+            clip_to: "disclip";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
+               rel1 {
+                  to_x: "arrow";
+                  relative: 1.0  0.0;
+                  offset:   4    4;
+               }
+               rel2 {
+                  to_x: "arrow";
+                  relative: 1.0  1.0;
+                  offset:   4   -5;
+               }
+            }
+         }
+         part { name: "elm.swallow.end";
+            clip_to: "disclip";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               fixed: 1 0;
+               align: 1.0 0.5;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               rel1 {
+                  relative: 1.0  0.0;
+                  offset:   -5    4;
+               }
+               rel2 {
+                  relative: 1.0  1.0;
+                  offset:   -5   -5;
+               }
+            }
+         }
+         part { name: "elm.text";
+            clip_to: "disclip";
+            type:           TEXT;
+            effect:         SOFT_SHADOW;
+            mouse_events:   0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+//               min: 16 16;
+               rel1 {
+                  to_x:     "elm.swallow.icon";
+                  relative: 1.0  0.0;
+                  offset:   0 4;
+               }
+               rel2 {
+                  to_x:     "elm.swallow.end";
+                  relative: 0.0  0.5;
+                  offset:   -1 -5;
+               }
+               color: 0 0 0 255;
+               color3: 0 0 0 0;
+               text {
+                  font: "Sans";
+                  size: 10;
+//                  min: 1 1;
+                  min: 0 1;
+                  align: 0.0 0.5;
+                  text_class: "list_item";
+               }
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color: 224 224 224 255;
+               color3: 0 0 0 64;
+            }
+         }
+         part { name: "elm.text.sub";
+            clip_to: "disclip";
+            type:           TEXT;
+            mouse_events:   0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+//               min: 16 16;
+               rel1 {
+                  to_x:     "elm.swallow.icon";
+                  relative: 1.0  0.5;
+                  offset:   0 4;
+               }
+               rel2 {
+                  to_x:     "elm.swallow.end";
+                  relative: 0.0  1.0;
+                  offset:   -1 -5;
+               }
+               color: 0 0 0 128;
+               color3: 0 0 0 0;
+               text {
+                  font: "Sans";
+                  size: 8;
+//                  min: 1 1;
+                  min: 0 1;
+                  align: 0.0 0.5;
+                  text_class: "list_item";
+               }
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color: 128 128 128 255;
+               color3: 0 0 0 32;
+            }
+         }
+         part { name: "fg1";
+            clip_to: "disclip";
             mouse_events: 0;
-            scale: 1;
             description { state: "default" 0.0;
                visible: 0;
-               rel1.to_x: "elm.swallow.content";
-               rel1.relative: 1.0 0.0;
-               rel1.offset: 1 1;
-               rel2.relative: 1.0 1.0;
-               rel2.offset: -2 -2;
-               color: 0 0 0 255;
-               text {
-                  font: "Sans,Edje-Vera";
-                  size: 10;
-                  min: 0 0;
-                  align: 0.0 0.5;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.relative: 1.0 0.5;
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_hilight.png";
+                  border: 6 6 6 0;
                }
             }
-            description { state: "visible" 0.0;
+            description { state: "selected" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               text.min: 1 1;
+               color: 255 255 255 255;
             }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 0 0 0 128;
-               color3: 0 0 0 0;
+         }
+         part { name: "fg2";
+            clip_to: "disclip";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_shine.png";
+                  border: 6 6 6 0;
+               }
             }
-            description { state: "disabled_visible" 0.0;
+            description { state: "selected" 0.0;
                inherit: "default" 0.0;
-               color: 0 0 0 128;
-               color3: 0 0 0 0;
                visible: 1;
-               text.min: 1 1;
-            }
-         }
-         part { name: "events";
-            type: RECT;
-            ignore_flags: ON_HOLD;
-            description { state: "default" 0.0;
-               color: 0 0 0 0;
+               color: 255 255 255 255;
             }
          }
-          part { name: "disabler";
+         part { name: "disclip";
             type: RECT;
             description { state: "default" 0.0;
-               color: 0 0 0 0;
-               visible: 0;
+               rel1.to: "bg";
+               rel2.to: "bg";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
+               color: 255 255 255 64;
             }
          }
       }
       programs {
-         program { name: "click";
-            signal: "mouse,up,1";
-            source: "events";
-            action: SIGNAL_EMIT "elm,action,radio,toggle" "";
-         }
-         program { name: "radio_on";
-            signal: "elm,state,radio,on";
-            source: "elm";
-            action:  STATE_SET "visible" 0.0;
-            target: "radio";
-         }
-         program { name: "radio_off";
-            signal: "elm,state,radio,off";
-            source: "elm";
-            action:  STATE_SET "default" 0.0;
-            target: "radio";
-         }
-         program { name: "text_show";
-            signal: "elm,state,text,visible";
-            source: "elm";
-            action:  STATE_SET "visible" 0.0;
-            target: "elm.text";
+         // signal: elm,state,%s,active
+         //   a "check" item named %s went active
+         // signal: elm,state,%s,passive
+         //   a "check" item named %s went passive
+         // default is passive
+         program {
+            name:    "go_active";
+            signal:  "elm,state,selected";
+            source:  "elm";
+            action:  STATE_SET "selected" 0.0;
+            target:  "bg";
+            target:  "fg1";
+            target:  "fg2";
+            target:  "elm.text";
+            target:  "elm.text.sub";
          }
-         program { name: "text_hide";
-            signal: "elm,state,text,hidden";
-            source: "elm";
+         program {
+            name:    "go_passive";
+            signal:  "elm,state,unselected";
+            source:  "elm";
             action:  STATE_SET "default" 0.0;
-            target: "elm.text";
+            target:  "bg";
+            target:  "fg1";
+            target:  "fg2";
+            target:  "elm.text";
+            target:  "elm.text.sub";
+            transition: LINEAR 0.1;
          }
-         program { name: "icon_show";
-            signal: "elm,state,icon,visible";
-            source: "elm";
-            action:  STATE_SET "visible" 0.0;
-            target: "elm.swallow.content";
+         program {
+            name:    "go_disabled";
+            signal:  "elm,state,disabled";
+            source:  "elm";
+            action:  STATE_SET "disabled" 0.0;
+            target:  "disclip";
          }
-         program { name: "icon_hide";
-            signal: "elm,state,icon,hidden";
-            source: "elm";
+         program {
+            name:    "go_enabled";
+            signal:  "elm,state,enabled";
+            source:  "elm";
             action:  STATE_SET "default" 0.0;
-            target: "elm.swallow.content";
-         }
-         program { name: "disable";
-            signal: "elm,state,disabled";
-            source: "elm";
-            action: STATE_SET "disabled" 0.0;
-            target: "disabler";
-            after: "disable_text";
+            target:  "disclip";
          }
-         program { name: "disable_text";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.text", "disabled_visible", 0.0);
-               else
-                 set_state(PART:"elm.text", "disabled", 0.0);
-
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.swallow.content", "disabled_visible", 0.0);
-               else
-                 set_state(PART:"elm.swallow.content", "disabled", 0.0);
-            }
+         program {
+            name:    "expand";
+            signal:  "mouse,up,1";
+            source:  "arrow";
+            action:  SIGNAL_EMIT "elm,action,expand,toggle" "elm";
          }
-         program { name: "enable";
-            signal: "elm,state,enabled";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "disabler";
-            after: "enable_text";
+         program {
+            name:    "go_expanded";
+            signal:  "elm,state,expanded";
+            source:  "elm";
+            action:  STATE_SET "active" 0.0;
+            target:  "arrow";
          }
-         program { name: "enable_text";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "disabled_visible"))
-                 set_state(PART:"elm.text", "visible", 0.0);
-               else
-                 set_state(PART:"elm.text", "default", 0.0);
-
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.swallow.content", "visible", 0.0);
-               else
-                 set_state(PART:"elm.swallow.content", "default", 0.0);
-            }
+         program {
+            name:    "go_contracted";
+            signal:  "elm,state,contracted";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "arrow";
          }
       }
    }
-   group { name: "elm/genlist/tree_compress_odd/double_label/default";
-      data.item: "stacking" "below";
+
+   group { name: "elm/genlist/item_compress/media/default";
+      data.item: "stacking" "above";
       data.item: "selectraise" "on";
-      data.item: "labels" "elm.text elm.text.sub";
-      data.item: "icons" "elm.swallow.icon elm.swallow.end";
+      data.item: "labels" "elm.text.title elm.text.album-artist";
       data.item: "treesize" "20";
-//      data.item: "states" "";
       images {
          image: "bt_sm_base1.png" COMP;
          image: "bt_sm_shine.png" COMP;
          image: "bt_sm_hilight.png" COMP;
-         image: "ilist_2.png" COMP;
-         image: "icon_arrow_right.png" COMP;
-         image: "icon_arrow_down.png" COMP;
+         image: "ilist_1.png" COMP;
+         image: "ilist_item_shadow.png" COMP;
       }
       parts {
          part {
@@ -23903,12 +23170,36 @@ collections {
             }
          }
          part {
+            name: "base_sh";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.0;
+               min: 0 10;
+               fixed: 1 1;
+               rel1 {
+                  to: "base";
+                  relative: 0.0 1.0;
+                  offset: 0 0;
+               }
+               rel2 {
+                  to: "base";
+                  relative: 1.0 1.0;
+                  offset: -1 0;
+               }
+               image {
+                  normal: "ilist_item_shadow.png";
+               }
+               fill.smooth: 0;
+            }
+         }
+         part {
             name: "base";
             mouse_events: 0;
             description {
                state: "default" 0.0;
                image {
-                  normal: "ilist_2.png";
+                  normal: "ilist_1.png";
                   border: 2 2 2 2;
                }
                fill.smooth: 0;
@@ -23963,67 +23254,245 @@ collections {
                }
             }
          }
-         part { name: "arrow";
+         part { name: "elm.text.title";
             clip_to: "disclip";
-            ignore_flags: ON_HOLD;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               aspect: 1.0 1.0;
+            type:           TEXT;
+            effect:         SOFT_SHADOW;
+            mouse_events:   0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
                rel1 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  0.0;
-                  offset:   -1    4;
+                  relative: 0.0  0.0;
+                  offset:   4 4;
                }
                rel2 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  1.0;
-                  offset:   -1   -5;
+                  relative: 1.0  0.5;
+                  offset:   -1 -5;
+               }
+               color: 0 0 0 255;
+               color3: 0 0 0 0;
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 0 1;
+                  align: 0.0 0.5;
                }
-               image.normal: "icon_arrow_right.png";
             }
-            description { state: "active" 0.0;
+            description { state: "selected" 0.0;
                inherit: "default" 0.0;
-               image.normal: "icon_arrow_down.png";
+               color: 224 224 224 255;
+               color3: 0 0 0 64;
             }
          }
-         part { name: "elm.swallow.icon";
+         part { name: "elm.text.album-artist";
             clip_to: "disclip";
-            type: SWALLOW;
-            description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
+            type:           TEXT;
+            mouse_events:   0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
                rel1 {
-                  to_x: "arrow";
-                  relative: 1.0  0.0;
-                  offset:   4    4;
+                  relative: 0.0  0.5;
+                  offset:   4 4;
                }
                rel2 {
-                  to_x: "arrow";
                   relative: 1.0  1.0;
-                  offset:   4   -5;
+                  offset:   -1 -5;
+               }
+               color: 0 0 0 128;
+               color3: 0 0 0 0;
+               text {
+                  font: "Sans";
+                  size: 8;
+                  min: 0 1;
+                  align: 0.0 0.5;
                }
             }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color: 128 128 128 255;
+               color3: 0 0 0 32;
+            }
          }
-         part { name: "elm.swallow.end";
+         part { name: "fg1";
+            clip_to: "disclip";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.relative: 1.0 0.5;
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_hilight.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part { name: "fg2";
+            clip_to: "disclip";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_shine.png";
+                  border: 6 6 6 0;
+               }
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part { name: "disclip";
+            type: RECT;
+            description { state: "default" 0.0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 64;
+            }
+         }
+      }
+      programs {
+         // signal: elm,state,%s,active
+         //   a "check" item named %s went active
+         // signal: elm,state,%s,passive
+         //   a "check" item named %s went passive
+         // default is passive
+         program {
+            name:    "go_active";
+            signal:  "elm,state,selected";
+            source:  "elm";
+            action:  STATE_SET "selected" 0.0;
+            target:  "bg";
+            target:  "fg1";
+            target:  "fg2";
+            target:  "elm.text.title";
+            target:  "elm.text.album-artist";
+         }
+         program {
+            name:    "go_passive";
+            signal:  "elm,state,unselected";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "bg";
+            target:  "fg1";
+            target:  "fg2";
+            target:  "elm.text.title";
+            target:  "elm.text.album-artist";
+            transition: LINEAR 0.1;
+         }
+         program {
+            name:    "go_disabled";
+            signal:  "elm,state,disabled";
+            source:  "elm";
+            action:  STATE_SET "disabled" 0.0;
+            target:  "disclip";
+         }
+         program {
+            name:    "go_enabled";
+            signal:  "elm,state,enabled";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "disclip";
+         }
+      }
+   }
+   group { name: "elm/genlist/item_compress_odd/media/default";
+      data.item: "stacking" "below";
+      data.item: "selectraise" "on";
+      data.item: "labels" "elm.text.title elm.text.album-artist";
+      data.item: "treesize" "20";
+      images {
+         image: "bt_sm_base1.png" COMP;
+         image: "bt_sm_shine.png" COMP;
+         image: "bt_sm_hilight.png" COMP;
+         image: "ilist_2.png" COMP;
+      }
+      parts {
+         part { name: "event";
+            type: RECT;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "base";
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               image {
+                  normal: "ilist_2.png";
+                  border: 2 2 2 2;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part { name: "bg";
             clip_to: "disclip";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -5 -5;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 4 4;
+               }
+               image {
+                  normal: "bt_sm_base1.png";
+                  border: 6 6 6 6;
+               }
+               image.middle: SOLID;
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -2 -2;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 1 1;
+               }
+            }
+         }
+         part { name: "elm.swallow.pad";
             type: SWALLOW;
             description { state: "default" 0.0;
                fixed: 1 0;
-               align: 1.0 0.5;
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
+               align: 0.0 0.5;
                rel1 {
-                  relative: 1.0  0.0;
-                  offset:   -5    4;
+                  relative: 0.0  0.0;
+                  offset:   4    4;
                }
                rel2 {
-                  relative: 1.0  1.0;
-                  offset:   -5   -5;
+                  relative: 0.0  1.0;
+                  offset:   4   -5;
                }
             }
          }
-         part { name: "elm.text";
+         part { name: "elm.text.title";
             clip_to: "disclip";
             type:           TEXT;
             effect:         SOFT_SHADOW;
@@ -24031,15 +23500,12 @@ collections {
             scale: 1;
             description {
                state: "default" 0.0;
-//               min: 16 16;
                rel1 {
-                  to_x:     "elm.swallow.icon";
-                  relative: 1.0  0.0;
-                  offset:   0 4;
+                  relative: 0.0  0.0;
+                  offset:   4 4;
                }
                rel2 {
-                  to_x:     "elm.swallow.end";
-                  relative: 0.0  0.5;
+                  relative: 1.0  0.5;
                   offset:   -1 -5;
                }
                color: 0 0 0 255;
@@ -24047,10 +23513,8 @@ collections {
                text {
                   font: "Sans";
                   size: 10;
-//                  min: 1 1;
                   min: 0 1;
                   align: 0.0 0.5;
-                  text_class: "list_item";
                }
             }
             description { state: "selected" 0.0;
@@ -24059,22 +23523,19 @@ collections {
                color3: 0 0 0 64;
             }
          }
-         part { name: "elm.text.sub";
+         part { name: "elm.text.album-artist";
             clip_to: "disclip";
             type:           TEXT;
             mouse_events:   0;
             scale: 1;
             description {
                state: "default" 0.0;
-//               min: 16 16;
                rel1 {
-                  to_x:     "elm.swallow.icon";
-                  relative: 1.0  0.5;
-                  offset:   0 4;
+                  relative: 0.0  0.5;
+                  offset:   4 4;
                }
                rel2 {
-                  to_x:     "elm.swallow.end";
-                  relative: 0.0  1.0;
+                  relative: 1.0  1.0;
                   offset:   -1 -5;
                }
                color: 0 0 0 128;
@@ -24082,10 +23543,8 @@ collections {
                text {
                   font: "Sans";
                   size: 8;
-//                  min: 1 1;
                   min: 0 1;
                   align: 0.0 0.5;
-                  text_class: "list_item";
                }
             }
             description { state: "selected" 0.0;
@@ -24159,8 +23618,8 @@ collections {
             target:  "bg";
             target:  "fg1";
             target:  "fg2";
-            target:  "elm.text";
-            target:  "elm.text.sub";
+            target:  "elm.text.title";
+            target:  "elm.text.album-artist";
          }
          program {
             name:    "go_passive";
@@ -24170,8 +23629,8 @@ collections {
             target:  "bg";
             target:  "fg1";
             target:  "fg2";
-            target:  "elm.text";
-            target:  "elm.text.sub";
+            target:  "elm.text.title";
+            target:  "elm.text.album-artist";
             transition: LINEAR 0.1;
          }
          program {
@@ -24188,33 +23647,14 @@ collections {
             action:  STATE_SET "default" 0.0;
             target:  "disclip";
          }
-         program {
-            name:    "expand";
-            signal:  "mouse,up,1";
-            source:  "arrow";
-            action:  SIGNAL_EMIT "elm,action,expand,toggle" "elm";
-         }
-         program {
-            name:    "go_expanded";
-            signal:  "elm,state,expanded";
-            source:  "elm";
-            action:  STATE_SET "active" 0.0;
-            target:  "arrow";
-         }
-         program {
-            name:    "go_contracted";
-            signal:  "elm,state,contracted";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "arrow";
-         }
       }
    }
 
-   group { name: "elm/genlist/item_compress/media/default";
+   group { name: "elm/genlist/item_compress/media-album/default";
       data.item: "stacking" "above";
       data.item: "selectraise" "on";
-      data.item: "labels" "elm.text.title elm.text.album-artist";
+      data.item: "labels" "elm.text.title elm.text.trackno elm.text.length";
+      data.item: "states" "elm.state.trackno";
       data.item: "treesize" "20";
       images {
          image: "bt_sm_base1.png" COMP;
@@ -24223,10 +23663,13 @@ collections {
          image: "ilist_1.png" COMP;
          image: "ilist_item_shadow.png" COMP;
       }
+      script {
+         public dot_visible;
+      }
       parts {
          part {
-            name:           "event";
-            type:           RECT;
+            name: "event";
+            type: RECT;
             repeat_events: 1;
             description {
                state: "default" 0.0;
@@ -24318,6 +23761,97 @@ collections {
                }
             }
          }
+         part {
+            name: "elm.text.trackno";
+            type: TEXT;
+            scale: 1;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+               align: 0.0 0.0;
+               fixed: 1 0;
+               rel1 {
+                  to_y: "elm.text.title";
+                  relative: 0.0 0.0;
+                  offset: 5 0;
+               }
+               rel2 {
+                  to_y: "elm.text.title";
+                  relative: 0.0 1.0;
+                  offset: 20 0;
+               }
+               color: 0 0 0 255;
+               color3: 0 0 0 0;
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 1.0 0.5;
+               }
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color: 224 224 224 255;
+               color3: 0 0 0 64;
+            }
+         }
+         part {
+            name: "dot";
+            type: TEXT;
+            scale: 1;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+               visible: 0;
+               fixed: 1 1;
+               align: 0.0 0.0;
+               rel1 {
+                  to_x: "elm.text.trackno";
+                  to_y: "elm.text.title";
+                  relative: 1.0 0.0;
+                  offset: 1 0;
+               }
+               rel2 {
+                  to_x: "elm.text.trackno";
+                  to_y: "elm.text.title";
+                  relative: 1.0 1.0;
+                  offset: 1 0;
+
+               }
+               color: 0 0 0 255;
+               color3: 0 0 0 0;
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text: ".";
+               }
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color: 224 224 224 255;
+               color3: 0 0 0 64;
+               visible: 1;
+            }
+         }
+         programs {
+            program {
+               signal: "elm,state,elm.state.trackno,active";
+               source: "elm";
+               script {
+                  set_state(PART:"dot", "visible", 0.0);
+                  set_int(dot_visible, 1);
+               }
+            }
+         }
          part { name: "elm.text.title";
             clip_to: "disclip";
             type:           TEXT;
@@ -24327,6 +23861,7 @@ collections {
             description {
                state: "default" 0.0;
                rel1 {
+                  to_x: "dot";
                   relative: 0.0  0.0;
                   offset:   4 4;
                }
@@ -24349,7 +23884,7 @@ collections {
                color3: 0 0 0 64;
             }
          }
-         part { name: "elm.text.album-artist";
+         part { name: "elm.text.length";
             clip_to: "disclip";
             type:           TEXT;
             mouse_events:   0;
@@ -24445,7 +23980,16 @@ collections {
             target:  "fg1";
             target:  "fg2";
             target:  "elm.text.title";
-            target:  "elm.text.album-artist";
+            target:  "elm.text.trackno";
+            target:  "elm.text.length";
+            after:   "dot_active";
+         }
+         program {
+            name: "dot_active";
+            script {
+               if (get_int(dot_visible) == 1)
+                  set_state(PART:"dot", "selected", 0.0);
+            }
          }
          program {
             name:    "go_passive";
@@ -24456,8 +24000,17 @@ collections {
             target:  "fg1";
             target:  "fg2";
             target:  "elm.text.title";
-            target:  "elm.text.album-artist";
+            target:  "elm.text.length";
+            target:  "elm.text.trackno";
             transition: LINEAR 0.1;
+            after:   "dot_passive";
+         }
+         program {
+            name: "dot_passive";
+            script {
+               if (get_int(dot_visible) == 1)
+                  set_state(PART:"dot", "visible", 0.0);
+            }
          }
          program {
             name:    "go_disabled";
@@ -24475,10 +24028,11 @@ collections {
          }
       }
    }
-   group { name: "elm/genlist/item_compress_odd/media/default";
+   group { name: "elm/genlist/item_compress_odd/media-album/default";
       data.item: "stacking" "below";
       data.item: "selectraise" "on";
-      data.item: "labels" "elm.text.title elm.text.album-artist";
+      data.item: "labels" "elm.text.title elm.text.trackno elm.text.length";
+      data.item: "states" "elm.state.trackno";
       data.item: "treesize" "20";
       images {
          image: "bt_sm_base1.png" COMP;
@@ -24486,6 +24040,9 @@ collections {
          image: "bt_sm_hilight.png" COMP;
          image: "ilist_2.png" COMP;
       }
+      script {
+         public dot_visible;
+      }
       parts {
          part { name: "event";
             type: RECT;
@@ -24556,6 +24113,97 @@ collections {
                }
             }
          }
+         part {
+            name: "elm.text.trackno";
+            type: TEXT;
+            scale: 1;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+               align: 0.0 0.0;
+               fixed: 1 0;
+               rel1 {
+                  to_y: "elm.text.title";
+                  relative: 0.0 0.0;
+                  offset: 5 0;
+               }
+               rel2 {
+                  to_y: "elm.text.title";
+                  relative: 0.0 1.0;
+                  offset: 20 0;
+               }
+               color: 0 0 0 255;
+               color3: 0 0 0 0;
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 1.0 0.5;
+               }
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color: 224 224 224 255;
+               color3: 0 0 0 64;
+            }
+         }
+         part {
+            name: "dot";
+            type: TEXT;
+            scale: 1;
+            mouse_events: 0;
+            description {
+               state: "default" 0.0;
+               color: 255 255 255 255;
+               visible: 0;
+               fixed: 1 1;
+               align: 0.0 0.0;
+               rel1 {
+                  to_x: "elm.text.trackno";
+                  to_y: "elm.text.title";
+                  relative: 1.0 0.0;
+                  offset: 1 0;
+               }
+               rel2 {
+                  to_x: "elm.text.trackno";
+                  to_y: "elm.text.title";
+                  relative: 1.0 1.0;
+                  offset: 1 0;
+
+               }
+               color: 0 0 0 255;
+               color3: 0 0 0 0;
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: 0.0 0.5;
+                  text: ".";
+               }
+            }
+            description {
+               state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               color: 224 224 224 255;
+               color3: 0 0 0 64;
+               visible: 1;
+            }
+         }
+         programs {
+            program {
+               signal: "elm,state,elm.state.trackno,active";
+               source: "elm";
+               script {
+                  set_state(PART:"dot", "visible", 0.0);
+                  set_int(dot_visible, 1);
+               }
+            }
+         }
          part { name: "elm.text.title";
             clip_to: "disclip";
             type:           TEXT;
@@ -24565,7 +24213,8 @@ collections {
             description {
                state: "default" 0.0;
                rel1 {
-                  relative: 0.0  0.0;
+                  to_x: "dot";
+                  relative: 1.0  0.0;
                   offset:   4 4;
                }
                rel2 {
@@ -24587,7 +24236,7 @@ collections {
                color3: 0 0 0 64;
             }
          }
-         part { name: "elm.text.album-artist";
+         part { name: "elm.text.length";
             clip_to: "disclip";
             type:           TEXT;
             mouse_events:   0;
@@ -24683,7 +24332,16 @@ collections {
             target:  "fg1";
             target:  "fg2";
             target:  "elm.text.title";
-            target:  "elm.text.album-artist";
+            target:  "elm.text.length";
+            target:  "elm.text.trackno";
+            after:   "dot_active";
+         }
+         program {
+            name: "dot_active";
+            script {
+               if (get_int(dot_visible) == 1)
+                  set_state(PART:"dot", "selected", 0.0);
+            }
          }
          program {
             name:    "go_passive";
@@ -24694,8 +24352,17 @@ collections {
             target:  "fg1";
             target:  "fg2";
             target:  "elm.text.title";
-            target:  "elm.text.album-artist";
+            target:  "elm.text.length";
+            target:  "elm.text.trackno";
             transition: LINEAR 0.1;
+            after:   "dot_passive";
+         }
+         program {
+            name: "dot_passive";
+            script {
+               if (get_int(dot_visible) == 1)
+                  set_state(PART:"dot", "visible", 0.0);
+            }
          }
          program {
             name:    "go_disabled";
@@ -24714,11 +24381,11 @@ collections {
       }
    }
 
-   group { name: "elm/genlist/item_compress/media-album/default";
+   group { name: "elm/genlist/item_compress/media-preview/default";
       data.item: "stacking" "above";
       data.item: "selectraise" "on";
-      data.item: "labels" "elm.text.title elm.text.trackno elm.text.length";
-      data.item: "states" "elm.state.trackno";
+      data.item: "labels" "elm.text.title elm.text.artist";
+      data.item: "icons" "elm.swallow.preview";
       data.item: "treesize" "20";
       images {
          image: "bt_sm_base1.png" COMP;
@@ -24727,9 +24394,6 @@ collections {
          image: "ilist_1.png" COMP;
          image: "ilist_item_shadow.png" COMP;
       }
-      script {
-         public dot_visible;
-      }
       parts {
          part {
             name: "event";
@@ -24825,94 +24489,23 @@ collections {
                }
             }
          }
-         part {
-            name: "elm.text.trackno";
-            type: TEXT;
-            scale: 1;
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255;
-               align: 0.0 0.0;
+         part { name: "elm.swallow.preview";
+            clip_to: "disclip";
+            type: SWALLOW;
+            description { state: "default" 0.0;
                fixed: 1 0;
-               rel1 {
-                  to_y: "elm.text.title";
-                  relative: 0.0 0.0;
-                  offset: 5 0;
-               }
-               rel2 {
-                  to_y: "elm.text.title";
-                  relative: 0.0 1.0;
-                  offset: 20 0;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 1 1;
-                  align: 1.0 0.5;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
-         }
-         part {
-            name: "dot";
-            type: TEXT;
-            scale: 1;
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255;
-               visible: 0;
-               fixed: 1 1;
-               align: 0.0 0.0;
-               rel1 {
-                  to_x: "elm.text.trackno";
-                  to_y: "elm.text.title";
-                  relative: 1.0 0.0;
-                  offset: 1 0;
-               }
-               rel2 {
-                  to_x: "elm.text.trackno";
-                  to_y: "elm.text.title";
-                  relative: 1.0 1.0;
-                  offset: 1 0;
-
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 1 1;
-                  align: 0.0 0.5;
-                  text: ".";
-               }
-            }
-            description {
-               state: "visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-               visible: 1;
-            }
-         }
-         programs {
-            program {
-               signal: "elm,state,elm.state.trackno,active";
-               source: "elm";
-               script {
-                  set_state(PART:"dot", "visible", 0.0);
-                  set_int(dot_visible, 1);
+               align: 0.0 0.5;
+               min: 68 68;
+               max: 68 68;
+               rel1 {
+                  to_x: "elm.swallow.pad";
+                  relative: 1.0  0.0;
+                  offset:   -1    4;
+               }
+               rel2 {
+                  to_x: "elm.swallow.pad";
+                  relative: 1.0  1.0;
+                  offset:   -1   -5;
                }
             }
          }
@@ -24925,8 +24518,8 @@ collections {
             description {
                state: "default" 0.0;
                rel1 {
-                  to_x: "dot";
-                  relative: 0.0  0.0;
+                  to_x:     "elm.swallow.preview";
+                  relative: 1.0  0.0;
                   offset:   4 4;
                }
                rel2 {
@@ -24948,7 +24541,7 @@ collections {
                color3: 0 0 0 64;
             }
          }
-         part { name: "elm.text.length";
+         part { name: "elm.text.artist";
             clip_to: "disclip";
             type:           TEXT;
             mouse_events:   0;
@@ -24956,7 +24549,8 @@ collections {
             description {
                state: "default" 0.0;
                rel1 {
-                  relative: 0.0  0.5;
+                  to_x:     "elm.swallow.preview";
+                  relative: 1.0  0.5;
                   offset:   4 4;
                }
                rel2 {
@@ -25044,16 +24638,7 @@ collections {
             target:  "fg1";
             target:  "fg2";
             target:  "elm.text.title";
-            target:  "elm.text.trackno";
-            target:  "elm.text.length";
-            after:   "dot_active";
-         }
-         program {
-            name: "dot_active";
-            script {
-               if (get_int(dot_visible) == 1)
-                  set_state(PART:"dot", "selected", 0.0);
-            }
+            target:  "elm.text.artist";
          }
          program {
             name:    "go_passive";
@@ -25064,17 +24649,8 @@ collections {
             target:  "fg1";
             target:  "fg2";
             target:  "elm.text.title";
-            target:  "elm.text.length";
-            target:  "elm.text.trackno";
+            target:  "elm.text.artist";
             transition: LINEAR 0.1;
-            after:   "dot_passive";
-         }
-         program {
-            name: "dot_passive";
-            script {
-               if (get_int(dot_visible) == 1)
-                  set_state(PART:"dot", "visible", 0.0);
-            }
          }
          program {
             name:    "go_disabled";
@@ -25092,11 +24668,11 @@ collections {
          }
       }
    }
-   group { name: "elm/genlist/item_compress_odd/media-album/default";
+   group { name: "elm/genlist/item_compress_odd/media-preview/default";
       data.item: "stacking" "below";
       data.item: "selectraise" "on";
-      data.item: "labels" "elm.text.title elm.text.trackno elm.text.length";
-      data.item: "states" "elm.state.trackno";
+      data.item: "labels" "elm.text.title elm.text.artist";
+      data.item: "icons" "elm.swallow.preview";
       data.item: "treesize" "20";
       images {
          image: "bt_sm_base1.png" COMP;
@@ -25104,9 +24680,6 @@ collections {
          image: "bt_sm_hilight.png" COMP;
          image: "ilist_2.png" COMP;
       }
-      script {
-         public dot_visible;
-      }
       parts {
          part { name: "event";
             type: RECT;
@@ -25177,94 +24750,23 @@ collections {
                }
             }
          }
-         part {
-            name: "elm.text.trackno";
-            type: TEXT;
-            scale: 1;
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255;
-               align: 0.0 0.0;
+         part { name: "elm.swallow.preview";
+            clip_to: "disclip";
+            type: SWALLOW;
+            description { state: "default" 0.0;
                fixed: 1 0;
+               align: 0.0 0.5;
+               min: 68 68;
+               max: 68 68;
                rel1 {
-                  to_y: "elm.text.title";
-                  relative: 0.0 0.0;
-                  offset: 5 0;
-               }
-               rel2 {
-                  to_y: "elm.text.title";
-                  relative: 0.0 1.0;
-                  offset: 20 0;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 1 1;
-                  align: 1.0 0.5;
-               }
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
-         }
-         part {
-            name: "dot";
-            type: TEXT;
-            scale: 1;
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               color: 255 255 255 255;
-               visible: 0;
-               fixed: 1 1;
-               align: 0.0 0.0;
-               rel1 {
-                  to_x: "elm.text.trackno";
-                  to_y: "elm.text.title";
-                  relative: 1.0 0.0;
-                  offset: 1 0;
+                  to_x: "elm.swallow.pad";
+                  relative: 1.0  0.0;
+                  offset:   -1    4;
                }
                rel2 {
-                  to_x: "elm.text.trackno";
-                  to_y: "elm.text.title";
-                  relative: 1.0 1.0;
-                  offset: 1 0;
-
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 1 1;
-                  align: 0.0 0.5;
-                  text: ".";
-               }
-            }
-            description {
-               state: "visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-               visible: 1;
-            }
-         }
-         programs {
-            program {
-               signal: "elm,state,elm.state.trackno,active";
-               source: "elm";
-               script {
-                  set_state(PART:"dot", "visible", 0.0);
-                  set_int(dot_visible, 1);
+                  to_x: "elm.swallow.pad";
+                  relative: 1.0  1.0;
+                  offset:   -1   -5;
                }
             }
          }
@@ -25277,7 +24779,7 @@ collections {
             description {
                state: "default" 0.0;
                rel1 {
-                  to_x: "dot";
+                  to_x:     "elm.swallow.preview";
                   relative: 1.0  0.0;
                   offset:   4 4;
                }
@@ -25300,7 +24802,7 @@ collections {
                color3: 0 0 0 64;
             }
          }
-         part { name: "elm.text.length";
+         part { name: "elm.text.artist";
             clip_to: "disclip";
             type:           TEXT;
             mouse_events:   0;
@@ -25308,7 +24810,8 @@ collections {
             description {
                state: "default" 0.0;
                rel1 {
-                  relative: 0.0  0.5;
+                  to_x:     "elm.swallow.preview";
+                  relative: 1.0  0.5;
                   offset:   4 4;
                }
                rel2 {
@@ -25396,16 +24899,7 @@ collections {
             target:  "fg1";
             target:  "fg2";
             target:  "elm.text.title";
-            target:  "elm.text.length";
-            target:  "elm.text.trackno";
-            after:   "dot_active";
-         }
-         program {
-            name: "dot_active";
-            script {
-               if (get_int(dot_visible) == 1)
-                  set_state(PART:"dot", "selected", 0.0);
-            }
+            target:  "elm.text.artist";
          }
          program {
             name:    "go_passive";
@@ -25416,17 +24910,8 @@ collections {
             target:  "fg1";
             target:  "fg2";
             target:  "elm.text.title";
-            target:  "elm.text.length";
-            target:  "elm.text.trackno";
+            target:  "elm.text.artist";
             transition: LINEAR 0.1;
-            after:   "dot_passive";
-         }
-         program {
-            name: "dot_passive";
-            script {
-               if (get_int(dot_visible) == 1)
-                  set_state(PART:"dot", "visible", 0.0);
-            }
          }
          program {
             name:    "go_disabled";
@@ -25445,19 +24930,21 @@ collections {
       }
    }
 
-   group { name: "elm/genlist/item_compress/media-preview/default";
-      data.item: "stacking" "above";
+   group { name: "elm/genlist/item/mode/default";
       data.item: "selectraise" "on";
-      data.item: "labels" "elm.text.title elm.text.artist";
-      data.item: "icons" "elm.swallow.preview";
+      data.item: "labels" "elm.text.mode";
+      data.item: "icons" "elm.swallow.mode";
+      data.item: "mode_part" "elm.swallow.origin";
       data.item: "treesize" "20";
       images {
          image: "bt_sm_base1.png" COMP;
          image: "bt_sm_shine.png" COMP;
          image: "bt_sm_hilight.png" COMP;
          image: "ilist_1.png" COMP;
+         image: "ilist_2.png" COMP;
          image: "ilist_item_shadow.png" COMP;
       }
+
       parts {
          part {
             name: "event";
@@ -25491,6 +24978,11 @@ collections {
                }
                fill.smooth: 0;
             }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
          }
          part {
             name: "base";
@@ -25503,6 +24995,11 @@ collections {
                }
                fill.smooth: 0;
             }
+            description {
+               state: "default" 1.0;
+               inherit: "default" 0.0;
+               image.normal: "ilist_2.png";
+            }
          }
          part { name: "bg";
             clip_to: "disclip";
@@ -25524,6 +25021,9 @@ collections {
                }
                image.middle: SOLID;
             }
+            description { state: "default" 0.1;
+               inherit: "default" 0.0;
+            }
             description { state: "selected" 0.0;
                inherit: "default" 0.0;
                visible: 1;
@@ -25537,103 +25037,388 @@ collections {
                   offset: 1 1;
                }
             }
+            description {
+               state: "selected" 1.0;
+               inherit: "selected" 0.0;
+            }
+         }
+         part { name: "elm.text.mode";
+            clip_to: "disclip";
+            type: TEXT;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel2.relative: 0.5 1.0;
+               color: 0 0 0 255;
+               text {
+                  font: "Sans";
+                  size: 10;
+                  min: 1 1;
+                  align: -1.0 0.5;
+                  text_class: "list_item";
+               }
+            }
          }
-         part { name: "elm.swallow.pad";
+        part { name: "elm.swallow.mode";
+            clip_to: "disclip";
             type: SWALLOW;
             description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 0.0  0.0;
-                  offset:   4    4;
+               rel1.relative: 0.5 0.0;
+            }
+         }
+         part { name: "fg1";
+            clip_to: "disclip";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.relative: 1.0 0.5;
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_hilight.png";
+                  border: 6 6 6 0;
                }
-               rel2 {
-                  relative: 0.0  1.0;
-                  offset:   4   -5;
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "selected" 1.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
+         part { name: "fg2";
+            clip_to: "disclip";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+               image {
+                  normal: "bt_sm_shine.png";
+                  border: 6 6 6 0;
                }
             }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+            description {
+               state: "selected" 1.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
          }
-         part { name: "elm.swallow.preview";
+         // Transparent part between base parts and slidable parts
+         part { name: "event_block_layer";
+            type: RECT;
+            clip_to: "disclip";
+            mouse_events: 1;
+            description { state: "default" 0.0;
+               rel1.to: "base";
+               rel2.to: "base";
+               color: 0 0 0 0;
+            }
+            description { state: "repeat_events" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part { name: "pers";
+            clip_to: "disclip";
+            type: RECT;
+            description { state: "default" 0.0;
+               rel1.relative: 0.0 1.0;
+            }
+         }
+         part { name: "elm.swallow.origin";
             clip_to: "disclip";
             type: SWALLOW;
             description { state: "default" 0.0;
                fixed: 1 0;
                align: 0.0 0.5;
-               min: 68 68;
-               max: 68 68;
-               rel1 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  0.0;
-                  offset:   -1    4;
+            }
+            description { state: "slide" 0.0;
+               inherit: "default" 0.0;
+               rel1.relative: 1 0;
+               rel2.relative: 2 1;
+            }
+            description { state: "rotate" 0.0;
+               inherit: "default" 0.0;
+               map {
+                  perspective: "pers";
+                  on: 1;
+                  smooth: 1;
+                  perspective_on: 1;
+                  backface_cull: 1;
+                  rotation {
+                     center: "pers";
+                     x: 0.0;
+                     y: 0.0;
+                     z: 0.0;
+                  }
                }
-               rel2 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  1.0;
-                  offset:   -1   -5;
+            }
+            description { state: "rotate" 1.0;
+               inherit: "default" 0.0;
+               map {
+                  perspective: "pers";
+                  on: 1;
+                  smooth: 1;
+                  perspective_on: 1;
+                  backface_cull: 1;
+                  rotation {
+                     center: "pers";
+                     x: 90.0;
+                     y: 0.0;
+                     z: 0.0;
+                  }
                }
             }
          }
-         part { name: "elm.text.title";
-            clip_to: "disclip";
-            type:           TEXT;
-            effect:         SOFT_SHADOW;
-            mouse_events:   0;
-            scale: 1;
+         part { name: "disclip";
+            type: RECT;
+            description { state: "default" 0.0;
+               rel1.to: "bg";
+               rel2.to: "bg";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 255 255 255 64;
+            }
+         }
+      }
+      programs {
+         program {
+            name:    "odd";
+            signal:  "elm,state,odd";
+            source:  "elm";
+            action:  STATE_SET "default" 1.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
+            name:    "even";
+            signal:  "elm,state,even";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "base_sh";
+            target:  "base";
+         }
+         program {
+            name:    "go_active";
+            signal:  "elm,state,selected";
+            source:  "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"base", st, 30, vl);
+               set_state(PART:"bg", "selected", vl);
+               set_state(PART:"fg1", "selected", vl);
+               set_state(PART:"fg2", "selected", vl);
+            }
+         }
+         program {
+            name:    "go_passive";
+            signal:  "elm,state,unselected";
+            source:  "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"base", st, 30, vl);
+               set_state(PART:"bg", "default", vl);
+               set_state(PART:"fg1", "default", vl);
+               set_state(PART:"fg2", "default", vl);
+            }
+         }
+         program {
+            name:    "go_disabled";
+            signal:  "elm,state,disabled";
+            source:  "elm";
+            action:  STATE_SET "disabled" 0.0;
+            target:  "disclip";
+         }
+         program {
+            name:    "go_enabled";
+            signal:  "elm,state,enabled";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "disclip";
+         }
+         program {
+            name:    "slide_right";
+            signal:  "elm,state,slide,active";
+            source:  "elm";
+            action:  STATE_SET "slide" 0.0;
+            target:  "elm.swallow.origin";
+            transition: ACCELERATE 0.5;
+            after:   "unblock_event";
+         }
+         program {
+            name:    "unblock_event";
+            action:  STATE_SET "repeat_events" 0.0;
+            target:  "event_block_layer";
+         }
+         program {
+            name:    "slide_left";
+            signal:  "elm,state,slide,passive";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "event_block_layer";
+            after:   "slide_left2";
+         }
+         program {
+            name:    "slide_left2";
+            action:  STATE_SET "default" 0.0;
+            target:  "elm.swallow.origin";
+            transition: DECELERATE 0.5;
+            after:   "slide_left_finished";
+         }
+         program {
+            name:    "slide_left_finished";
+            action:  SIGNAL_EMIT "elm,state,slide,passive,finished" "elm";
+         }
+         program {
+            name:    "rotate_on";
+            signal:  "elm,state,rotate,active";
+            source:  "elm";
+            action:  STATE_SET "rotate" 0.0;
+            target:  "elm.swallow.origin";
+            after:   "rotate_on2";
+         }
+         program {
+            name:    "rotate_on2";
+            action:  STATE_SET "rotate" 1.0;
+            target:  "elm.swallow.origin";
+            transition: LINEAR 0.5;
+            after:   "unblock_event";
+         }
+         program {
+            name:    "rotate_off";
+            signal:  "elm,state,rotate,passive";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "event_block_layer";
+            after:   "rotate_off2";
+         }
+         program {
+            name:    "rotate_off2";
+            action:  STATE_SET "rotate" 0.0;
+            transition: LINEAR 0.5;
+            target:  "elm.swallow.origin";
+            after:   "rotate_off3";
+         }
+         program {
+            name:    "rotate_off3";
+            action:  STATE_SET "default" 0.0;
+            target:  "elm.swallow.origin";
+            after:   "rotate_off_finished";
+         }
+         program {
+            name:    "rotate_off_finished";
+            action:  SIGNAL_EMIT "elm,state,rotate,passive,finished" "elm";
+         }
+      }
+   }
+
+   group { name: "elm/genlist/item_odd/mode/default";
+      data.item: "stacking" "below";
+      data.item: "selectraise" "on";
+      data.item: "labels" "elm.text.mode";
+      data.item: "icons" "elm.swallow.mode";
+      data.item: "mode_part" "elm.swallow.origin";
+      data.item: "treesize" "20";
+      images {
+         image: "bt_sm_base1.png" COMP;
+         image: "bt_sm_shine.png" COMP;
+         image: "bt_sm_hilight.png" COMP;
+         image: "ilist_2.png" COMP;
+      }
+
+      parts {
+         part {
+            name: "event";
+            type: RECT;
+            repeat_events: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part {
+            name: "base";
+            mouse_events: 0;
             description {
                state: "default" 0.0;
+               image {
+                  normal: "ilist_2.png";
+                  border: 2 2 2 2;
+               }
+               fill.smooth: 0;
+            }
+         }
+         part { name: "bg";
+            clip_to: "disclip";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
                rel1 {
-                  to_x:     "elm.swallow.preview";
-                  relative: 1.0  0.0;
-                  offset:   4 4;
+                  relative: 0.0 0.0;
+                  offset: -5 -5;
                }
                rel2 {
-                  relative: 1.0  0.5;
-                  offset:   -1 -5;
+                  relative: 1.0 1.0;
+                  offset: 4 4;
                }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 0 1;
-                  align: 0.0 0.5;
+               image {
+                  normal: "bt_sm_base1.png";
+                  border: 6 6 6 6;
                }
+               image.middle: SOLID;
             }
             description { state: "selected" 0.0;
                inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
-         }
-         part { name: "elm.text.artist";
-            clip_to: "disclip";
-            type:           TEXT;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
                rel1 {
-                  to_x:     "elm.swallow.preview";
-                  relative: 1.0  0.5;
-                  offset:   4 4;
+                  relative: 0.0 0.0;
+                  offset: -2 -2;
                }
                rel2 {
-                  relative: 1.0  1.0;
-                  offset:   -1 -5;
+                  relative: 1.0 1.0;
+                  offset: 1 1;
                }
-               color: 0 0 0 128;
-               color3: 0 0 0 0;
+            }
+         }
+         part { name: "elm.text.mode";
+            clip_to: "disclip";
+            type: TEXT;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel2.relative: 0.5 1.0;
+               color: 0 0 0 255;
                text {
                   font: "Sans";
-                  size: 8;
-                  min: 0 1;
-                  align: 0.0 0.5;
+                  size: 10;
+                  min: 1 1;
+                  align: 0.5 0.5;
+                  text_class: "list_item";
                }
             }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               color: 128 128 128 255;
-               color3: 0 0 0 32;
+         }
+        part { name: "elm.swallow.mode";
+            clip_to: "disclip";
+            type: SWALLOW;
+            description { state: "default" 0.0;
+               rel1.relative: 0.5 0.0;
             }
          }
          part { name: "fg1";
@@ -25675,266 +25460,72 @@ collections {
                color: 255 255 255 255;
             }
          }
-         part { name: "disclip";
-            type: RECT;
-            description { state: "default" 0.0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 255 255 255 64;
-            }
-         }
-      }
-      programs {
-         // signal: elm,state,%s,active
-         //   a "check" item named %s went active
-         // signal: elm,state,%s,passive
-         //   a "check" item named %s went passive
-         // default is passive
-         program {
-            name:    "go_active";
-            signal:  "elm,state,selected";
-            source:  "elm";
-            action:  STATE_SET "selected" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text.title";
-            target:  "elm.text.artist";
-         }
-         program {
-            name:    "go_passive";
-            signal:  "elm,state,unselected";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "bg";
-            target:  "fg1";
-            target:  "fg2";
-            target:  "elm.text.title";
-            target:  "elm.text.artist";
-            transition: LINEAR 0.1;
-         }
-         program {
-            name:    "go_disabled";
-            signal:  "elm,state,disabled";
-            source:  "elm";
-            action:  STATE_SET "disabled" 0.0;
-            target:  "disclip";
-         }
-         program {
-            name:    "go_enabled";
-            signal:  "elm,state,enabled";
-            source:  "elm";
-            action:  STATE_SET "default" 0.0;
-            target:  "disclip";
-         }
-      }
-   }
-   group { name: "elm/genlist/item_compress_odd/media-preview/default";
-      data.item: "stacking" "below";
-      data.item: "selectraise" "on";
-      data.item: "labels" "elm.text.title elm.text.artist";
-      data.item: "icons" "elm.swallow.preview";
-      data.item: "treesize" "20";
-      images {
-         image: "bt_sm_base1.png" COMP;
-         image: "bt_sm_shine.png" COMP;
-         image: "bt_sm_hilight.png" COMP;
-         image: "ilist_2.png" COMP;
-      }
-      parts {
-         part { name: "event";
+         // Transparent part between base parts and slidable parts
+         part { name: "event_block_layer";
             type: RECT;
-            repeat_events: 1;
-            description {
-               state: "default" 0.0;
-               color: 0 0 0 0;
-            }
-         }
-         part {
-            name: "base";
-            mouse_events: 0;
-            description {
-               state: "default" 0.0;
-               image {
-                  normal: "ilist_2.png";
-                  border: 2 2 2 2;
-               }
-               fill.smooth: 0;
-            }
-         }
-         part { name: "bg";
             clip_to: "disclip";
-            mouse_events: 0;
+            mouse_events: 1;
             description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -5 -5;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 4 4;
-               }
-               image {
-                  normal: "bt_sm_base1.png";
-                  border: 6 6 6 6;
-               }
-               image.middle: SOLID;
+               rel1.to: "base";
+               rel2.to: "base";
+               color: 0 0 0 0;
             }
-            description { state: "selected" 0.0;
+            description { state: "repeat_events" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-               rel1 {
-                  relative: 0.0 0.0;
-                  offset: -2 -2;
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  offset: 1 1;
-               }
+               visible: 0;
             }
          }
-         part { name: "elm.swallow.pad";
-            type: SWALLOW;
+         part { name: "pers";
+            clip_to: "disclip";
+            type: RECT;
             description { state: "default" 0.0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 0.0  0.0;
-                  offset:   4    4;
-               }
-               rel2 {
-                  relative: 0.0  1.0;
-                  offset:   4   -5;
-               }
+               rel1.relative: 0.0 1.0;
             }
          }
-         part { name: "elm.swallow.preview";
+         part { name: "elm.swallow.origin";
             clip_to: "disclip";
             type: SWALLOW;
             description { state: "default" 0.0;
                fixed: 1 0;
                align: 0.0 0.5;
-               min: 68 68;
-               max: 68 68;
-               rel1 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  0.0;
-                  offset:   -1    4;
-               }
-               rel2 {
-                  to_x: "elm.swallow.pad";
-                  relative: 1.0  1.0;
-                  offset:   -1   -5;
-               }
             }
-         }
-         part { name: "elm.text.title";
-            clip_to: "disclip";
-            type:           TEXT;
-            effect:         SOFT_SHADOW;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-               rel1 {
-                  to_x:     "elm.swallow.preview";
-                  relative: 1.0  0.0;
-                  offset:   4 4;
-               }
-               rel2 {
-                  relative: 1.0  0.5;
-                  offset:   -1 -5;
-               }
-               color: 0 0 0 255;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 10;
-                  min: 0 1;
-                  align: 0.0 0.5;
-               }
-            }
-            description { state: "selected" 0.0;
+            description { state: "slide" 0.0;
                inherit: "default" 0.0;
-               color: 224 224 224 255;
-               color3: 0 0 0 64;
-            }
-         }
-         part { name: "elm.text.artist";
-            clip_to: "disclip";
-            type:           TEXT;
-            mouse_events:   0;
-            scale: 1;
-            description {
-               state: "default" 0.0;
-               rel1 {
-                  to_x:     "elm.swallow.preview";
-                  relative: 1.0  0.5;
-                  offset:   4 4;
-               }
-               rel2 {
-                  relative: 1.0  1.0;
-                  offset:   -1 -5;
-               }
-               color: 0 0 0 128;
-               color3: 0 0 0 0;
-               text {
-                  font: "Sans";
-                  size: 8;
-                  min: 0 1;
-                  align: 0.0 0.5;
-               }
+               rel1.relative: 1 0;
+               rel2.relative: 2 1;
             }
-            description { state: "selected" 0.0;
+            description { state: "rotate" 0.0;
                inherit: "default" 0.0;
-               color: 128 128 128 255;
-               color3: 0 0 0 32;
-            }
-         }
-         part { name: "fg1";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.relative: 1.0 0.5;
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_hilight.png";
-                  border: 6 6 6 0;
+               map {
+                  perspective: "pers";
+                  on: 1;
+                  smooth: 1;
+                  perspective_on: 1;
+                  backface_cull: 1;
+                  rotation {
+                     center: "pers";
+                     x: 0.0;
+                     y: 0.0;
+                     z: 0.0;
+                  }
                }
             }
-            description { state: "selected" 0.0;
+            description { state: "rotate" 1.0;
                inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
-         }
-         part { name: "fg2";
-            clip_to: "disclip";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               color: 255 255 255 0;
-               rel1.to: "bg";
-               rel2.to: "bg";
-               image {
-                  normal: "bt_sm_shine.png";
-                  border: 6 6 6 0;
+               map {
+                  perspective: "pers";
+                  on: 1;
+                  smooth: 1;
+                  perspective_on: 1;
+                  backface_cull: 1;
+                  rotation {
+                     center: "pers";
+                     x: 90.0;
+                     y: 0.0;
+                     z: 0.0;
+                  }
                }
             }
-            description { state: "selected" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: 255 255 255 255;
-            }
          }
          part { name: "disclip";
             type: RECT;
@@ -25949,11 +25540,6 @@ collections {
          }
       }
       programs {
-         // signal: elm,state,%s,active
-         //   a "check" item named %s went active
-         // signal: elm,state,%s,passive
-         //   a "check" item named %s went passive
-         // default is passive
          program {
             name:    "go_active";
             signal:  "elm,state,selected";
@@ -25962,8 +25548,6 @@ collections {
             target:  "bg";
             target:  "fg1";
             target:  "fg2";
-            target:  "elm.text.title";
-            target:  "elm.text.artist";
          }
          program {
             name:    "go_passive";
@@ -25973,8 +25557,6 @@ collections {
             target:  "bg";
             target:  "fg1";
             target:  "fg2";
-            target:  "elm.text.title";
-            target:  "elm.text.artist";
             transition: LINEAR 0.1;
          }
          program {
@@ -25991,6 +25573,79 @@ collections {
             action:  STATE_SET "default" 0.0;
             target:  "disclip";
          }
+         program {
+            name:    "slide_right";
+            signal:  "elm,state,slide,active";
+            source:  "elm";
+            action:  STATE_SET "slide" 0.0;
+            target:  "elm.swallow.origin";
+            transition: ACCELERATE 0.5;
+            after:   "unblock_event";
+         }
+         program {
+            name:    "unblock_event";
+            action:  STATE_SET "repeat_events" 0.0;
+            target:  "event_block_layer";
+         }
+         program {
+            name:    "slide_left";
+            signal:  "elm,state,slide,passive";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:   "event_block_layer";
+            after:   "slide_left2";
+         }
+         program {
+            name:    "slide_left2";
+            action:  STATE_SET "default" 0.0;
+            target:  "elm.swallow.origin";
+            transition: DECELERATE 0.5;
+            after:   "slide_left_finished";
+         }
+         program {
+            name:    "slide_left_finished";
+            action:  SIGNAL_EMIT "elm,state,slide,passive,finished" "elm";
+         }
+         program {
+            name:    "rotate_on";
+            signal:  "elm,state,rotate,active";
+            source:  "elm";
+            action:  STATE_SET "rotate" 0.0;
+            target:  "elm.swallow.origin";
+            after:   "rotate_on2";
+         }
+         program {
+            name:    "rotate_on2";
+            action:  STATE_SET "rotate" 1.0;
+            target:  "elm.swallow.origin";
+            transition: LINEAR 0.5;
+            after:   "unblock_event";
+         }
+         program {
+            name:    "rotate_off";
+            signal:  "elm,state,rotate,passive";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "event_block_layer";
+            after:   "rotate_off2";
+         }
+         program {
+            name:    "rotate_off2";
+            action:  STATE_SET "rotate" 0.0;
+            transition: LINEAR 0.5;
+            target:  "elm.swallow.origin";
+            after:   "rotate_off3";
+         }
+         program {
+            name:    "rotate_off3";
+            action:  STATE_SET "default" 0.0;
+            target:  "elm.swallow.origin";
+            after:   "rotate_off_finished";
+         }
+         program {
+            name:    "rotate_off_finished";
+            action:  SIGNAL_EMIT "elm,state,rotate,passive,finished" "elm";
+         }
       }
    }
 
@@ -27078,6 +26733,7 @@ collections {
       }
       parts {
          part { name: "elm.background.progressbar";
+            type: RECT;
             mouse_events: 0;
             description {
                state: "default" 0.0;
@@ -27345,6 +27001,7 @@ collections {
            }
          }
          part { name: "progress-rect";
+            type: RECT;
             mouse_events: 0;
             description {
                state: "default" 0.0;
@@ -29409,6 +29066,30 @@ collections {
                color: 0 0 0 0;
             }
          }
+         part { name: "reorder_bg";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 0;
+               color: 255 255 255 0;
+               rel1 {
+                  relative: 0.0 0.0;
+                  offset: -10 -10;
+               }
+               rel2 {
+                  relative: 1.0 1.0;
+                  offset: 12 12;
+               }
+               image {
+                  normal: "bt_bases.png";
+                  border: 6 6 6 6;
+               }
+            }
+            description { state: "enabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 255 255 255 255;
+            }
+         }
          part { name: "base_sh";
             mouse_events: 0;
             description { state: "default" 0.0;
@@ -29645,6 +29326,20 @@ collections {
             action:  STATE_SET "default" 0.0;
             target:  "disclip";
          }
+         program { name:    "go_reorder_disabled";
+            signal:  "elm,state,reorder,disabled";
+            source:  "elm";
+            action:  STATE_SET "default" 0.0;
+            target:  "reorder_bg";
+            transition: DECELERATE 0.5;
+         }
+         program { name:    "go_reorder_enabled";
+            signal:  "elm,state,reorder,enabled";
+            source:  "elm";
+            action:  STATE_SET "enabled" 0.0;
+            target:  "reorder_bg";
+            transition: DECELERATE 0.5;
+         }
       }
    }
    group { name: "elm/gengrid/item/default_style/default";
@@ -33237,7 +32932,7 @@ collections {
         part { name: "elm.swallow.shelf";
            type: SWALLOW;
            description { state: "default" 0.0;
-              fixed: 1 1;
+              fixed: 0 1;
               align: 0.0 0.0;
               rel2.relative: 1.0 0.0;
            }
@@ -33245,17 +32940,27 @@ collections {
         part { name: "elm.swallow.content";
            type: SWALLOW;
            description { state: "default" 0.0;
+              fixed: 0 1;
               align: 0.5 0.5;
               rel1.relative: 0.0 1.0;
               rel1.to_y: "elm.swallow.shelf";
               rel2.relative: 1.0 0.0;
+              rel2.to_y: "elm.swallow.virtualkeypad";
+           }
+        }
+        part { name: "elm.swallow.virtualkeypad";
+           type: SWALLOW;
+           description { state: "default" 0.0;
+              fixed: 0 1;
+              align: 0.0 1.0;
+              rel2.relative: 1.0 0.0;
               rel2.to_y: "elm.swallow.panel";
            }
         }
         part { name: "elm.swallow.panel";
            type: SWALLOW;
            description { state: "default" 0.0;
-              fixed: 1 1;
+              fixed: 0 1;
               align: 0.0 1.0;
               rel1.relative: 0.0 1.0;
            }
@@ -35061,6 +34766,9 @@ collections {
 
       data {
          item: "len_threshold" "14";
+         item: "display_item_num" "3";
+         item: "min_height" "-1";
+         item: "min_width" "-1";
       }
 
       parts {
@@ -35794,7 +35502,7 @@ collections {
          part { name: "elm.text.title";
             type: TEXT;
             effect: SOFT_SHADOW;
-            scale: 1;
+            scale: 1; 
             description { state: "default" 0.0;
                rel1 {
                   to_x: "back";
@@ -36034,6 +35742,637 @@ collections {
       }
    }
 
+///////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/segment_control/base/default";
+#define SEGMENT_TYPE_SINGLE 1
+#define SEGMENT_TYPE_LEFT 2
+#define SEGMENT_TYPE_MIDDLE 3
+#define SEGMENT_TYPE_RIGHT 4
+#define SEGMENT_STATE_NORMAL 1
+#define SEGMENT_STATE_PRESSED 2
+#define SEGMENT_STATE_SELECTED 3
+#define SEGMENT_STATUS_ENABLED 0
+#define SEGMENT_STATUS_DISABLED 1
+      parts {
+         part { name: "bg";
+            type: RECT;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               color: 0 0 0 0;
+               min: 100 40;
+            }
+         }
+      }
+   }
+   group { name: "elm/segment_control/item/default";
+      data.item: "label.wrap.part" "label.bg";
+      styles {
+         style { name: "seg_text_style_normal";
+            base: "font=Sans font_size=16 style=shadow \
+            shadow_color=#2924224d \
+            align=center \
+            color=#ffffffff wrap=char text_class=label";
+            tag:  "br" "\n";
+            tag:  "hilight" "+ font=Sans:style=Bold";
+            tag:  "tab" "\t";
+         }
+         style { name: "seg_text_style_selected";
+            base: "font=Sans:style=Bold font_size=16 style=shadow \
+            shadow_color=#aaaaaa4d \
+            align=center \
+            color=#111111ff wrap=char text_class=label";
+            tag:  "br" "\n";
+            tag:  "hilight" "+ font=Sans:style=Bold";
+            tag:  "b" "+ font=Sans:style=Bold";
+            tag:  "tab" "\t";
+         }
+         style { name: "seg_text_style_disabled";
+            base: "font=Sans:style=Medium font_size=16 style=shadow \
+            shadow_color=#2924224d \
+            align=center color=#2924224d \
+            wrap=char text_class=label";
+            tag:  "br" "\n";
+            tag:  "hilight" "+ font=Sans:style=Bold";
+            tag:  "b" "+ font=Sans:style=Bold";
+            tag:  "tab" "\t";
+         }
+      }
+      images {
+         image: "seg_single_pressed.png" COMP;
+         image: "seg_single_selected.png" COMP;
+         image: "seg_single_normal.png" COMP;
+
+         image: "seg_left_pressed.png" COMP;
+         image: "seg_left_selected.png" COMP;
+         image: "seg_left_normal.png" COMP;
+
+         image: "seg_middle_pressed.png" COMP;
+         image: "seg_middle_selected.png" COMP;
+         image: "seg_middle_normal.png" COMP;
+
+         image: "seg_right_pressed.png" COMP;
+         image: "seg_right_selected.png" COMP;
+         image: "seg_right_normal.png" COMP;
+      }
+      parts {
+         part { name: "segment";
+            mouse_events: 1;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: 1 1;
+               visible: 0;
+               image {
+                  normal: "seg_single_normal.png";
+                  border: 7 7 7 7;
+                  border_scale: 1;
+                  middle: 1;
+               }
+            }
+            description { state: "default_single" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_single_normal.png";
+                  border: 7 7 7 7;
+               }
+            }
+            description { state: "default_left" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+               normal: "seg_left_normal.png";
+                  border:  6 1 7 7;
+               }
+            }
+            description { state: "default_right" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_right_normal.png";
+                  border: 1 6 7 7;
+               }
+            }
+            description { state: "default_middle" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_middle_normal.png";
+                  border: 2 2 2 2;
+               }
+            }
+            description { state: "pressed_single" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_single_pressed.png";
+                  border: 7 7 7 7;
+               }
+            }
+            description { state: "pressed_left" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_left_pressed.png";
+                  border:  6 1 7 7;
+               }
+            }
+            description { state: "pressed_right" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_right_pressed.png";
+                  border: 1 6 7 7;
+               }
+            }
+            description { state: "pressed_middle" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_middle_pressed.png";
+                  border: 1 1 2 2;
+               }
+            }
+            description { state: "selected_single" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_single_selected.png";
+                  border: 7 7 7 7;
+               }
+            }
+            description { state: "selected_left" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_left_selected.png";
+                  border:  6 3 7 7;
+               }
+            }
+            description { state: "selected_right" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_right_selected.png";
+                  border: 3 6 7 7;
+               }
+            }
+            description { state: "selected_middle" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_middle_selected.png";
+                  border: 3 3 3 3;
+               }
+            }
+         }
+         part { name: "padding_left";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 0.0 1.0;
+               min: 2 2;
+               max: 2 2;
+               fixed: 1 0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "padding_right";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 1.0 0.0;
+               rel1.relative: 1.0 0.0;
+               rel2.relative: 1.0 1.0;
+               min: 2 2;
+               max: 2 2;
+               fixed: 1 0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "padding_top";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 0.0;
+               min: 2 2;
+               max: 2 2;
+               fixed: 0 1;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "padding_bottom";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 1.0 1.0;
+               rel1.relative: 0.0 1.0;
+               rel2.relative: 1.0 1.0;
+               min: 2 2;
+               max: 2 2;
+               fixed: 0 1;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "icon.bg";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               visible: 1;
+               fixed: 1 0;
+               rel1 {
+                  to_x: "padding_left";
+                  to_y: "padding_top";
+                  relative: 1.0 1.0;
+               }
+               rel2 {
+                  to: "elm.swallow.icon";
+                  relative: 1.0 1.0;
+               }
+               align: 0.0 0.5;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "padding_icon_text";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0; //when only icon or no icon is there
+               align: 0.0 0.0;
+               rel1 {
+                  to: "icon.bg";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "icon.bg";
+                  relative: 1.0 1.0;
+               }
+               fixed: 1 0;
+               min: 0 0;
+               color: 0 0 0 0;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "visible" 0.0; //when icon is visible
+               inherit: "default" 0.0;
+               min: 2 0;
+            }
+         }
+         part { name: "elm.swallow.icon";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               align: 0.0 0.5;
+               rel1 {
+                  to_x: "padding_left";
+                  to_y: "padding_top";
+                  relative: 1.0 1.0;
+               }
+               rel2 {
+                  to_y: "padding_bottom";
+                  relative: 0.0 0.0;
+               }
+               fixed: 1 0;
+               aspect: 1.0 1.0;
+               aspect_preference: BOTH;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               rel2 {
+                  to_y: "padding_bottom";
+                  relative: 0.3 0.0;
+               }
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               rel2 {
+                  to_x: "padding_right";
+                  to_y: "padding_bottom";
+                  relative: 0.0 0.0;
+               }
+               align: 0.5 0.5;
+            }
+         }
+         part { name: "elm.text";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               visible: 0;
+               fixed: 1 1;
+               min: 1 1;
+               rel1 {
+                  to_x: "padding_icon_text";
+                  relative: 1.0 1.0;
+               }
+               rel2 {
+                  to_x: "padding_right";
+                  relative: 0.0 0.0;
+               }
+               color: 224 224 224 255;
+               color3: 0 0 0 64;
+               text {
+                  font: "Sans";
+                  ellipsis: 0.0;
+                  fit: 1 1;
+                  size: 24;
+                  size_range: 8 36;
+                  min: 0 1;
+               }
+            }
+            description { state: "normal" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 0 0 0 255;
+            }
+            description { state: "selected" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 50 50 50 255;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 200 200 200 255;
+            }
+         }
+         part { name: "disabler";
+            repeat_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+               fixed: 1 1;
+               min: 1 1;
+               align: 0.0 0.5;
+               rel1 { relative: 0.0 0.0; to: "segment";}
+               rel2 { relative: 1.0 1.0; to: "segment";}
+               color: 255 255 255 150;
+            }
+            description { state: "disabled_single" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_single_normal.png";
+                  border: 7 7 7 7;
+               }
+            }
+            description { state: "disabled_left" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_left_normal.png";
+                  border:  6 1 7 7;
+               }
+            }
+            description { state: "disabled_right" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_right_normal.png";
+                  border: 1 6 7 7;
+               }
+            }
+            description { state: "disabled_middle" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               image {
+                  normal: "seg_middle_normal.png";
+                  border: 2 2 2 2;
+               }
+            }
+         }
+      }
+      programs {
+         script {
+            public seg_type; // Single, Left, Middle, Right.
+            public seg_state; // Normal/Default, Pressed, Selected.
+            public seg_status;// Enabled/Default, Disabled
+
+            public update_state() {
+               new type, state, disabled;
+               type = get_int(seg_type);
+               state = get_int(seg_state);
+               disabled = get_int(seg_status);
+
+               if(state == SEGMENT_STATE_NORMAL)
+                 {
+                    if(type == SEGMENT_TYPE_SINGLE)
+                      set_state(PART:"segment", "default_single", 0.0);
+                    else if(type == SEGMENT_TYPE_LEFT)
+                      set_state(PART:"segment", "default_left", 0.0);
+                    else if(type == SEGMENT_TYPE_MIDDLE)
+                      set_state(PART:"segment", "default_middle", 0.0);
+                    else if(type == SEGMENT_TYPE_RIGHT)
+                      set_state(PART:"segment", "default_right", 0.0);
+                    set_state(PART:"elm.text", "normal", 0.0);
+                 }
+               else if(state == SEGMENT_STATE_PRESSED)
+                 {
+                    if(type == SEGMENT_TYPE_SINGLE)
+                      set_state(PART:"segment", "pressed_single", 0.0);
+                    else if(type == SEGMENT_TYPE_LEFT)
+                      set_state(PART:"segment", "pressed_left", 0.0);
+                    else if(type == SEGMENT_TYPE_MIDDLE)
+                      set_state(PART:"segment", "pressed_middle", 0.0);
+                    else if(type == SEGMENT_TYPE_RIGHT)
+                      set_state(PART:"segment", "pressed_right", 0.0);
+                    set_state(PART:"elm.text", "pressed", 0.0);
+                 }
+               else if(state == SEGMENT_STATE_SELECTED)
+                 {
+                    if(type == SEGMENT_TYPE_SINGLE)
+                      set_state(PART:"segment", "selected_single", 0.0);
+                    else if(type == SEGMENT_TYPE_LEFT)
+                      set_state(PART:"segment", "selected_left", 0.0);
+                    else if(type == SEGMENT_TYPE_MIDDLE)
+                      set_state(PART:"segment", "selected_middle", 0.0);
+                    else if(type == SEGMENT_TYPE_RIGHT)
+                      set_state(PART:"segment", "selected_right", 0.0);
+                    set_state(PART:"elm.text", "selected", 0.0);
+                 }
+               if(disabled == SEGMENT_STATUS_DISABLED)
+                 {
+                    if(type == SEGMENT_TYPE_SINGLE)
+                      set_state(PART:"disabler", "disabled_single", 0.0);
+                    else if(type == SEGMENT_TYPE_LEFT)
+                      set_state(PART:"disabler", "disabled_left", 0.0);
+                    else if(type == SEGMENT_TYPE_MIDDLE)
+                      set_state(PART:"disabler", "disabled_middle", 0.0);
+                    else if(type == SEGMENT_TYPE_RIGHT)
+                      set_state(PART:"disabler", "disabled_right", 0.0);
+                    set_state(PART:"elm.text", "disabled", 0.0);
+                 }
+            }
+         }
+         program {
+            name: "segment_type_s";
+            signal: "elm,type,segment,single";
+            source: "elm";
+            script {
+               set_int(seg_type, SEGMENT_TYPE_SINGLE);
+               update_state();
+            }
+         }
+         program {
+            name: "segment_type_l";
+            signal: "elm,type,segment,left";
+            source: "elm";
+            script {
+               set_int(seg_type, SEGMENT_TYPE_LEFT);
+               update_state();
+            }
+         }
+         program {
+            name: "segment_type_m";
+            signal: "elm,type,segment,middle";
+            source: "elm";
+            script {
+               set_int(seg_type, SEGMENT_TYPE_MIDDLE);
+               update_state();
+            }
+         }
+         program {
+            name: "segment_type_r";
+            signal: "elm,type,segment,right";
+            source: "elm";
+            script {
+               set_int(seg_type, SEGMENT_TYPE_RIGHT);
+               update_state();
+            }
+         }
+         program {
+            name: "normal_segment";
+            signal: "elm,state,segment,normal";
+            source: "elm";
+            script {
+               set_int(seg_state, SEGMENT_STATE_NORMAL);
+               update_state();
+            }
+         }
+         program {
+            name: "pressed_segment";
+            signal: "elm,state,segment,pressed";
+            source: "elm";
+            script {
+               set_int(seg_state, SEGMENT_STATE_PRESSED);
+               update_state();
+            }
+         }
+         program {
+            name: "selected_segment";
+            signal: "elm,state,segment,selected";
+            source: "elm";
+            script {
+               set_int(seg_state, SEGMENT_STATE_SELECTED);
+               update_state();
+            }
+         }
+         program { name: "disable_segment";
+            signal: "elm,state,disabled";
+            source: "elm";
+            script {
+               set_int(seg_status, SEGMENT_STATUS_DISABLED);
+               update_state();
+            }
+         }
+         program { name: "enable_segment";
+            signal: "elm,state,enabled";
+            source: "elm";
+            script {
+               set_int(seg_status, SEGMENT_STATUS_ENABLED);
+               update_state();
+            }
+         }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.icon", st, 30, vl);
+               if (!strcmp(st, "icononly"))
+                 {
+                    set_state(PART:"elm.swallow.icon", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "selected"))
+                  set_state(PART:"elm.text", "selected", 0.0);
+               else
+                  set_state(PART:"elm.text", "normal", 0.0);
+            }
+         }
+         program { name: "text_hide";
+            signal: "elm,state,text,hidden";
+            source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.icon", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+                    set_state(PART:"padding_icon_text", "icononly", 0.0);
+                 }
+               set_state(PART:"elm.text", "default", 0.0);
+            }
+         }
+         program { name: "icon_show";
+            signal: "elm,state,icon,visible";
+            source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if ((!strcmp(st, "normal")) || (!strcmp(st, "selected")))
+                 {
+                    set_state(PART:"elm.swallow.icon", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               else
+                 {
+                    set_state(PART:"elm.swallow.icon", "icononly", 0.0);
+                    set_state(PART:"padding_icon_text", "icononly", 0.0);
+                 }
+            }
+         }
+         program { name: "icon_hide";
+            signal: "elm,state,icon,hidden";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "elm.swallow.icon";
+         }
+      }
+#undef SEGMENT_TYPE_SINGLE
+#undef SEGMENT_TYPE_LEFT
+#undef SEGMENT_TYPE_MIDDLE
+#undef SEGMENT_TYPE_RIGHT
+#undef SEGMENT_STATE_NORMAL
+#undef SEGMENT_STATE_PRESSED
+#undef SEGMENT_STATE_SELECTED
+#undef SEGMENT_STATUS_ENABLED
+#undef SEGMENT_STATUS_DISABLED
+   }
+
    /* a simple title layout, with a label and two icons */
    group { name: "elm/layout/application/titlebar";
       images {
@@ -36165,7 +36504,3 @@ collections {
       }
    }
 }
-
-
-
-