[button.edc] Disabled state of button is changed in naviframe/title style.
[framework/uifw/efl-theme-tizen.git] / themes / widgets / button.edc
index 2a33982..8ec3be4 100644 (file)
 #define BUTTON_STATE_ENABLED 0
 #define BUTTON_STATE_DISABLED 1
 
+   sounds {
+      sample {
+         name: "touch_sound" AS_IS;
+         source: "S_Touch_30ms.wav";
+      }
+   }
+
 ///////////////////////////////////////////////////////////////////////////////////////
    group { name: "elm/button/base/style1";
       alias: "elm/button/base/text_only/style1";
@@ -29,6 +36,7 @@
          image: "00_button_01_normal.png" COMP;
          image: "00_button_01_normal_press.png" COMP;
          image: "00_button_01_normal_dim.png" COMP;
+         image: "00_button_01_normal_Focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -53,7 +61,7 @@
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_01_normal_press.png";
+               image.normal: "00_button_01_normal_Focus.png";
             }
          }
          part { name: "padding_left_top";
                   size: BUTTON_TEXT_STYLE1_FONT_SIZE_INC;
                   min: 0 0;
                   max: 1 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
       }
    }
 
-///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/style2";
-      alias: "elm/button/base/text_only/style2";
+//////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/style1/auto_expand";
       images {
-         image: "00_button_04_normal.png" COMP;
-         image: "00_button_04_press.png" COMP;
-         image: "00_button_04_dim.png" COMP;
+         image: "00_button_01_normal.png" COMP;
+         image: "00_button_01_normal_press.png" COMP;
+         image: "00_button_01_normal_dim.png" COMP;
+         image: "00_button_01_normal_Focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
             scale: 1;
             description { state: "default" 0.0;
                image {
-                  normal: "00_button_04_normal.png";
-                  border: BUTTON_TEXT_STYLE2_BG_BORDER_INC;
+                  normal: "00_button_01_normal.png";
+                  border: BUTTON_TEXT_STYLE1_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_04_press.png";
+               image.normal: "00_button_01_normal_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_04_dim.png";
+               image.normal: "00_button_01_normal_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_04_press.png";
+               image.normal: "00_button_01_normal_Focus.png";
             }
          }
          part { name: "padding_left_top";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: BUTTON_TEXT_STYLE2_PADDING_MIN_INC;
+               min: BUTTON_TEXT_STYLE1_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_TEXT_STYLE2_BG_MIN_INC;
+               min: BUTTON_TEXT_STYLE1_BG_MIN_INC;
                visible: 0;
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               min: BUTTON_TEXT_STYLE2_VISIBLE_BG_MIN_INC;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_BG_MIN_INC;
             }
             description { state: "icononly" 0.0;
                inherit: "default" 0.0;
-               min: BUTTON_TEXT_STYLE2_ICONONLY_BG_MIN_INC;
+               min: BUTTON_TEXT_STYLE1_ICONONLY_BG_MIN_INC;
             }
          }
          part { name: "padding_right_bottom";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: BUTTON_TEXT_STYLE2_PADDING_MIN_INC;
+               min: BUTTON_TEXT_STYLE1_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
             }
             description { state: "visible" 0.0;
                visible: 0;
-               min: BUTTON_TEXT_STYLE2_VISIBLE_ICON_RECT_MIN_MAX_INC;
-               max: BUTTON_TEXT_STYLE2_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE1_VISIBLE_ICON_RECT_MIN_MAX_INC;
                fixed: 1 0;
                rel1 {
                   relative: 1.0 1.0;
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: BUTTON_TEXT_STYLE2_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
             }
             description { state: "icononly" 0.0;
                inherit: "default" 0.0;
                   to_y: "padding_right_bottom";
                }
                fixed: 1 0;
-               min: BUTTON_TEXT_STYLE2_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
                visible: 0;
             }
          }
             }
             description { state: "visible" 0.0;
                fixed: 1 0;
-               min: BUTTON_TEXT_STYLE2_VISIBLE_ICON_MIN_MAX_INC;
-               max: BUTTON_TEXT_STYLE2_VISIBLE_ICON_MIN_MAX_INC;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_ICON_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE1_VISIBLE_ICON_MIN_MAX_INC;
                align: 1.0 0.5;
                rel1 {
                   relative: 0.0 1.0;
                }
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_TEXT_STYLE2_ICONONLY_ICON_MIN_MAX_INC;
-               max: BUTTON_TEXT_STYLE2_ICONONLY_ICON_MIN_MAX_INC;
+               min: BUTTON_TEXT_STYLE1_ICONONLY_ICON_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE1_ICONONLY_ICON_MIN_MAX_INC;
             }
          }
          part { name: "elm.text";
                color: BUTTON_TEXT_STYLE1_NORMAL_COLOR_INC;
                text {
                   font: "SLP:style=Medium";
-                  size: BUTTON_TEXT_STYLE2_FONT_SIZE_INC;
-                  min: 0 0;
+                  size: BUTTON_TEXT_STYLE1_FONT_SIZE_INC;
+                  min: 1 0;
                   max: 1 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
       }
    }
 
-///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/sweep";
-      alias: "elm/button/base/text_only/sweep";
+//////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/datetime_ampm/default";
+      inherit: "elm/button/base/style1/auto_expand";
+      script {
+         public button_state = BUTTON_STATE_ENABLED;
+      }
+      parts {
+         part { name: "bg";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: 0 0;
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_DATETIME_AMPM_BG_MIN_INC;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+         }
+      }
+   }
+
+//////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/style1/multiline";
       images {
-         image: "00_button_sweep.png" COMP;
-         image: "00_button_sweep_press.png" COMP;//focus image is missing, so using press
-         image: "00_button_sweep_dim.png" COMP;
+         image: "00_button_01_normal.png" COMP;
+         image: "00_button_01_normal_press.png" COMP;
+         image: "00_button_01_normal_dim.png" COMP;
+         image: "00_button_01_normal_Focus.png" COMP;
+      }
+      styles{
+         style { name: "btn_style1_multiline";
+            base: "font=SLP:style=Roman font_size="BUTTON_TEXT_STYLE1_MULTILINE_FONT_SIZE_INC" align=center color=#ffffff wrap=mixed ellipise=1.0 text_class=slp_roman";
+            tag: "br" "\n";
+            tag: "ps" "ps";
+            tag: "tab" "\t";
+         }
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_SWEEP_BG_NORMAL_MIN_INC;
                image {
-                  normal: "00_button_sweep.png";
-                  border: BUTTON_SWEEP_BG_BORDER_INC;
+                  normal: "00_button_01_normal.png";
+                  border: BUTTON_TEXT_STYLE1_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_sweep_press.png";
+               image.normal: "00_button_01_normal_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_sweep_dim.png";
+               image.normal: "00_button_01_normal_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_sweep_press.png";
+               image.normal: "00_button_01_normal_Focus.png";
             }
          }
          part { name: "padding_left_top";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: BUTTON_SWEEP_PADDING_MIN_INC;
+               min: BUTTON_TEXT_STYLE1_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
          }
+         part { name: "bg";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: BUTTON_TEXT_STYLE1_BG_MIN_INC;
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_BG_MIN_INC;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_TEXT_STYLE1_ICONONLY_BG_MIN_INC;
+            }
+         }
          part { name: "padding_right_bottom";
             type: RECT;
             scale: 1;
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: BUTTON_SWEEP_PADDING_MIN_INC;
+               min: BUTTON_TEXT_STYLE1_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_SWEEP_ICON_RECT_MIN_INC;
+               visible: 0;
+               min: 0 0;
                fixed: 1 0;
                rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "elm.swallow.content";
-                  to_y: "padding_left_top";
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
                }
                rel2 {
                   relative: 1.0 0.0;
-                  to_x: "elm.swallow.content";
+                  to_x: "padding_left_top";
                   to_y: "padding_right_bottom";
                }
                align: 0.0 0.5;
-               color: 0 0 0 0;
+            }
+            description { state: "visible" 0.0;
+               visible: 0;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE1_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               align: 0.0 0.5;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
             }
          }
-         part { name: "padding_icon_text";
+         part { name: "padding_after_icon";
             type: RECT;
             scale: 1;
             mouse_events: 0;
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: 0 0;
-               color: 0 0 0 0;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
+               min: 5 0;
+               visible: 0;
             }
-            description { state: "visible" 0.0; //when icon is visible
+            description { state: "visible" 0.0;
+               visible: 0;
                align: 0.0 0.0;
                rel1 {
                   relative: 1.0 0.0;
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: BUTTON_SWEEP_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
-               color: 0 0 0 0;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+         }
+         part { name: "padding_before_text";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0; //when only icon or no icon is there
+               align: 1.0 0.5;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to_x: "elm.text";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+               visible: 0;
             }
          }
          part { name: "elm.swallow.content";
             }
             description { state: "visible" 0.0;
                fixed: 1 0;
-               align: 0.0 0.5;
+               min: BUTTON_TEXT_STYLE1_VISIBLE_ICON_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE1_VISIBLE_ICON_MIN_MAX_INC;
+               align: 1.0 0.5;
                rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
+                  relative: 0.0 1.0;
+                  to_x: "padding_before_text";
+                  to_y: "padding_left_top";
                }
                rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
+                  relative: 0.0 0.0;
+                  to_x: "padding_before_text";
                   to_y: "padding_right_bottom";
                }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_SWEEP_ICONONLY_ICON_MIN_INC;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
+               min: BUTTON_TEXT_STYLE1_ICONONLY_ICON_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE1_ICONONLY_ICON_MIN_MAX_INC;
             }
          }
          part { name: "elm.text";
-            type: TEXT;
+            type: TEXTBLOCK;
             mouse_events: 0;
             scale: 1;
             clip_to: "clipper";
                visible: 0;
                rel1 {
                   relative: 1.0 1.0;
-                  to_x: "padding_icon_text";
+                  to_x: "padding_after_icon";
                   to_y: "padding_left_top";
                }
                rel2 {
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_SWEEP_BUTTON_TEXT_NORMAL_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_NORMAL_COLOR_INC;
                text {
-                  font: "SLP:style=Medium";
-                  size: BUTTON_SWEEP_FONT_SIZE_INC;
-                  min: 0 0;
+                   style: "btn_style1_multiline";
+                   min: 0 0;
+                   max: 0 1;
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: BUTTON_SWEEP_TEXT_MIN_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
-               color: BUTTON_SWEEP_BUTTON_TEXT_PRESSED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_PRESSED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_SWEEP_BUTTON_TEXT_DISABLED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_DISABLED_COLOR_INC;
                visible: 1;
-               min: BUTTON_SWEEP_TEXT_MIN_INC;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
-               color: BUTTON_SWEEP_BUTTON_TEXT_FOCUSED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
                if (!strcmp(st, "icononly"))
                  {
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                    set_state(PART:"icon_rect", "visible", 0.0);
+                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"bg", "visible", 0.0);
                  }
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"elm.text", "visible", 0.0);
                if (!strcmp(st, "visible"))
                  {
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"padding_icon_text", "icononly", 0.0);
+                    set_state(PART:"icon_rect", "icononly", 0.0);
+                    set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"bg", "icononly", 0.0);
                  }
                set_state(PART:"elm.text", "default", 0.0);
             }
                if (!strcmp(st, "visible"))
                  {
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                    set_state(PART:"icon_rect", "visible", 0.0);
+                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"bg", "visible", 0.0);
                  }
                else
                  {
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"padding_icon_text", "icononly", 0.0);
+                    set_state(PART:"icon_rect", "icononly", 0.0);
+                    set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"bg", "icononly", 0.0);
                  }
             }
          }
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "elm.swallow.content";
-            target: "padding_icon_text";
+            target: "padding_after_icon";
+            target: "icon_rect";
+            target: "bg";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
          }
       }
    }
+
 ///////////////////////////////////////////////////////////////////////////////////////
-group { name: "elm/button/base/searchbar/default";
+   group { name: "elm/button/base/style2";
+      alias: "elm/button/base/text_only/style2";
       images {
-         image: "00_search_input_field_bg.png" COMP;
-         image: "00_button_sweep_press.png" COMP;//focus image is missing, so using press
-         image: "00_button_sweep_dim.png" COMP;
+         image: "00_button_04_normal.png" COMP;
+         image: "00_button_04_press.png" COMP;
+         image: "00_button_04_dim.png" COMP;
+         image: "00_button_04_normal_focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -1363,36 +1476,23 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_SEARCHBAR_BG_NORMAL_MIN_INC;
                image {
-                  normal: "00_search_input_field_bg.png";
-                  border: BUTTON_SEARCHBAR_BG_BORDER_INC;
+                  normal: "00_button_04_normal.png";
+                  border: BUTTON_TEXT_STYLE2_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image {
-                  normal: "00_button_sweep_press.png";
-                  border: BUTTON_SWEEP_BG_BORDER_INC;
-                  border_scale: 1;
-               }
+               image.normal: "00_button_04_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               image {
-                  normal: "00_button_sweep_dim.png";
-                  border: BUTTON_SWEEP_BG_BORDER_INC;
-                  border_scale: 1;
-               }
+               image.normal: "00_button_04_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image {
-                  normal: "00_button_sweep_press.png";
-                  border: BUTTON_SWEEP_BG_BORDER_INC;
-                  border_scale: 1;
-               }
+               image.normal: "00_button_04_normal_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -1402,11 +1502,28 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: BUTTON_SEARCHBAR_PADDING_MIN_INC;
+               min: BUTTON_TEXT_STYLE2_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
          }
+         part { name: "bg";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: BUTTON_TEXT_STYLE2_BG_MIN_INC;
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_BG_MIN_INC;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_TEXT_STYLE2_ICONONLY_BG_MIN_INC;
+            }
+         }
          part { name: "padding_right_bottom";
             type: RECT;
             scale: 1;
@@ -1414,7 +1531,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: BUTTON_SEARCHBAR_PADDING_MIN_INC;
+               min: BUTTON_TEXT_STYLE2_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -1424,23 +1541,41 @@ group { name: "elm/button/base/searchbar/default";
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_SEARCHBAR_ICON_RECT_MIN_INC;
+               visible: 0;
+               min: 0 0;
                fixed: 1 0;
                rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "elm.swallow.content";
-                  to_y: "padding_left_top";
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
                }
                rel2 {
                   relative: 1.0 0.0;
-                  to_x: "elm.swallow.content";
+                  to_x: "padding_left_top";
                   to_y: "padding_right_bottom";
                }
                align: 0.0 0.5;
-               color: 0 0 0 0;
+            }
+            description { state: "visible" 0.0;
+               visible: 0;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE2_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               align: 0.0 0.5;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
             }
          }
-         part { name: "padding_icon_text";
+         part { name: "padding_after_icon";
             type: RECT;
             scale: 1;
             mouse_events: 0;
@@ -1453,12 +1588,10 @@ group { name: "elm/button/base/searchbar/default";
                rel2.to: "icon_rect";
                fixed: 1 0;
                min: 0 0;
-               color: 0 0 0 0;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
+               visible: 0;
             }
-            description { state: "visible" 0.0; //when icon is visible
+            description { state: "visible" 0.0;
+               visible: 0;
                align: 0.0 0.0;
                rel1 {
                   relative: 1.0 0.0;
@@ -1466,8 +1599,31 @@ group { name: "elm/button/base/searchbar/default";
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: BUTTON_SEARCHBAR_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
-               color: 0 0 0 0;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+         }
+         part { name: "padding_before_text";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0; //when only icon or no icon is there
+               align: 1.0 0.5;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to_x: "elm.text";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+               visible: 0;
             }
          }
          part { name: "elm.swallow.content";
@@ -1490,30 +1646,23 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "visible" 0.0;
                fixed: 1 0;
-               align: 0.0 0.5;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_ICON_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE2_VISIBLE_ICON_MIN_MAX_INC;
+               align: 1.0 0.5;
                rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
+                  relative: 0.0 1.0;
+                  to_x: "padding_before_text";
+                  to_y: "padding_left_top";
                }
                rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
+                  relative: 0.0 0.0;
+                  to_x: "padding_before_text";
                   to_y: "padding_right_bottom";
                }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_SEARCHBAR_ICONONLY_ICON_MIN_INC;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
+               min: BUTTON_TEXT_STYLE2_ICONONLY_ICON_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE2_ICONONLY_ICON_MIN_MAX_INC;
             }
          }
          part { name: "elm.text";
@@ -1525,30 +1674,30 @@ group { name: "elm/button/base/searchbar/default";
                visible: 0;
                rel1 {
                   relative: 1.0 1.0;
-                  to_x: "padding_icon_text";
+                  to_x: "padding_after_icon";
                   to_y: "padding_left_top";
                }
                rel2 {
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_SWEEP_BUTTON_TEXT_NORMAL_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_NORMAL_COLOR_INC;
                text {
                   font: "SLP:style=Medium";
-                  size: BUTTON_SEARCHBAR_FONT_SIZE_INC;
+                  size: BUTTON_TEXT_STYLE2_FONT_SIZE_INC;
                   min: 0 0;
+                  max: 1 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: BUTTON_SEARCHBAR_TEXT_MIN_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
-               color: BUTTON_SWEEP_BUTTON_TEXT_PRESSED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_PRESSED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
@@ -1556,15 +1705,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_SWEEP_BUTTON_TEXT_DISABLED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_DISABLED_COLOR_INC;
                visible: 1;
-               min: BUTTON_SWEEP_TEXT_MIN_INC;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
-               color: BUTTON_SWEEP_BUTTON_TEXT_FOCUSED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -1641,9 +1788,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -1656,7 +1807,9 @@ group { name: "elm/button/base/searchbar/default";
                if (!strcmp(st, "icononly"))
                  {
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                    set_state(PART:"icon_rect", "visible", 0.0);
+                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"bg", "visible", 0.0);
                  }
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"elm.text", "visible", 0.0);
@@ -1674,7 +1827,9 @@ group { name: "elm/button/base/searchbar/default";
                if (!strcmp(st, "visible"))
                  {
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"padding_icon_text", "icononly", 0.0);
+                    set_state(PART:"icon_rect", "icononly", 0.0);
+                    set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"bg", "icononly", 0.0);
                  }
                set_state(PART:"elm.text", "default", 0.0);
             }
@@ -1689,12 +1844,16 @@ group { name: "elm/button/base/searchbar/default";
                if (!strcmp(st, "visible"))
                  {
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                    set_state(PART:"icon_rect", "visible", 0.0);
+                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"bg", "visible", 0.0);
                  }
                else
                  {
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"padding_icon_text", "icononly", 0.0);
+                    set_state(PART:"icon_rect", "icononly", 0.0);
+                    set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"bg", "icononly", 0.0);
                  }
             }
          }
@@ -1703,7 +1862,9 @@ group { name: "elm/button/base/searchbar/default";
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "elm.swallow.content";
-            target: "padding_icon_text";
+            target: "padding_after_icon";
+            target: "icon_rect";
+            target: "bg";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
@@ -1767,12 +1928,20 @@ group { name: "elm/button/base/searchbar/default";
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/sweep/delete";
+   group { name: "elm/button/base/style2/multiline";
       images {
-         image: "00_button_sweep.png" COMP;
-         image: "00_button_sweep_press.png" COMP;//focus image is missing, so using press
-         image: "00_button_sweep_dim.png" COMP;
-         image: "00_button_sweep_delete.png" COMP;
+         image: "00_button_04_normal.png" COMP;
+         image: "00_button_04_press.png" COMP;
+         image: "00_button_04_dim.png" COMP;
+         image: "00_button_04_normal_focus.png" COMP;
+      }
+      styles{
+         style { name: "btn_style2_multiline";
+            base: "font=SLP:style=Roman font_size="BUTTON_TEXT_STYLE2_MULTILINE_FONT_SIZE_INC" align=center color=#ffffff wrap=mixed ellipise=1.0 text_class=slp_roman";
+            tag: "br" "\n";
+            tag: "ps" "ps";
+            tag: "tab" "\t";
+         }
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -1781,24 +1950,23 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_SWEEP_BG_NORMAL_MIN_INC;
                image {
-                  normal: "00_button_sweep_delete.png";
-                  border: BUTTON_SWEEP_BG_BORDER_INC;
+                  normal: "00_button_04_normal.png";
+                  border: BUTTON_TEXT_STYLE2_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_sweep_press.png";
+               image.normal: "00_button_04_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_sweep_dim.png";
+               image.normal: "00_button_04_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_sweep_press.png";
+               image.normal: "00_button_04_normal_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -1808,11 +1976,28 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: BUTTON_SWEEP_PADDING_MIN_INC;
+               min: BUTTON_TEXT_STYLE2_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
          }
+         part { name: "bg";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: BUTTON_TEXT_STYLE2_BG_MIN_INC;
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_BG_MIN_INC;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_TEXT_STYLE2_ICONONLY_BG_MIN_INC;
+            }
+         }
          part { name: "padding_right_bottom";
             type: RECT;
             scale: 1;
@@ -1820,7 +2005,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: BUTTON_SWEEP_PADDING_MIN_INC;
+               min: BUTTON_TEXT_STYLE2_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -1830,41 +2015,57 @@ group { name: "elm/button/base/searchbar/default";
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_SWEEP_ICON_RECT_MIN_INC;
+               visible: 0;
+               min: 0 0;
                fixed: 1 0;
                rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "elm.swallow.content";
-                  to_y: "padding_left_top";
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
                }
                rel2 {
                   relative: 1.0 0.0;
-                  to_x: "elm.swallow.content";
+                  to_x: "padding_left_top";
                   to_y: "padding_right_bottom";
                }
                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;
+            description { state: "visible" 0.0;
+               visible: 0;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE2_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               fixed: 1 0;
                rel1 {
-                  relative: 1.0 0.0;
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               align: 0.0 0.5;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+         }
+         part { name: "padding_after_icon";
+            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 {
+                  relative: 1.0 0.0;
                   to: "icon_rect";
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
                min: 0 0;
-               color: 0 0 0 0;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
+               visible: 0;
             }
-            description { state: "visible" 0.0; //when icon is visible
+            description { state: "visible" 0.0;
+               visible: 0;
                align: 0.0 0.0;
                rel1 {
                   relative: 1.0 0.0;
@@ -1872,8 +2073,31 @@ group { name: "elm/button/base/searchbar/default";
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: BUTTON_SWEEP_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
-               color: 0 0 0 0;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+         }
+         part { name: "padding_before_text";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0; //when only icon or no icon is there
+               align: 1.0 0.5;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to_x: "elm.text";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+               visible: 0;
             }
          }
          part { name: "elm.swallow.content";
@@ -1896,62 +2120,56 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "visible" 0.0;
                fixed: 1 0;
-               align: 0.0 0.5;
+               min: BUTTON_TEXT_STYLE2_VISIBLE_ICON_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE2_VISIBLE_ICON_MIN_MAX_INC;
+               align: 1.0 0.5;
                rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
+                  relative: 0.0 1.0;
+                  to_x: "padding_before_text";
+                  to_y: "padding_left_top";
                }
                rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
+                  relative: 0.0 0.0;
+                  to_x: "padding_before_text";
                   to_y: "padding_right_bottom";
                }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_SWEEP_ICONONLY_ICON_MIN_INC;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
+               min: BUTTON_TEXT_STYLE2_ICONONLY_ICON_MIN_MAX_INC;
+               max: BUTTON_TEXT_STYLE2_ICONONLY_ICON_MIN_MAX_INC;
             }
          }
          part { name: "elm.text";
-            type: TEXT;
+            type: TEXTBLOCK;
             mouse_events: 0;
             scale: 1;
             clip_to: "clipper";
             description { state: "default" 0.0;
+               visible: 0;
                rel1 {
                   relative: 1.0 1.0;
-                  to_x: "padding_icon_text";
+                  to_x: "padding_after_icon";
                   to_y: "padding_left_top";
                }
                rel2 {
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_SWEEP_BUTTON_TEXT_NORMAL_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_NORMAL_COLOR_INC;
                text {
-                  font: "SLP:style=Medium";
-                  size: BUTTON_SWEEP_FONT_SIZE_INC;
-                  min: 1 0;
-                  text: "Delete";
+                  style: "btn_style2_multiline";
+                  min: 0 0;
                   max: 1 0;
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
+               visible: 1;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_SWEEP_BUTTON_TEXT_PRESSED_COLOR_INC;
+               visible: 1;
+               color: BUTTON_TEXT_STYLE1_PRESSED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
@@ -1959,13 +2177,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_SWEEP_BUTTON_TEXT_DISABLED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_DISABLED_COLOR_INC;
+               visible: 1;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
-               color: BUTTON_SWEEP_BUTTON_TEXT_FOCUSED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -2042,9 +2260,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -2057,7 +2279,9 @@ group { name: "elm/button/base/searchbar/default";
                if (!strcmp(st, "icononly"))
                  {
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                    set_state(PART:"icon_rect", "visible", 0.0);
+                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"bg", "visible", 0.0);
                  }
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"elm.text", "visible", 0.0);
@@ -2075,7 +2299,9 @@ group { name: "elm/button/base/searchbar/default";
                if (!strcmp(st, "visible"))
                  {
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"padding_icon_text", "icononly", 0.0);
+                    set_state(PART:"icon_rect", "icononly", 0.0);
+                    set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"bg", "icononly", 0.0);
                  }
                set_state(PART:"elm.text", "default", 0.0);
             }
@@ -2090,12 +2316,16 @@ group { name: "elm/button/base/searchbar/default";
                if (!strcmp(st, "visible"))
                  {
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                    set_state(PART:"icon_rect", "visible", 0.0);
+                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"bg", "visible", 0.0);
                  }
                else
                  {
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"padding_icon_text", "icononly", 0.0);
+                    set_state(PART:"icon_rect", "icononly", 0.0);
+                    set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"bg", "icononly", 0.0);
                  }
             }
          }
@@ -2104,7 +2334,9 @@ group { name: "elm/button/base/searchbar/default";
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "elm.swallow.content";
-            target: "padding_icon_text";
+            target: "padding_after_icon";
+            target: "icon_rect";
+            target: "bg";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
@@ -2168,17 +2400,13 @@ group { name: "elm/button/base/searchbar/default";
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/popup_button/default";
-      alias: "elm/button/base/popup_button/menustyle";
-      alias: "elm/button/base/popup_button/liststyle";
-      alias: "elm/button/base/popup_button/volumebarstyle";
-      alias: "elm/button/base/popup_button/customstyle";
-      alias: "elm/button/base/popup_button/verticalbuttonstyle";
+   group { name: "elm/button/base/sweep";
+      alias: "elm/button/base/text_only/sweep";
       images {
-         image: "00_button_popup_normal.png" COMP;
-         image: "00_button_popup_press.png" COMP;
-         image: "00_button_popup_focus.png" COMP;
-         image: "00_button_popup_dim.png" COMP;
+         image: "00_button_sweep.png" COMP;
+         image: "00_button_sweep_press.png" COMP;
+         image: "00_button_sweep_dim.png" COMP;
+         image: "00_button_sweep_focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -2187,24 +2415,24 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_POPUP_BG_NORMAL_MIN_INC;
+               min: BUTTON_SWEEP_BG_NORMAL_MIN_INC;
                image {
-                  normal: "00_button_popup_normal.png";
-                  border: BUTTON_POPUP_BG_BORDER_INC;
+                  normal: "00_button_sweep.png";
+                  border: BUTTON_SWEEP_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_popup_press.png";
+               image.normal: "00_button_sweep_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_popup_dim.png";
+               image.normal: "00_button_sweep_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_popup_focus.png";
+               image.normal: "00_button_sweep_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -2214,7 +2442,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: BUTTON_POPUP_PADDING_MIN_INC;
+               min: BUTTON_SWEEP_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -2222,34 +2450,64 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "padding_right_bottom";
             type: RECT;
             scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               align: 1.0 0.0;
+               align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: BUTTON_POPUP_PADDING_MIN_INC;
+               min: BUTTON_SWEEP_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
          }
+         part { name: "icon_rect";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: BUTTON_SWEEP_ICON_RECT_MIN_INC;
+               fixed: 1 0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_right_bottom";
+               }
+               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 {
                   relative: 1.0 0.0;
-                  to: "elm.swallow.content";
+                  to: "icon_rect";
                }
-               rel2.to: "elm.swallow.content";
+               rel2.to: "icon_rect";
                fixed: 1 0;
                min: 0 0;
-               visible: 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: BUTTON_POPUP_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               fixed: 1 0;
+               min: BUTTON_SWEEP_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+               color: 0 0 0 0;
             }
          }
          part { name: "elm.swallow.content";
@@ -2271,14 +2529,22 @@ group { name: "elm/button/base/searchbar/default";
                fixed: 1 0;
             }
             description { state: "visible" 0.0;
-               inherit: "default" 0.0;
                fixed: 1 0;
-               visible: 1;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
                aspect: 1.0 1.0;
                aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_POPUP_ICON_ICONONLY_MIN_INC;
+               min: BUTTON_SWEEP_ICONONLY_ICON_MIN_INC;
                rel1 {
                   relative: 1.0 1.0;
                   to: "padding_left_top";
@@ -2306,23 +2572,24 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_POPUP_BUTTON_TEXT_NORMAL_COLOR_INC;
+               color: BUTTON_SWEEP_BUTTON_TEXT_NORMAL_COLOR_INC;
                text {
                   font: "SLP:style=Medium";
-                  size: BUTTON_POPUP_TEXT_FONT_SIZE_INC;
+                  size: BUTTON_SWEEP_FONT_SIZE_INC;
                   min: 0 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: BUTTON_POPUP_TEXT_MIN_INC;
+               min: BUTTON_SWEEP_TEXT_MIN_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
                min: 0 0;
-               color: BUTTON_POPUP_BUTTON_TEXT_PRESSED_COLOR_INC;
+               color: BUTTON_SWEEP_BUTTON_TEXT_PRESSED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
@@ -2330,15 +2597,15 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_POPUP_BUTTON_TEXT_DISABLED_COLOR_INC;
+               color: BUTTON_SWEEP_BUTTON_TEXT_DISABLED_COLOR_INC;
                visible: 1;
-               min: BUTTON_POPUP_TEXT_MIN_INC;
+               min: BUTTON_SWEEP_TEXT_MIN_INC;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
                min: 0 0;
-               color: BUTTON_POPUP_BUTTON_TEXT_FOCUSED_COLOR_INC;
+               color: BUTTON_SWEEP_BUTTON_TEXT_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -2415,9 +2682,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -2520,11 +2791,15 @@ group { name: "elm/button/base/searchbar/default";
             }
          }
          program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
             action: STATE_SET "focused" 0.0;
             target: "button_image";
             target: "elm.text";
          }
          program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
             after: "unfocus_text";
@@ -2537,537 +2812,121 @@ group { name: "elm/button/base/searchbar/default";
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-#define BUTTON_CIRCLE_STYLES(style_name, image_normal, image_press, min_width, min_height) \
-   group { name: "elm/button/base/"style_name; \
-      images { \
-         image: "00_btn_circle_bg_normal.png" COMP; \
-         image: "00_btn_circle_bg_press.png" COMP; \
-         image: image_normal COMP; \
-         image: image_press COMP; \
-      } \
-      parts { \
-         part { name: "button_image"; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; \
-               max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; \
-               image.normal: "00_btn_circle_bg_normal.png"; \
-               color: 255 255 255 255; \
-            } \
-            description { \
-               state: "clicked" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "00_btn_circle_bg_press.png"; \
-            } \
-            description { \
-               state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-               color: 255 255 255 128; \
-            } \
-         } \
-         part { name: "button_center_part"; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               min: BUTTON_CIRCLE_STYLE_IMAGE_MIN_MAX_INC; \
-               max: BUTTON_CIRCLE_STYLE_IMAGE_MIN_MAX_INC; \
-               image.normal: image_normal; \
-               color: 255 255 255 255; \
-            } \
-            description { \
-               state: "clicked" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: image_press; \
-            } \
-            description { \
-               state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-               color: 255 255 255 128; \
-            } \
-         } \
-         part { name: "over1"; \
-            type: RECT; \
-            ignore_flags: ON_HOLD; \
-            description { state: "default" 0.0; \
-               color: 0 0 0 0; \
-               min: min_width min_height; \
-            } \
-         } \
-         part { name: "over2"; \
-            repeat_events: 1; \
-            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: "button_click"; \
-            signal: "mouse,down,1"; \
-            source: "over1"; \
-            action: SIGNAL_EMIT "elm,action,press" ""; \
-            after: "button_click_anim"; \
-         } \
-         program { name: "button_click_anim"; \
-            action: STATE_SET "clicked" 0.0; \
-            target: "button_image"; \
-            target: "button_center_part"; \
-         } \
-         program { name: "button_unclick"; \
-            signal: "mouse,up,1"; \
-            source: "over2"; \
-            action: SIGNAL_EMIT "elm,action,unpress" ""; \
-            after: "button_unclick_anim"; \
-         } \
-         program { name: "button_unclick_anim"; \
-            action: STATE_SET "default" 0.0; \
-            target: "button_image"; \
-            target: "button_center_part"; \
-         } \
-         program { name: "button_unclick2"; \
-            signal: "mouse,clicked,1"; \
-            source: "over1"; \
-            action: SIGNAL_EMIT "elm,action,click" ""; \
-         } \
-         program { name: "disable"; \
-            signal: "elm,state,disabled"; \
-            source: "elm"; \
-            action: STATE_SET "disabled" 0.0; \
-            target: "disabler"; \
-            target: "button_image"; \
-            target: "button_center_part"; \
-         } \
-         program { name: "enable"; \
-            signal: "elm,state,enabled"; \
-            source: "elm"; \
-            action: STATE_SET "default" 0.0; \
-            target: "disabler"; \
-            target: "button_image"; \
-            target: "button_center_part"; \
-         } \
-      } \
-   }
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("reveal", "00_button_reveal.png", "00_button_reveal_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("reveal/extended", "00_button_reveal.png", "00_button_reveal_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("expand/closed", "00_button_expand_closed.png", "00_button_expand_closed_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("expand/closed/extended", "00_button_expand_closed.png", "00_button_expand_closed_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("expand/opened", "00_button_expand_opened.png", "00_button_expand_opened_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("expand/opened/extended", "00_button_expand_opened.png", "00_button_expand_opened_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("info", "00_button_info.png", "00_button_info_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("info/extended", "00_button_info.png", "00_button_info_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("rename", "00_button_rename.png", "00_button_rename_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("rename/extended", "00_button_rename.png", "00_button_rename_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("call", "00_button_call.png", "00_button_call_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("call/extended", "00_button_call.png", "00_button_call_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("warning", "00_button_warning.png", "00_button_warning_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("warning/extended", "00_button_warning.png", "00_button_warning_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("plus", "00_button_plus.png", "00_button_plus_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("plus/extended", "00_button_plus.png", "00_button_plus_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("minus", "00_button_minus.png", "00_button_minus_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("minus/extended", "00_button_minus.png", "00_button_minus_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("cancel", "00_button_cancel.png", "00_button_cancel_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("cancel/extended", "00_button_cancel.png", "00_button_cancel_press.png", 60, 70)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("send", "00_button_send.png", "00_button_send_press.png", 40, 40)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_CIRCLE_STYLES("send/extended", "00_button_send.png", "00_button_send_press.png", 60, 70)
-///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/circle/empty";
+   group { name: "elm/button/base/sweep/multiline";
       images {
-         image: "00_btn_circle_bg_normal.png" COMP;
-         image: "00_btn_circle_bg_press.png" COMP;
+         image: "00_button_sweep.png" COMP;
+         image: "00_button_sweep_press.png" COMP;
+         image: "00_button_sweep_dim.png" COMP;
+         image: "00_button_sweep_focus.png" COMP;
+      }
+      styles{
+         style { name: "btn_sweep_multiline";
+            base: "font=SLP:style=Roman font_size="BUTTON_SWEEP_MULTILINE_FONT_SIZE_INC" align=center color=#ffffff wrap=mixed ellipise=1.0 text_class=slp_roman";
+            tag: "br" "\n";
+            tag: "ps" "ps";
+            tag: "tab" "\t";
+         }
+      }
+      script {
+         public button_state = BUTTON_STATE_ENABLED;
       }
       parts {
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
-               max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
-               fixed: 1 1;
-               image.normal: "00_btn_circle_bg_normal.png";
-               color: 255 255 255 255;
+               min: BUTTON_SWEEP_BG_NORMAL_MIN_INC;
+               image {
+                  normal: "00_button_sweep.png";
+                  border: BUTTON_SWEEP_BG_BORDER_INC;
+                  border_scale: 1;
+               }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_btn_circle_bg_press.png";
+               image.normal: "00_button_sweep_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               color: 255 255 255 128;
+               image.normal: "00_button_sweep_dim.png";
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_sweep_focus.png";
             }
          }
-         part { name: "elm.swallow.content";
-            type: SWALLOW;
+         part { name: "padding_left_top";
+            type: RECT;
             scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
-               max: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_SWEEP_PADDING_MIN_INC;
                fixed: 1 1;
-               color: 255 255 255 255;
-            }
-            description {
-               state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 255 255 255 128;
+               visible: 0;
             }
          }
-         part { name: "over1";
+         part { name: "padding_right_bottom";
             type: RECT;
-            ignore_flags: ON_HOLD;
+            scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               color: 0 0 0 0;
+               align: 1.0 1.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_SWEEP_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
             }
          }
-         part { name: "over2";
-            repeat_events: 1;
+         part { name: "icon_rect";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
+               min: BUTTON_SWEEP_ICON_RECT_MIN_INC;
+               fixed: 1 0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_right_bottom";
+               }
+               align: 0.0 0.5;
                color: 0 0 0 0;
             }
          }
-         part { name: "disabler";
+         part { name: "padding_icon_text";
             type: RECT;
-            description { state: "default" 0.0;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0; //when only icon or no icon is there
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               fixed: 1 0;
+               min: 0 0;
                color: 0 0 0 0;
-               visible: 0;
             }
-            description { state: "disabled" 0.0;
+            description { state: "icononly" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-            }
-         }
-      }
-      programs {
-         program { name: "button_click";
-            signal: "mouse,down,1";
-            source: "over1";
-            action: SIGNAL_EMIT "elm,action,press" "";
-            after: "button_click_anim";
-         }
-         program { name: "button_click_anim";
-            action: STATE_SET "clicked" 0.0;
-            target: "button_image";
-         }
-         program { name: "button_unclick";
-            signal: "mouse,up,1";
-            source: "over2";
-            action: SIGNAL_EMIT "elm,action,unpress" "";
-            after: "button_unclick_anim";
-         }
-         program { name: "button_unclick_anim";
-            action: STATE_SET "default" 0.0;
-            target: "button_image";
-         }
-         program { name: "button_unclick2";
-            signal: "mouse,clicked,1";
-            source: "over1";
-            action: SIGNAL_EMIT "elm,action,click" "";
-         }
-         program { name: "disable";
-            signal: "elm,state,disabled";
-            source: "elm";
-            action: STATE_SET "disabled" 0.0;
-            target: "disabler";
-            target: "button_image";
-         }
-         program { name: "enable";
-            signal: "elm,state,enabled";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "disabler";
-            target: "button_image";
-         }
-         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";
-         }
-      }
-   }
-
-///////////////////////////////////////////////////////////////////////////////////////
-#define BUTTON_EDIT_STYLES(style_name, image_normal, image_press, min_width, min_height) \
-   group { name: "elm/button/base/contacts/"style_name; \
-   alias: "elm/button/base/"style_name; \
-      images { \
-         image: image_normal COMP; \
-         image: image_press COMP; \
-         image: "00_button_edit.png" COMP; \
-         image: "00_button_edit_press.png" COMP; \
-         image: "00_button_edit_dim.png" COMP; \
-      } \
-      parts { \
-         part { name: "button_image"; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               min: BUTTON_EDIT_STYLE_BG_NORMAL_MIN_MAX_INC; \
-               max: BUTTON_EDIT_STYLE_BG_NORMAL_MIN_MAX_INC; \
-               image { \
-                  normal: "00_button_edit.png"; \
-                  border: BUTTON_EDIT_STYLE_BORDER_INC; \
-                  border_scale: 1; \
-               } \
-            } \
-            description { \
-               state: "clicked" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "00_button_edit_press.png"; \
-            } \
-            description { \
-               state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: "00_button_edit_dim.png"; \
-            } \
-         } \
-         part { name: "button_center_part"; \
-            mouse_events: 0; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               min: BUTTON_EDIT_STYLE_IMAGE_NORMAL_MIN_MAX_INC; \
-               max: BUTTON_EDIT_STYLE_IMAGE_NORMAL_MIN_MAX_INC; \
-               image { \
-                  normal: image_normal; \
-                  border: BUTTON_EDIT_STYLE_BORDER_INC; \
-                  border_scale: 1; \
-               } \
-            } \
-            description { \
-               state: "clicked" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: image_press; \
-            } \
-         } \
-         part { name: "over1"; \
-            type: RECT; \
-            repeat_events: 1; \
-            ignore_flags: ON_HOLD; \
-            description { state: "default" 0.0; \
-               color: 0 0 0 0; \
-               min: min_width min_height; \
-            } \
-         } \
-         part { name: "over2"; \
-            repeat_events: 1; \
-            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: "button_click"; \
-            signal: "mouse,down,1"; \
-            source: "over1"; \
-            action: SIGNAL_EMIT "elm,action,press" ""; \
-            after: "button_click_anim"; \
-         } \
-         program { name: "button_click_anim"; \
-            action: STATE_SET "clicked" 0.0; \
-            target: "button_image"; \
-            target: "button_center_part"; \
-         } \
-         program { name: "button_unclick"; \
-            signal: "mouse,up,1"; \
-            source: "over2"; \
-            action: SIGNAL_EMIT "elm,action,unpress" ""; \
-            after: "button_unclick_anim"; \
-         } \
-         program { name: "button_unclick_anim"; \
-            action: STATE_SET "default" 0.0; \
-            target: "button_image"; \
-            target: "button_center_part"; \
-         } \
-         program { name: "button_unclick2"; \
-            signal: "mouse,clicked,1"; \
-            source: "over1"; \
-            action: SIGNAL_EMIT "elm,action,click" ""; \
-         } \
-         program { name: "disable"; \
-            signal: "elm,state,disabled"; \
-            source: "elm"; \
-            action: STATE_SET "disabled" 0.0; \
-            target: "disabler"; \
-            target: "button_image"; \
-         } \
-         program { name: "enable"; \
-            signal: "elm,state,enabled"; \
-            source: "elm"; \
-            action: STATE_SET "default" 0.0; \
-            target: "disabler"; \
-            target: "button_image"; \
-         } \
-      } \
-   }
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_EDIT_STYLES("icon_plus", "00_button_icon_plus.png", "00_button_icon_plus_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_EDIT_STYLES("icon_plus/extended", "00_button_icon_plus.png", "00_button_icon_plus_press.png", BUTTON_EDIT_EXTENDED_MIN_WIDTH_INC, BUTTON_EDIT_EXTENDED_MIN_HEIGHT_INC)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_EDIT_STYLES("icon_minus", "00_button_icon_minus.png", "00_button_icon_minus_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_EDIT_STYLES("icon_minus/extended", "00_button_icon_minus.png", "00_button_icon_minus_press.png", BUTTON_EDIT_EXTENDED_MIN_WIDTH_INC, BUTTON_EDIT_EXTENDED_MIN_HEIGHT_INC)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_EDIT_STYLES("icon_expand", "00_button_icon_expand.png", "00_button_icon_expand_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_EDIT_STYLES("icon_expand/extended", "00_button_icon_expand.png", "00_button_icon_expand_press.png", BUTTON_EDIT_EXTENDED_MIN_WIDTH_INC, BUTTON_EDIT_EXTENDED_MIN_HEIGHT_INC)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_EDIT_STYLES("icon_expand_closed", "00_button_icon_expand_closed.png", "00_button_icon_expand_closed_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_EDIT_STYLES("icon_expand_opened", "00_button_icon_expand_opened.png", "00_button_icon_expand_opened_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
-
-///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/contacts/delete";
-      images {
-         image: "00_button_edit.png" COMP;
-         image: "00_button_edit_press.png" COMP;
-         image: "00_button_edit_dim.png" COMP;
-      }
-      script {
-         public button_state = BUTTON_STATE_ENABLED;
-      }
-      parts {
-         part { name: "button_image";
-            scale: 1;
-            description { state: "default" 0.0;
-               min: BUTTON_CONTACT_DELETE_BG_NORMAL_MIN_INC;
-               image {
-                  normal: "00_button_edit.png";
-                  border: BUTTON_CONTACT_DELETE_BG_BORDER_INC;
-                  border_scale: 1;
-               }
-            }
-            description { state: "clicked" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_edit_press.png";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_edit_dim.png";
-            }
-            description { state: "focused" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_button_edit_press.png";
-            }
-         }
-         part { name: "padding_left_top";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 0.0 0.0;
-               rel2.relative: 0.0 0.0;
-               min: BUTTON_CONTACT_DELETE_PADDING_LEFT_TOP_MIN_INC;
-               fixed: 1 1;
-               visible: 0;
-            }
-         }
-         part { name: "padding_right_bottom";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 1.0 1.0;
-               rel1.relative: 1.0 1.0;
-               min: BUTTON_CONTACT_DELETE_PADDING_RIGHT_BOTTOM_MIN_INC;
-               fixed: 1 1;
-               visible: 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 {
-                  relative: 1.0 0.0;
-                  to: "elm.swallow.content";
-               }
-               rel2.to: "elm.swallow.content";
-               fixed: 1 0;
-               min: 0 0;
-               visible: 0;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
-            }
-            description { state: "visible" 0.0; //when icon is visible
-               inherit: "default" 0.0;
-               min: BUTTON_CONTACT_DELETE_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+            }
+            description { state: "visible" 0.0; //when icon is visible
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               fixed: 1 0;
+               min: BUTTON_SWEEP_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+               color: 0 0 0 0;
             }
          }
          part { name: "elm.swallow.content";
@@ -3104,25 +2963,25 @@ group { name: "elm/button/base/searchbar/default";
                aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_CONTACT_DELETE_ICON_ICONONLY_MIN_INC;
+               min: BUTTON_SWEEP_ICONONLY_ICON_MIN_INC;
                rel1 {
                   relative: 1.0 1.0;
                   to: "padding_left_top";
                }
                rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
-               }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
             }
          }
          part { name: "elm.text";
-            type: TEXT;
+            type: TEXTBLOCK;
             mouse_events: 0;
             scale: 1;
             clip_to: "clipper";
             description { state: "default" 0.0;
+               visible: 0;
                rel1 {
                   relative: 1.0 1.0;
                   to_x: "padding_icon_text";
@@ -3132,21 +2991,23 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_TEXT_CONTACTS_DELETE_NORMAL_COLOR_INC;
+               color: BUTTON_SWEEP_BUTTON_TEXT_NORMAL_COLOR_INC;
                text {
-                  font: "SLP:style=Medium";
-                  size: BUTTON_CONTACT_DELETE_FONT_SIZE_INC;
-                  min: 1 0;
-                  text: "Delete";
-                  max: 1 0;
+                  style: "btn_sweep_multiline";
+                  min: 0 0;
+                  max: 0 1;
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
+               visible: 1;
+               min: BUTTON_SWEEP_TEXT_MIN_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_TEXT_CONTACTS_DELETE_PRESSED_COLOR_INC;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_SWEEP_BUTTON_TEXT_PRESSED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
@@ -3154,12 +3015,15 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_TEXT_CONTACTS_DELETE_DISABLED_COLOR_INC;
+               color: BUTTON_SWEEP_BUTTON_TEXT_DISABLED_COLOR_INC;
+               visible: 1;
+               min: BUTTON_SWEEP_TEXT_MIN_INC;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
+               visible: 1;
                min: 0 0;
-               color: BUTTON_TEXT_CONTACTS_DELETE_PRESSED_COLOR_INC;
+               color: BUTTON_SWEEP_BUTTON_TEXT_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -3236,9 +3100,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -3360,48 +3228,39 @@ group { name: "elm/button/base/searchbar/default";
          }
       }
    }
-
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/multiline";
-      alias: "elm/button/base/text_only/multiline";
+group { name: "elm/button/base/searchbar/default";
       images {
-         image: "00_button_04_normal.png" COMP;
-         image: "00_button_04_press.png" COMP;
-         image: "00_button_04_dim.png" COMP;
+         image: "00_button_01_normal.png" COMP;
+         image: "00_button_01_normal_press.png" COMP;
+         image: "00_button_01_normal_dim.png" COMP;
+         image: "00_button_01_normal_Focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
       }
-      styles{
-         style { name: "btn_multiline_style";
-            base: "font=SLP:style=Medium font_size=18 align=center color=#ffffff wrap=mixed";
-            tag: "br" "\n";
-            tag: "ps" "ps";
-            tag: "tab" "\t";
-         }
-      }
       parts {
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: 10 46;
+               min: BUTTON_SEARCHBAR_BG_NORMAL_MIN_INC;
                image {
-                  normal: "00_button_04_normal.png";
-                  border: 4 4 3 3;
+                  normal: "00_button_01_normal.png";
+                  border: BUTTON_DEFAULT_STYLE_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_04_press.png";
+               image.normal: "00_button_01_normal_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_04_dim.png";
+               image.normal: "00_button_01_normal_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_04_press.png";
+               image.normal: "00_button_01_normal_Focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -3411,7 +3270,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: 2 2;
+               min: BUTTON_SEARCHBAR_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -3423,7 +3282,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: 2 2;
+               min: BUTTON_SEARCHBAR_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -3433,8 +3292,7 @@ group { name: "elm/button/base/searchbar/default";
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
-               visible: 1;
-               min: 0 40;
+               min: BUTTON_SEARCHBAR_ICON_RECT_MIN_INC;
                fixed: 1 0;
                rel1 {
                   relative: 0.0 1.0;
@@ -3476,7 +3334,7 @@ group { name: "elm/button/base/searchbar/default";
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: 5 0;
+               min: BUTTON_SEARCHBAR_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
                color: 0 0 0 0;
             }
          }
@@ -3514,21 +3372,20 @@ group { name: "elm/button/base/searchbar/default";
                aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: 40 40;
+               min: BUTTON_SEARCHBAR_ICONONLY_ICON_MIN_INC;
                rel1 {
                   relative: 1.0 1.0;
                   to: "padding_left_top";
                }
                rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
                }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
             }
          }
          part { name: "elm.text";
-            type: TEXTBLOCK;
+            type: TEXT;
             mouse_events: 0;
             scale: 1;
             clip_to: "clipper";
@@ -3543,62 +3400,1652 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_TEXT_STYLE1_NORMAL_COLOR_INC;
+               color: BUTTON_SWEEP_BUTTON_TEXT_NORMAL_COLOR_INC;
                text {
-                  style: "btn_multiline_style";
+                  font: "SLP:style=Medium";
+                  size: BUTTON_SEARCHBAR_FONT_SIZE_INC;
                   min: 0 0;
-                  max: 0 1;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 80 0;
+               min: BUTTON_SEARCHBAR_TEXT_MIN_INC;
+            }
+            description { state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_SWEEP_BUTTON_TEXT_PRESSED_COLOR_INC;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 128;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_SWEEP_BUTTON_TEXT_DISABLED_COLOR_INC;
+               visible: 1;
+               min: BUTTON_SWEEP_TEXT_MIN_INC;
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_SWEEP_BUTTON_TEXT_FOCUSED_COLOR_INC;
+            }
+         }
+         part { name: "over2";
+            type: RECT;
+            repeat_events: 1;
+            ignore_flags: ON_HOLD;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "over3";
+            type: RECT;
+            repeat_events: 1;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "clipper";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         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: "button_click";
+            signal: "mouse,down,1";
+            source: "over2";
+            action: SIGNAL_EMIT "elm,action,press" "";
+            after: "button_click_anim";
+         }
+         program { name: "button_click_anim";
+            action: STATE_SET "clicked" 0.0;
+            target: "button_image";
+            after: "text_clicked";
+         }
+         program { name: "text_clicked";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "clicked", 0.0);
+            }
+         }
+         program { name: "button_unpress";
+            action: SIGNAL_EMIT "elm,action,unpress" "";
+         }
+         program { name: "button_mouseout_clicked";
+            signal: "mouse,up,1";
+            source: "over3";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (strcmp(st, "icononly"))
+                 {
+                    emit("elm,action,default,text,set", "");
+                    set_state(PART:"elm.text", "visible", 0.0);
+                 }
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"button_image", "default", 0.0);
+            }
+            after: button_unpress;
+         }
+         program { name: "touch_snd";
+            signal: "mouse,clicked,1";
+            source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
+            action: SIGNAL_EMIT "elm,action,click" "";
+         }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "icononly"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled_visible", 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.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "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, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               else
+                 {
+                    set_state(PART:"elm.swallow.content", "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.content";
+            target: "padding_icon_text";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "button_image";
+            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);
+               set_int(button_state, BUTTON_STATE_DISABLED);
+            }
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            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);
+               set_int(button_state, BUTTON_STATE_ENABLED);
+            }
+         }
+         program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
+            action: STATE_SET "focused" 0.0;
+            target: "button_image";
+            target: "elm.text";
+         }
+         program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            after: "unfocus_text";
+         }
+         program { name: "unfocus_text";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.text";
+         }
+      }
+   }
+
+///////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/sweep/delete";
+      images {
+         image: "00_button_sweep_dim.png" COMP;
+         image: "00_button_sweep_delete.png" COMP;
+         image: "00_button_sweep_delete_press.png" COMP;
+         image: "00_button_sweep_focus.png" COMP;
+      }
+      script {
+         public button_state = BUTTON_STATE_ENABLED;
+      }
+      parts {
+         part { name: "button_image";
+            scale: 1;
+            description { state: "default" 0.0;
+               min: BUTTON_SWEEP_BG_NORMAL_MIN_INC;
+               image {
+                  normal: "00_button_sweep_delete.png";
+                  border: BUTTON_SWEEP_BG_BORDER_INC;
+                  border_scale: 1;
+               }
+            }
+            description { state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_sweep_delete_press.png";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_sweep_dim.png";
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_sweep_focus.png";
+            }
+         }
+         part { name: "padding_left_top";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_SWEEP_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "padding_right_bottom";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 1.0 1.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_SWEEP_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "icon_rect";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: BUTTON_SWEEP_ICON_RECT_MIN_INC;
+               fixed: 1 0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_right_bottom";
+               }
+               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 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               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
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               fixed: 1 0;
+               min: BUTTON_SWEEP_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               visible: 0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+            }
+            description { state: "visible" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+            }
+            description { state: "icononly" 0.0;
+               min: BUTTON_SWEEP_ICONONLY_ICON_MIN_INC;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+            }
+         }
+         part { name: "elm.text";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "padding_icon_text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
+               }
+               color: BUTTON_SWEEP_BUTTON_TEXT_NORMAL_COLOR_INC;
+               text {
+                  font: "SLP:style=Medium";
+                  size: BUTTON_SWEEP_FONT_SIZE_INC;
+                  min: 1 0;
+                  text: "Delete";
+                  max: 1 0;
+                  text_class: "slp_medium";
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_SWEEP_BUTTON_TEXT_PRESSED_COLOR_INC;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 128;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_SWEEP_BUTTON_TEXT_DISABLED_COLOR_INC;
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_SWEEP_BUTTON_TEXT_FOCUSED_COLOR_INC;
+            }
+         }
+         part { name: "over2";
+            type: RECT;
+            repeat_events: 1;
+            ignore_flags: ON_HOLD;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "over3";
+            type: RECT;
+            repeat_events: 1;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "clipper";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         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: "button_click";
+            signal: "mouse,down,1";
+            source: "over2";
+            action: SIGNAL_EMIT "elm,action,press" "";
+            after: "button_click_anim";
+         }
+         program { name: "button_click_anim";
+            action: STATE_SET "clicked" 0.0;
+            target: "button_image";
+            after: "text_clicked";
+         }
+         program { name: "text_clicked";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "clicked", 0.0);
+            }
+         }
+         program { name: "button_unpress";
+            action: SIGNAL_EMIT "elm,action,unpress" "";
+         }
+         program { name: "button_mouseout_clicked";
+            signal: "mouse,up,1";
+            source: "over3";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (strcmp(st, "icononly"))
+                 {
+                    emit("elm,action,default,text,set", "");
+                    set_state(PART:"elm.text", "visible", 0.0);
+                 }
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"button_image", "default", 0.0);
+            }
+            after: button_unpress;
+         }
+         program { name: "touch_snd";
+            signal: "mouse,clicked,1";
+            source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
+            action: SIGNAL_EMIT "elm,action,click" "";
+         }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "icononly"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled_visible", 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.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "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, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               else
+                 {
+                    set_state(PART:"elm.swallow.content", "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.content";
+            target: "padding_icon_text";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "button_image";
+            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);
+               set_int(button_state, BUTTON_STATE_DISABLED);
+            }
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            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);
+               set_int(button_state, BUTTON_STATE_ENABLED);
+            }
+         }
+         program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
+            action: STATE_SET "focused" 0.0;
+            target: "button_image";
+            target: "elm.text";
+         }
+         program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            after: "unfocus_text";
+         }
+         program { name: "unfocus_text";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.text";
+         }
+      }
+   }
+
+///////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/popup_button/default";
+      alias: "elm/button/base/popup_button/menustyle";
+      alias: "elm/button/base/popup_button/liststyle";
+      alias: "elm/button/base/popup_button/volumebarstyle";
+      alias: "elm/button/base/popup_button/customstyle";
+      alias: "elm/button/base/popup_button/verticalbuttonstyle";
+      images {
+         image: "00_button_popup_normal.png" COMP;
+         image: "00_button_popup_press.png" COMP;
+         image: "00_button_popup_normal_focus.png" COMP;
+         image: "00_button_popup_dim.png" COMP;
+      }
+      script {
+         public button_state = BUTTON_STATE_ENABLED;
+      }
+      parts {
+         part { name: "button_image";
+            scale: 1;
+            description { state: "default" 0.0;
+               min: BUTTON_POPUP_BG_NORMAL_MIN_INC;
+               image {
+                  normal: "00_button_popup_normal.png";
+                  border: BUTTON_POPUP_BG_BORDER_INC;
+                  border_scale: 1;
+               }
+            }
+            description { state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_popup_press.png";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_popup_dim.png";
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_popup_normal_focus.png";
+            }
+         }
+         part { name: "padding_left_top";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_POPUP_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "padding_right_bottom";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               align: 1.0 0.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_POPUP_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "padding_icon_text";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0; //when only icon or no icon is there
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "elm.swallow.content";
+               }
+               rel2.to: "elm.swallow.content";
+               fixed: 1 0;
+               min: 0 0;
+               visible: 0;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "visible" 0.0; //when icon is visible
+               inherit: "default" 0.0;
+               min: BUTTON_POPUP_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+            }
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               visible: 0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               fixed: 1 0;
+               visible: 1;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+            }
+            description { state: "icononly" 0.0;
+               min: BUTTON_POPUP_ICON_ICONONLY_MIN_INC;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+            }
+         }
+         part { name: "elm.text";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "padding_icon_text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
+               }
+               color: BUTTON_POPUP_BUTTON_TEXT_NORMAL_COLOR_INC;
+               text {
+                  font: "SLP:style=Medium";
+                  size: BUTTON_POPUP_TEXT_FONT_SIZE_INC;
+                  min: 0 0;
+                  text_class: "slp_medium";
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: BUTTON_POPUP_TEXT_MIN_INC;
+            }
+            description { state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_POPUP_BUTTON_TEXT_PRESSED_COLOR_INC;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 128;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_POPUP_BUTTON_TEXT_DISABLED_COLOR_INC;
+               visible: 1;
+               min: BUTTON_POPUP_TEXT_MIN_INC;
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_POPUP_BUTTON_TEXT_FOCUSED_COLOR_INC;
+            }
+         }
+         part { name: "over2";
+            type: RECT;
+            repeat_events: 1;
+            ignore_flags: ON_HOLD;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "over3";
+            type: RECT;
+            repeat_events: 1;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "clipper";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         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: "button_click";
+            signal: "mouse,down,1";
+            source: "over2";
+            action: SIGNAL_EMIT "elm,action,press" "";
+            after: "button_click_anim";
+         }
+         program { name: "button_click_anim";
+            action: STATE_SET "clicked" 0.0;
+            target: "button_image";
+            after: "text_clicked";
+         }
+         program { name: "text_clicked";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "clicked", 0.0);
+            }
+         }
+         program { name: "button_unpress";
+            action: SIGNAL_EMIT "elm,action,unpress" "";
+         }
+         program { name: "button_mouseout_clicked";
+            signal: "mouse,up,1";
+            source: "over3";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (strcmp(st, "icononly"))
+                 {
+                    emit("elm,action,default,text,set", "");
+                    set_state(PART:"elm.text", "visible", 0.0);
+                 }
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"button_image", "default", 0.0);
+            }
+            after: button_unpress;
+         }
+         program { name: "touch_snd";
+            signal: "mouse,clicked,1";
+            source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
+            action: SIGNAL_EMIT "elm,action,click" "";
+         }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "icononly"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled_visible", 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.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "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, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               else
+                 {
+                    set_state(PART:"elm.swallow.content", "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.content";
+            target: "padding_icon_text";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "button_image";
+            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);
+               set_int(button_state, BUTTON_STATE_DISABLED);
+            }
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            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);
+               set_int(button_state, BUTTON_STATE_ENABLED);
+            }
+         }
+         program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
+            action: STATE_SET "focused" 0.0;
+            target: "button_image";
+            target: "elm.text";
+         }
+         program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            after: "unfocus_text";
+         }
+         program { name: "unfocus_text";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.text";
+         }
+      }
+   }
+///////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/popup_button/default/multiline";
+      images {
+         image: "00_button_popup_normal.png" COMP;
+         image: "00_button_popup_press.png" COMP;
+         image: "00_button_popup_normal_focus.png" COMP;
+         image: "00_button_popup_dim.png" COMP;
+      }
+      styles{
+         style { name: "btn_popup_multiline_style";
+            base: "font=SLP:style=Roman font_size="BUTTON_POPUP_MULTILINE_TEXT_FONT_SIZE_INC" align=center color=#ffffff wrap=mixed text_class=slp_roman";
+            tag: "br" "\n";
+            tag: "ps" "ps";
+            tag: "tab" "\t";
+         }
+      }
+      script {
+         public button_state = BUTTON_STATE_ENABLED;
+      }
+      parts {
+         part { name: "button_image";
+            scale: 1;
+            description { state: "default" 0.0;
+               min: BUTTON_POPUP_BG_NORMAL_MIN_INC;
+               image {
+                  normal: "00_button_popup_normal.png";
+                  border: BUTTON_POPUP_BG_BORDER_INC;
+                  border_scale: 1;
+               }
+            }
+            description { state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_popup_press.png";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_popup_dim.png";
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_button_popup_normal_focus.png";
+            }
+         }
+         part { name: "padding_left_top";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_POPUP_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "padding_right_bottom";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               align: 1.0 0.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_POPUP_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "padding_icon_text";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0; //when only icon or no icon is there
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "elm.swallow.content";
+               }
+               rel2.to: "elm.swallow.content";
+               fixed: 1 0;
+               min: 0 0;
+               visible: 0;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "visible" 0.0; //when icon is visible
+               inherit: "default" 0.0;
+               min: BUTTON_POPUP_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+            }
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               visible: 0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               fixed: 1 0;
+               visible: 1;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+            }
+            description { state: "icononly" 0.0;
+               min: BUTTON_POPUP_ICON_ICONONLY_MIN_INC;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+            }
+         }
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "padding_icon_text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
+               }
+               color: BUTTON_POPUP_BUTTON_TEXT_NORMAL_COLOR_INC;
+               text {
+                  style: "btn_popup_multiline_style";
+                  min: 0 0;
+                  max: 0 1;
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: BUTTON_POPUP_TEXT_MIN_INC;
+            }
+            description { state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_POPUP_BUTTON_TEXT_PRESSED_COLOR_INC;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 128;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_POPUP_BUTTON_TEXT_DISABLED_COLOR_INC;
+               visible: 1;
+               min: BUTTON_POPUP_TEXT_MIN_INC;
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_POPUP_BUTTON_TEXT_FOCUSED_COLOR_INC;
+            }
+         }
+         part { name: "over2";
+            type: RECT;
+            repeat_events: 1;
+            ignore_flags: ON_HOLD;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "over3";
+            type: RECT;
+            repeat_events: 1;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "clipper";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
+         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: "button_click";
+            signal: "mouse,down,1";
+            source: "over2";
+            action: SIGNAL_EMIT "elm,action,press" "";
+            after: "button_click_anim";
+         }
+         program { name: "button_click_anim";
+            action: STATE_SET "clicked" 0.0;
+            target: "button_image";
+            after: "text_clicked";
+         }
+         program { name: "text_clicked";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "clicked", 0.0);
+            }
+         }
+         program { name: "button_unpress";
+            action: SIGNAL_EMIT "elm,action,unpress" "";
+         }
+         program { name: "button_mouseout_clicked";
+            signal: "mouse,up,1";
+            source: "over3";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (strcmp(st, "icononly"))
+                 {
+                    emit("elm,action,default,text,set", "");
+                    set_state(PART:"elm.text", "visible", 0.0);
+                 }
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"button_image", "default", 0.0);
+            }
+            after: button_unpress;
+         }
+         program { name: "touch_snd";
+            signal: "mouse,clicked,1";
+            source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
+            action: SIGNAL_EMIT "elm,action,click" "";
+         }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "icononly"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled_visible", 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.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "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, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               else
+                 {
+                    set_state(PART:"elm.swallow.content", "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.content";
+            target: "padding_icon_text";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "button_image";
+            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);
+               set_int(button_state, BUTTON_STATE_DISABLED);
+            }
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            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);
+               set_int(button_state, BUTTON_STATE_ENABLED);
+            }
+         }
+         program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
+            action: STATE_SET "focused" 0.0;
+            target: "button_image";
+            target: "elm.text";
+         }
+         program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            after: "unfocus_text";
+         }
+         program { name: "unfocus_text";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.text";
+         }
+      }
+   }
+
+///////////////////////////////////////////////////////////////////////////////////////
+#define BUTTON_CIRCLE_STYLES(style_name, circle_normal, circle_press, image_normal, image_press, min_width, min_height) \
+   group { name: "elm/button/base/"style_name; \
+      images { \
+         image: circle_normal COMP; \
+         image: circle_press COMP; \
+         image: image_normal COMP; \
+         image: image_press COMP; \
+      } \
+      parts { \
+         part { name: "button_image"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; \
+               max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC; \
+               image.normal: circle_normal; \
+               color: 255 255 255 255; \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: circle_press; \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               color: 255 255 255 128; \
+            } \
+         } \
+         part { name: "button_center_part"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: BUTTON_CIRCLE_STYLE_IMAGE_MIN_MAX_INC; \
+               max: BUTTON_CIRCLE_STYLE_IMAGE_MIN_MAX_INC; \
+               image.normal: image_normal; \
+               color: 255 255 255 255; \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: image_press; \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               color: 255 255 255 128; \
+            } \
+         } \
+         part { name: "over1"; \
+            type: RECT; \
+            ignore_flags: ON_HOLD; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+               min: min_width min_height; \
+            } \
+         } \
+         part { name: "over2"; \
+            repeat_events: 1; \
+            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: "button_click"; \
+            signal: "mouse,down,1"; \
+            source: "over1"; \
+            action: SIGNAL_EMIT "elm,action,press" ""; \
+            after: "button_click_anim"; \
+         } \
+         program { name: "button_click_anim"; \
+            action: STATE_SET "clicked" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "button_unclick"; \
+            signal: "mouse,up,1"; \
+            source: "over2"; \
+            action: SIGNAL_EMIT "elm,action,unpress" ""; \
+            after: "button_unclick_anim"; \
+         } \
+         program { name: "button_unclick_anim"; \
+            action: STATE_SET "default" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "touch_snd"; \
+            signal: "mouse,clicked,1"; \
+            source: "over1"; \
+            action: PLAY_SAMPLE "touch_sound" 1.0; \
+            after: button_unclick3; \
+         } \
+         program { name: "button_unclick3"; \
+            action: SIGNAL_EMIT "elm,action,click" ""; \
+         } \
+         program { name: "disable"; \
+            signal: "elm,state,disabled"; \
+            source: "elm"; \
+            action: STATE_SET "disabled" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "enable"; \
+            signal: "elm,state,enabled"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+      } \
+   }
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("reveal", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_reveal.png", "00_button_reveal_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("reveal/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_reveal.png", "00_button_reveal_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("expand/closed", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_expand_closed.png", "00_button_expand_closed_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("expand/closed/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_expand_closed.png", "00_button_expand_closed_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("expand/opened", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_expand_opened.png", "00_button_expand_opened_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("expand/opened/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_expand_opened.png", "00_button_expand_opened_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("info", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_info.png", "00_button_info_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("info/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_info.png", "00_button_info_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("rename", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_rename.png", "00_button_rename_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("rename/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_rename.png", "00_button_rename_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("call", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_call.png", "00_button_call_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("call/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_call.png", "00_button_call_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("warning", "00_btn_circle_bg_normal_01.png", "00_btn_circle_bg_press_01.png", "00_button_warning.png", "00_button_warning_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("warning/extended", "00_btn_circle_bg_normal_01.png", "00_btn_circle_bg_press_01.png", "00_button_warning.png", "00_button_warning_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("plus", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_plus.png", "00_button_plus_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("plus/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_plus.png", "00_button_plus_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("minus", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_minus.png", "00_button_minus_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("minus/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_minus.png", "00_button_minus_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("cancel", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_cancel.png", "00_button_cancel_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("cancel/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_cancel.png", "00_button_cancel_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("send", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_send.png", "00_button_send_press.png", BUTTON_CIRCLE_NORMAL_MIN_WIDTH_INC, BUTTON_CIRCLE_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CIRCLE_STYLES("send/extended", "00_btn_circle_bg_normal.png", "00_btn_circle_bg_press.png", "00_button_send.png", "00_button_send_press.png", BUTTON_CIRCLE_EXTENEDED_MIN_WIDTH_INC, BUTTON_CIRCLE_EXTENEDED_MIN_HEIGHT_INC)
+///////////////////////////////////////////////////////////////////////////////////////
+
+   group { name: "elm/button/base/circle/empty";
+      images {
+         image: "00_btn_circle_bg_normal.png" COMP;
+         image: "00_btn_circle_bg_press.png" COMP;
+      }
+      parts {
+         part { name: "button_image";
+            scale: 1;
+            description { state: "default" 0.0;
+               min: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
+               max: BUTTON_CIRCLE_STYLE_BG_MIN_MAX_INC;
+               fixed: 1 1;
+               image.normal: "00_btn_circle_bg_normal.png";
+               color: 255 255 255 255;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               min: 0 0;
-               color: BUTTON_TEXT_STYLE1_PRESSED_COLOR_INC;
+               image.normal: "00_btn_circle_bg_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               color: 0 0 0 128;
+               color: 255 255 255 128;
             }
-            description { state: "disabled_visible" 0.0;
-               inherit: "default" 0.0;
-               color: BUTTON_TEXT_STYLE1_TEXT_DISABLED_COLOR_INC;
-               visible: 1;
-               min: 80 0;
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
+               max: BUTTON_CIRCLE_STYLE_CONTENT_MIN_MAX_INC;
+               fixed: 1 1;
+               color: 255 255 255 255;
             }
-            description { state: "focused" 0.0;
+            description {
+               state: "disabled" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               min: 0 0;
-               color: BUTTON_TEXT_STYLE1_DISABLED_COLOR_INC;
+               color: 255 255 255 128;
             }
          }
-         part { name: "over2";
+         part { name: "over1";
             type: RECT;
-            repeat_events: 1;
             ignore_flags: ON_HOLD;
             description { state: "default" 0.0;
                color: 0 0 0 0;
             }
          }
-         part { name: "over3";
-            type: RECT;
+         part { name: "over2";
             repeat_events: 1;
             description { state: "default" 0.0;
                color: 0 0 0 0;
             }
          }
-         part { name: "clipper";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
          part { name: "disabler";
             type: RECT;
             description { state: "default" 0.0;
@@ -3614,175 +5061,226 @@ group { name: "elm/button/base/searchbar/default";
       programs {
          program { name: "button_click";
             signal: "mouse,down,1";
-            source: "over2";
+            source: "over1";
             action: SIGNAL_EMIT "elm,action,press" "";
             after: "button_click_anim";
          }
          program { name: "button_click_anim";
             action: STATE_SET "clicked" 0.0;
             target: "button_image";
-            after: "text_clicked";
          }
-         program { name: "text_clicked";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.text", "clicked", 0.0);
-            }
+         program { name: "touch_snd";
+            signal: "mouse,clicked,1";
+            source: "over1";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick2;
          }
-         program { name: "button_unpress";
-            action: SIGNAL_EMIT "elm,action,unpress" "";
+         program { name: "button_unclick2";
+            action: SIGNAL_EMIT "elm,action,click" "";
          }
-         program { name: "button_mouseout_clicked";
+         program { name: "button_unclick";
             signal: "mouse,up,1";
-            source: "over3";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (strcmp(st, "icononly"))
-                 {
-                    emit("elm,action,default,text,set", "");
-                    set_state(PART:"elm.text", "visible", 0.0);
-                 }
-               if (get_int(button_state) != BUTTON_STATE_DISABLED)
-                 set_state(PART:"button_image", "default", 0.0);
-            }
-            after: button_unpress;
-         }
-         program { name: "button_unclick3";
-            signal: "mouse,clicked,1";
             source: "over2";
-            action: SIGNAL_EMIT "elm,action,click" "";
-         }
-         program { name: "text_show";
-            signal: "elm,state,text,visible";
-            source: "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "icononly"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
-                 }
-               if (get_int(button_state) != BUTTON_STATE_DISABLED)
-                 set_state(PART:"elm.text", "visible", 0.0);
-               else
-                 set_state(PART:"elm.text", "disabled_visible", 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.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "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, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
-                 }
-               else
-                 {
-                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"padding_icon_text", "icononly", 0.0);
-                 }
-            }
+            action: SIGNAL_EMIT "elm,action,unpress" "";
+            after: "button_unclick_anim";
          }
-         program { name: "icon_hide";
-            signal: "elm,state,icon,hidden";
-            source: "elm";
+         program { name: "button_unclick_anim";
             action: STATE_SET "default" 0.0;
-            target: "elm.swallow.content";
-            target: "padding_icon_text";
+            target: "button_image";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
-            target: "button_image";
             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);
-               set_int(button_state, BUTTON_STATE_DISABLED);
-            }
+            target: "button_image";
          }
          program { name: "enable";
             signal: "elm,state,enabled";
             source: "elm";
             action: STATE_SET "default" 0.0;
-            target: "button_image";
             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);
-               set_int(button_state, BUTTON_STATE_ENABLED);
-            }
-         }
-         program { name: "focused";
-            //signal: "elm,action,focus";
-            //source: "elm";
-            action: STATE_SET "focused" 0.0;
-            target: "button_image";
-            target: "elm.text";
-         }
-         program { name: "unfocused";
-            //signal: "elm,action,unfocus";
-            //source: "elm";
-            action: STATE_SET "default" 0.0;
             target: "button_image";
-            after: "unfocus_text";
          }
-         program { name: "unfocus_text";
+         program { name: "icon_show";
+            signal: "elm,state,icon,visible";
+            source: "elm";
             action: STATE_SET "visible" 0.0;
-            target: "elm.text";
+            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";
          }
       }
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/default";
+#define BUTTON_EDIT_STYLES(style_name, edit_normal, edit_press, image_normal, image_press, min_width, min_height) \
+   group { name: "elm/button/base/contacts/"style_name; \
+   alias: "elm/button/base/"style_name; \
+      images { \
+         image: image_normal COMP; \
+         image: image_press COMP; \
+         image: edit_normal COMP; \
+         image: edit_press COMP; \
+         image: "00_button_edit_dim.png" COMP; \
+         image: "00_button_edit_focus.png" COMP; \
+      } \
+      parts { \
+         part { name: "button_image"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: BUTTON_EDIT_STYLE_BG_NORMAL_MIN_MAX_INC; \
+               max: BUTTON_EDIT_STYLE_BG_NORMAL_MIN_MAX_INC; \
+               image { \
+                  normal: edit_normal; \
+                  border: BUTTON_EDIT_STYLE_BORDER_INC; \
+                  border_scale: 1; \
+               } \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: edit_press; \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "00_button_edit_dim.png"; \
+            } \
+            description { \
+               state: "focused" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "00_button_edit_focus.png"; \
+            } \
+         } \
+         part { name: "button_center_part"; \
+            mouse_events: 0; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: BUTTON_EDIT_STYLE_IMAGE_NORMAL_MIN_MAX_INC; \
+               max: BUTTON_EDIT_STYLE_IMAGE_NORMAL_MIN_MAX_INC; \
+               image { \
+                  normal: image_normal; \
+                  border: BUTTON_EDIT_STYLE_BORDER_INC; \
+                  border_scale: 1; \
+               } \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: image_press; \
+            } \
+         } \
+         part { name: "over1"; \
+            type: RECT; \
+            repeat_events: 1; \
+            ignore_flags: ON_HOLD; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+               min: min_width min_height; \
+            } \
+         } \
+         part { name: "over2"; \
+            repeat_events: 1; \
+            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: "button_click"; \
+            signal: "mouse,down,1"; \
+            source: "over1"; \
+            action: SIGNAL_EMIT "elm,action,press" ""; \
+            after: "button_click_anim"; \
+         } \
+         program { name: "button_click_anim"; \
+            action: STATE_SET "clicked" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "button_unclick"; \
+            signal: "mouse,up,1"; \
+            source: "over2"; \
+            action: SIGNAL_EMIT "elm,action,unpress" ""; \
+            after: "button_unclick_anim"; \
+         } \
+         program { name: "button_unclick_anim"; \
+            action: STATE_SET "default" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "touch_snd"; \
+            signal: "mouse,clicked,1"; \
+            source: "over1"; \
+            action: PLAY_SAMPLE "touch_sound" 1.0; \
+            after: button_unclick3; \
+         } \
+         program { name: "button_unclick3"; \
+            action: SIGNAL_EMIT "elm,action,click" ""; \
+         } \
+         program { name: "disable"; \
+            signal: "elm,state,disabled"; \
+            source: "elm"; \
+            action: STATE_SET "disabled" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+         } \
+         program { name: "enable"; \
+            signal: "elm,state,enabled"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+         } \
+      } \
+   }
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_EDIT_STYLES("icon_plus", "00_button_edit.png", "00_button_edit_press.png", "00_button_icon_plus.png", "00_button_icon_plus_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_EDIT_STYLES("icon_plus/extended", "00_button_edit.png", "00_button_edit_press.png", "00_button_icon_plus.png", "00_button_icon_plus_press.png", BUTTON_EDIT_EXTENDED_MIN_WIDTH_INC, BUTTON_EDIT_EXTENDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_EDIT_STYLES("icon_minus", "00_button_edit_Delete.png", "00_button_edit_Delete_press.png", "00_button_icon_minus.png", "00_button_icon_minus_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_EDIT_STYLES("icon_minus/extended", "00_button_edit_Delete.png", "00_button_edit_Delete_press.png", "00_button_icon_minus.png", "00_button_icon_minus_press.png", BUTTON_EDIT_EXTENDED_MIN_WIDTH_INC, BUTTON_EDIT_EXTENDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_EDIT_STYLES("icon_expand", "00_button_edit.png", "00_button_edit_press.png", "00_button_icon_expand.png", "00_button_icon_expand_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_EDIT_STYLES("icon_expand/extended", "00_button_edit.png", "00_button_edit_press.png", "00_button_icon_expand.png", "00_button_icon_expand_press.png", BUTTON_EDIT_EXTENDED_MIN_WIDTH_INC, BUTTON_EDIT_EXTENDED_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_EDIT_STYLES("icon_expand_closed", "00_button_edit.png", "00_button_edit_press.png", "00_button_icon_expand_closed.png", "00_button_icon_expand_closed_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_EDIT_STYLES("icon_expand_opened", "00_button_edit.png", "00_button_edit_press.png", "00_button_icon_expand_opened.png", "00_button_icon_expand_opened_press.png", BUTTON_EDIT_NORMAL_MIN_WIDTH_INC, BUTTON_EDIT_NORMAL_MIN_HEIGHT_INC)
+
+///////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/contacts/delete";
       images {
-         image: "00_button_01_normal.png" COMP;
-         image: "00_button_01_normal_press.png" COMP;
-         image: "00_button_01_normal_dim.png" COMP;
+         image: "00_button_edit_Delete.png" COMP;
+         image: "00_button_edit_Delete_press.png" COMP;
+         image: "00_button_edit_dim.png" COMP;
+         image: "00_button_edit_focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -3791,24 +5289,24 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_DEFAULT_STYLE_BG_MIN_INC;
+               min: BUTTON_CONTACT_DELETE_BG_NORMAL_MIN_INC;
                image {
-                  normal: "00_button_01_normal.png";
-                  border: BUTTON_DEFAULT_STYLE_BG_BORDER_INC;
+                  normal: "00_button_edit_Delete.png";
+                  border: BUTTON_CONTACT_DELETE_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_01_normal_press.png";
+               image.normal: "00_button_edit_Delete_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_01_normal_dim.png";
+               image.normal: "00_button_edit_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_01_normal_press.png";
+               image.normal: "00_button_edit_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -3818,7 +5316,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: BUTTON_DEFAULT_STYLE_PADDING_MIN_INC;
+               min: BUTTON_CONTACT_DELETE_PADDING_LEFT_TOP_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -3830,7 +5328,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: BUTTON_DEFAULT_STYLE_PADDING_MIN_INC;
+               min: BUTTON_CONTACT_DELETE_PADDING_RIGHT_BOTTOM_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -3841,7 +5339,6 @@ group { name: "elm/button/base/searchbar/default";
             mouse_events: 0;
             description { state: "default" 0.0; //when only icon or no icon is there
                align: 0.0 0.0;
-               visible: 0;
                rel1 {
                   relative: 1.0 0.0;
                   to: "elm.swallow.content";
@@ -3849,13 +5346,14 @@ group { name: "elm/button/base/searchbar/default";
                rel2.to: "elm.swallow.content";
                fixed: 1 0;
                min: 0 0;
+               visible: 0;
             }
             description { state: "icononly" 0.0;
                inherit: "default" 0.0;
             }
             description { state: "visible" 0.0; //when icon is visible
                inherit: "default" 0.0;
-               min: BUTTON_DEFAULT_STYLE_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+               min: BUTTON_CONTACT_DELETE_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
             }
          }
          part { name: "elm.swallow.content";
@@ -3892,14 +5390,14 @@ group { name: "elm/button/base/searchbar/default";
                aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_DEFAULT_STYLE_ICONONLY_ICON_MIN_INC;
+               min: BUTTON_CONTACT_DELETE_ICON_ICONONLY_MIN_INC;
                rel1 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
                }
                rel2 {
-                  relative: 0.0 1.0;
-                  to_x: "padding_right_bottom";
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
                }
                aspect: 1.0 1.0;
                aspect_preference: VERTICAL;
@@ -3911,8 +5409,6 @@ group { name: "elm/button/base/searchbar/default";
             scale: 1;
             clip_to: "clipper";
             description { state: "default" 0.0;
-               visible: 0;
-               align: 0.0 0.5;
                rel1 {
                   relative: 1.0 1.0;
                   to_x: "padding_icon_text";
@@ -3922,38 +5418,35 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_NORMAL_COLOR_INC;
+               color: BUTTON_TEXT_CONTACTS_DELETE_NORMAL_COLOR_INC;
                text {
                   font: "SLP:style=Medium";
-                  size: BUTTON_DEFAULT_STYLE_FONT_SIZE_INC;
-                  min: 0 0;
+                  size: BUTTON_CONTACT_DELETE_FONT_SIZE_INC;
+                  min: 1 0;
+                  text: "Delete";
+                  max: 1 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               min: BUTTON_DEFAULT_STYLE_TEXT_MIN_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               min: BUTTON_DEFAULT_STYLE_TEXT_MIN_INC;
-               color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_PRESSED_COLOR_INC;
+               color: BUTTON_TEXT_CONTACTS_DELETE_PRESSED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
+               color: 0 0 0 128;
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_DISABLED_COLOR_INC;
-               visible: 1;
-               min: BUTTON_DEFAULT_STYLE_TEXT_MIN_INC;
+               color: BUTTON_TEXT_CONTACTS_DELETE_DISABLED_COLOR_INC;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
                min: 0 0;
-               color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_FOCUSED_COLOR_INC;
+               color: BUTTON_TEXT_CONTACTS_DELETE_PRESSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -4030,9 +5523,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -4156,151 +5653,47 @@ group { name: "elm/button/base/searchbar/default";
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-#define BUTTON_COLORSELECTOR_STYLES(style_name, image_normal, image_press,image_disable) \
-   group { name: "elm/button/base/"style_name; \
-      images { \
-         image: image_normal COMP; \
-         image: image_press COMP; \
-         image: image_disable COMP; \
-      } \
-      script { \
-         public button_state = BUTTON_STATE_ENABLED; \
-      } \
-      parts { \
-         part { name: "button_image"; \
-            scale: 1; \
-            description { state: "default" 0.0; \
-               min: BUTTON_COLORSELECTOR_BG_DEFAULT_MIN_INC; \
-               image { \
-                  normal: image_normal; \
-                  border: COLORSELECTOR_BUTTON_BORDER; \
-                  border_scale: 1; \
-               } \
-            } \
-            description { state: "clicked" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: image_press; \
-            } \
-            description { state: "disabled" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: image_disable; \
-            } \
-            description { state: "focused" 0.0; \
-               inherit: "default" 0.0; \
-               image.normal: image_press; \
-            } \
-         } \
-         part { name: "over2"; \
-            type: RECT; \
-            repeat_events: 1; \
-            ignore_flags: ON_HOLD; \
-            description { state: "default" 0.0; \
-               color: 0 0 0 0; \
-            } \
-         } \
-         part { name: "over3"; \
-            type: RECT; \
-            repeat_events: 1; \
-            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: "button_click"; \
-            signal: "mouse,down,1"; \
-            source: "over2"; \
-            action: SIGNAL_EMIT "elm,action,press" ""; \
-            after: "button_click_anim"; \
-         } \
-         program { name: "button_click_anim"; \
-            action: STATE_SET "clicked" 0.0; \
-            target: "button_image"; \
-         } \
-         program { name: "button_unpress"; \
-            action: SIGNAL_EMIT "elm,action,unpress" ""; \
-         } \
-         program { name: "button_mouseout_clicked"; \
-            signal: "mouse,up,1"; \
-            source: "over3"; \
-            script { \
-               if (get_int(button_state) != BUTTON_STATE_DISABLED) \
-                 set_state(PART:"button_image", "default", 0.0); \
-            } \
-            after: button_unpress; \
-         } \
-         program { name: "button_unclick3"; \
-            signal: "mouse,clicked,1"; \
-            source: "over2"; \
-            action: SIGNAL_EMIT "elm,action,click" ""; \
-         } \
-         program { name: "disable"; \
-            signal: "elm,state,disabled"; \
-            source: "elm"; \
-            action: STATE_SET "disabled" 0.0; \
-            target: "button_image"; \
-            target: "disabler"; \
-            script { \
-               set_int(button_state, BUTTON_STATE_DISABLED); \
-            } \
-         } \
-         program { name: "enable"; \
-            signal: "elm,state,enabled"; \
-            source: "elm"; \
-            action: STATE_SET "default" 0.0; \
-            target: "button_image"; \
-            target: "disabler"; \
-            script { \
-               set_int(button_state, BUTTON_STATE_ENABLED); \
-            } \
-         } \
-      } \
-   }
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_COLORSELECTOR_STYLES("colorselector/left/default", "00_color_picker_btn_left.png", "00_color_picker_btn_left_press.png", "00_color_picker_btn_left_dim.png")
-///////////////////////////////////////////////////////////////////////////////////////
-   BUTTON_COLORSELECTOR_STYLES("colorselector/right/default", "00_color_picker_btn_right.png", "00_color_picker_btn_right_press.png", "00_color_picker_btn_right_dim.png")
-///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/hidden";
+   group { name: "elm/button/base/multiline";
+      alias: "elm/button/base/text_only/multiline";
       images {
-         image: "00_button_sweep.png" COMP;
-         image: "00_button_sweep_press.png" COMP;//focus image is missing, so using press
+         image: "00_button_04_normal.png" COMP;
+         image: "00_button_04_press.png" COMP;
+         image: "00_button_04_dim.png" COMP;
+         image: "00_button_04_normal_focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
       }
+      styles{
+         style { name: "btn_multiline_style";
+            base: "font=SLP:style=Medium font_size=18 align=center color=#ffffff wrap=mixed text_class=slp_medium";
+            tag: "br" "\n";
+            tag: "ps" "ps";
+            tag: "tab" "\t";
+         }
+      }
       parts {
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_HIDDEN_BG_NORMAL_MIN_INC;
+               min: 10 46;
                image {
-                  normal: "00_button_sweep.png";
-                  border: BUTTON_HIDDEN_BG_BORDER_INC;
+                  normal: "00_button_04_normal.png";
+                  border: 4 4 3 3;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_sweep_press.png";
+               image.normal: "00_button_04_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
+               image.normal: "00_button_04_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_sweep_press.png";
+               image.normal: "00_button_04_normal_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -4310,7 +5703,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: BUTTON_HIDDEN_PADDING_MIN_INC;
+               min: 2 2;
                fixed: 1 1;
                visible: 0;
             }
@@ -4322,7 +5715,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: BUTTON_HIDDEN_PADDING_MIN_INC;
+               min: 2 2;
                fixed: 1 1;
                visible: 0;
             }
@@ -4332,7 +5725,8 @@ group { name: "elm/button/base/searchbar/default";
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_HIDDEN_ICON_RECT_MIN_INC;
+               visible: 1;
+               min: 0 40;
                fixed: 1 0;
                rel1 {
                   relative: 0.0 1.0;
@@ -4374,7 +5768,7 @@ group { name: "elm/button/base/searchbar/default";
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: BUTTON_HIDDEN_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
+               min: 5 0;
                color: 0 0 0 0;
             }
          }
@@ -4412,22 +5806,21 @@ group { name: "elm/button/base/searchbar/default";
                aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_HIDDEN_ICON_ICONONLY_MIN_INC;
+               min: 40 40;
                rel1 {
                   relative: 1.0 1.0;
                   to: "padding_left_top";
                }
                rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
                }
                aspect: 1.0 1.0;
                aspect_preference: VERTICAL;
             }
          }
          part { name: "elm.text";
-            type: TEXT;
+            type: TEXTBLOCK;
             mouse_events: 0;
             scale: 1;
             clip_to: "clipper";
@@ -4442,23 +5835,23 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_HIDDEN_BUTTON_TEXT_NORMAL_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_NORMAL_COLOR_INC;
                text {
-                  font: "SLP:style=Medium";
-                  size: BUTTON_HIDDEN_FONT_SIZE_INC;
+                  style: "btn_multiline_style";
                   min: 0 0;
+                  max: 0 1;
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: BUTTON_HIDDEN_TEXT_MIN_INC;
+               min: 80 0;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
                min: 0 0;
-               color: BUTTON_HIDDEN_BUTTON_TEXT_PRESSED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_PRESSED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
@@ -4466,15 +5859,15 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_HIDDEN_BUTTON_TEXT_DISABLED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_TEXT_DISABLED_COLOR_INC;
                visible: 1;
-               min: BUTTON_HIDDEN_TEXT_MIN_INC;
+               min: 80 0;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
                min: 0 0;
-               color: BUTTON_HIDDEN_BUTTON_TEXT_FOCUSED_COLOR_INC;
+               color: BUTTON_TEXT_STYLE1_DISABLED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -4551,9 +5944,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -4677,10 +6074,12 @@ group { name: "elm/button/base/searchbar/default";
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/picker/bar/default";
+   group { name: "elm/button/base/default";
       images {
-         image: "00_picker_btn_normal.png" COMP;
-         image: "00_picker_btn_press.png" COMP;
+         image: "00_button_01_normal.png" COMP;
+         image: "00_button_01_normal_press.png" COMP;
+         image: "00_button_01_normal_dim.png" COMP;
+         image: "00_button_01_normal_Focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -4689,23 +6088,24 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_PICKER_BAR_DEFAULT_BG_DEFAULT_MIN_INC;
+               min: BUTTON_DEFAULT_STYLE_BG_MIN_INC;
                image {
-                  normal: "00_picker_btn_normal.png";
-                  border: BUTTON_PICKER_BAR_DEFAULT_BG_DEFAULT_IMAGE_BORDER_INC;
+                  normal: "00_button_01_normal.png";
+                  border: BUTTON_DEFAULT_STYLE_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_picker_btn_press.png";
+               image.normal: "00_button_01_normal_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
+               image.normal: "00_button_01_normal_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_picker_btn_press.png";
+               image.normal: "00_button_01_normal_Focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -4715,7 +6115,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: BUTTON_PICKER_BAR_DEFAULT_PADDING_MIN_INC;
+               min: BUTTON_DEFAULT_STYLE_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -4727,60 +6127,32 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: BUTTON_PICKER_BAR_DEFAULT_PADDING_MIN_INC;
+               min: BUTTON_DEFAULT_STYLE_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
          }
-         part { name: "icon_rect";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               min: BUTTON_PICKER_BAR_DEFAULT_ICON_RECT_DEFAULT_MIN_INC;
-               fixed: 1 0;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "elm.swallow.content";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "elm.swallow.content";
-                  to_y: "padding_right_bottom";
-               }
-               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;
+               visible: 0;
                rel1 {
                   relative: 1.0 0.0;
-                  to: "icon_rect";
+                  to: "elm.swallow.content";
                }
-               rel2.to: "icon_rect";
+               rel2.to: "elm.swallow.content";
                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
-               align: 0.0 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to: "icon_rect";
-               }
-               rel2.to: "icon_rect";
-               fixed: 1 0;
-               min: BUTTON_PICKER_BAR_DEFAULT_PADDING_ICON_RECT_TEXT_MIN_INC;
-               color: 0 0 0 0;
+               inherit: "default" 0.0;
+               min: BUTTON_DEFAULT_STYLE_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
             }
          }
          part { name: "elm.swallow.content";
@@ -4817,15 +6189,14 @@ group { name: "elm/button/base/searchbar/default";
                aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_PICKER_BAR_DEFAULT_CONTENT_ICONONLY_MIN_INC;
+               min: BUTTON_DEFAULT_STYLE_ICONONLY_ICON_MIN_INC;
                rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
                   relative: 1.0 0.0;
                   to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "padding_right_bottom";
                }
                aspect: 1.0 1.0;
                aspect_preference: VERTICAL;
@@ -4838,6 +6209,7 @@ group { name: "elm/button/base/searchbar/default";
             clip_to: "clipper";
             description { state: "default" 0.0;
                visible: 0;
+               align: 0.0 0.5;
                rel1 {
                   relative: 1.0 1.0;
                   to_x: "padding_icon_text";
@@ -4847,40 +6219,39 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_PICKER_TEXT_DEFAULT_COLOR_INC;
+               color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_NORMAL_COLOR_INC;
                text {
                   font: "SLP:style=Medium";
-                  size: BUTTON_PICKER_BAR_DEFAULT_TEXT_FONT_SIZE_INC;
-                  min: 1 0;
-                  max: 0 0;
+                  size: BUTTON_DEFAULT_STYLE_FONT_SIZE_INC;
+                  min: 0 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: BUTTON_PICKER_BAR_DEFAULT_TEXT_VISIBLE_MIN_INC;
+               min: BUTTON_DEFAULT_STYLE_TEXT_MIN_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
-               color: BUTTON_PICKER_TEXT_CLICKED_COLOR_INC;
+               min: BUTTON_DEFAULT_STYLE_TEXT_MIN_INC;
+               color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_PRESSED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_PICKER_TEXT_DISABLED_COLOR_INC;
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_PICKER_TEXT_DISABLED_COLOR_INC;
+               color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_DISABLED_COLOR_INC;
                visible: 1;
-               min: BUTTON_PICKER_BAR_DEFAULT_TEXT_VISIBLE_MIN_INC;
+               min: BUTTON_DEFAULT_STYLE_TEXT_MIN_INC;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
                min: 0 0;
-               color: BUTTON_PICKER_TEXT_FOCUSED_COLOR_INC;
+               color: BUTTON_DEFAULT_STYLE_BUTTON_TEXT_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -4957,9 +6328,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -5081,13 +6456,151 @@ group { name: "elm/button/base/searchbar/default";
          }
       }
    }
-
+
+///////////////////////////////////////////////////////////////////////////////////////
+#define BUTTON_COLORSELECTOR_STYLES(style_name, image_normal, image_press,image_disable) \
+   group { name: "elm/button/base/"style_name; \
+      images { \
+         image: image_normal COMP; \
+         image: image_press COMP; \
+         image: image_disable COMP; \
+         image: "00_button_01_normal.png" COMP; \
+         image: "00_button_01_normal_press.png" COMP; \
+         image: "00_button_01_normal_dim.png" COMP; \
+         image: "00_button_01_normal_Focus.png" COMP; \
+      } \
+      parts { \
+         part { name: "button_image"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: BUTTON_COLORSELECTOR_BG_DEFAULT_MIN_INC; \
+               max: BUTTON_COLORSELECTOR_BG_DEFAULT_MIN_INC; \
+               image { \
+                  normal: "00_button_01_normal.png"; \
+                  border: BUTTON_COLORSELECTOR_BG_BORDER_INC; \
+                  border_scale: 1; \
+               } \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "00_button_01_normal_press.png"; \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "00_button_01_normal_dim.png"; \
+            } \
+            description { \
+               state: "focused" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "00_button_01_normal_Focus.png"; \
+            } \
+         } \
+         part { name: "button_center_part"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: BUTTON_COLORSELECTOR_IMAGE_MIN_MAX_INC; \
+               max: BUTTON_COLORSELECTOR_IMAGE_MIN_MAX_INC; \
+               image.normal: image_normal; \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: image_press; \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: image_disable; \
+            } \
+         } \
+         part { name: "over1"; \
+            type: RECT; \
+            ignore_flags: ON_HOLD; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+         } \
+         part { name: "over2"; \
+            repeat_events: 1; \
+            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: "button_click"; \
+            signal: "mouse,down,1"; \
+            source: "over1"; \
+            action: SIGNAL_EMIT "elm,action,press" ""; \
+            after: "button_click_anim"; \
+         } \
+         program { name: "button_click_anim"; \
+            action: STATE_SET "clicked" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "button_unclick"; \
+            signal: "mouse,up,1"; \
+            source: "over2"; \
+            action: SIGNAL_EMIT "elm,action,unpress" ""; \
+            after: "button_unclick_anim"; \
+         } \
+         program { name: "button_unclick_anim"; \
+            action: STATE_SET "default" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "touch_snd"; \
+            signal: "mouse,clicked,1"; \
+            source: "over1"; \
+            action: PLAY_SAMPLE "touch_sound" 1.0; \
+            after: button_unclick3; \
+         } \
+         program { name: "button_unclick3"; \
+            action: SIGNAL_EMIT "elm,action,click" ""; \
+         } \
+         program { name: "disable"; \
+            signal: "elm,state,disabled"; \
+            source: "elm"; \
+            action: STATE_SET "disabled" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "enable"; \
+            signal: "elm,state,enabled"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+      } \
+   }
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/picker/prev/text/default";
-      alias: "elm/button/base/picker/next/text/default";
+   BUTTON_COLORSELECTOR_STYLES("colorselector/left/default", "00_color_picker_btn_left.png", "00_color_picker_btn_left_press.png", "00_color_picker_btn_left_dim.png")
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_COLORSELECTOR_STYLES("colorselector/right/default", "00_color_picker_btn_right.png", "00_color_picker_btn_right_press.png", "00_color_picker_btn_right_dim.png")
+///////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/hidden";
       images {
-         image: "00_picker_btn_normal.png" COMP;
-         image: "00_picker_btn_press.png" COMP;
+         image: "00_button_sweep.png" COMP;
+         image: "00_button_sweep_press.png" COMP;
+         image: "00_button_sweep_focus.png" COMP;
+         image: "00_button_sweep_dim.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -5096,23 +6609,24 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_BG_DEFAULT_MIN_INC;
+               min: BUTTON_HIDDEN_BG_NORMAL_MIN_INC;
                image {
-                  normal: "00_picker_btn_normal.png";
-                  border: BUTTON_PICKER_PREV_TEXT_DEFAULT_BG_DEFAULT_BORDER_INC;
+                  normal: "00_button_sweep.png";
+                  border: BUTTON_HIDDEN_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_picker_btn_press.png";
+               image.normal: "00_button_sweep_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
+               image.normal: "00_button_sweep_dim.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_picker_btn_press.png";
+               image.normal: "00_button_sweep_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -5122,7 +6636,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_PADDING_MIN_INC;
+               min: BUTTON_HIDDEN_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -5134,7 +6648,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_PADDING_MIN_INC;
+               min: BUTTON_HIDDEN_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -5144,7 +6658,7 @@ group { name: "elm/button/base/searchbar/default";
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_ICON_RECT_MIN_INC;
+               min: BUTTON_HIDDEN_ICON_RECT_MIN_INC;
                fixed: 1 0;
                rel1 {
                   relative: 0.0 1.0;
@@ -5186,7 +6700,7 @@ group { name: "elm/button/base/searchbar/default";
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_PADDING_ICON_RECT_TEXT_MIN_INC;
+               min: BUTTON_HIDDEN_PADDING_ICON_TEXT_VISIBLE_MIN_INC;
                color: 0 0 0 0;
             }
          }
@@ -5224,7 +6738,7 @@ group { name: "elm/button/base/searchbar/default";
                aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_CONTENT_ICON_ONLY_MIN_INC;
+               min: BUTTON_HIDDEN_ICON_ICONONLY_MIN_INC;
                rel1 {
                   relative: 1.0 1.0;
                   to: "padding_left_top";
@@ -5254,40 +6768,40 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_PICKER_TEXT_DEFAULT_COLOR_INC;
+               color: BUTTON_HIDDEN_BUTTON_TEXT_NORMAL_COLOR_INC;
                text {
                   font: "SLP:style=Medium";
-                  size: BUTTON_PICKER_PREV_TEXT_DEFAULT_TEXT_FONT_SIZE_INC;
-                  min: 1 0;
-                  max: 1 0;
+                  size: BUTTON_HIDDEN_FONT_SIZE_INC;
+                  min: 0 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_TEXT_VISIBLE_MIN_INC;
+               min: BUTTON_HIDDEN_TEXT_MIN_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
                min: 0 0;
-               color: BUTTON_PICKER_TEXT_CLICKED_COLOR_INC;
+               color: BUTTON_HIDDEN_BUTTON_TEXT_PRESSED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_PICKER_TEXT_DISABLED_COLOR_INC;
+               color: 0 0 0 128;
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_PICKER_TEXT_DISABLED_COLOR_INC;
+               color: BUTTON_HIDDEN_BUTTON_TEXT_DISABLED_COLOR_INC;
                visible: 1;
-               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_TEXT_VISIBLE_MIN_INC;
+               min: BUTTON_HIDDEN_TEXT_MIN_INC;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
                min: 0 0;
-               color: BUTTON_PICKER_TEXT_FOCUSED_COLOR_INC;
+               color: BUTTON_HIDDEN_BUTTON_TEXT_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -5364,9 +6878,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -5490,137 +7008,238 @@ group { name: "elm/button/base/searchbar/default";
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/contact";
-      alias: "elm/button/base/text_only/contact";
+   group { name: "elm/button/base/picker/bar/default";
+      images {
+         image: "00_picker_btn_normal.png" COMP;
+         image: "00_picker_btn_press.png" COMP;
+         image: "00_picker_btn_normal_focus.png" COMP;
+      }
       script {
          public button_state = BUTTON_STATE_ENABLED;
       }
       parts {
          part { name: "button_image";
-            type: RECT;
             scale: 1;
             description { state: "default" 0.0;
-               rel1 {
-                  to_x: "padding.left";
-                  to_y: "elm.text";
-               }
-               rel2 {
-                  to_x: "padding.right";
-                  to_y: "elm.text";
+               min: BUTTON_PICKER_BAR_DEFAULT_BG_DEFAULT_MIN_INC;
+               image {
+                  normal: "00_picker_btn_normal.png";
+                  border: BUTTON_PICKER_BAR_DEFAULT_BG_DEFAULT_IMAGE_BORDER_INC;
+                  border_scale: 1;
                }
-               min: BUTTON_CONTACT_BG_NORMAL_MIN_INC;
-               color: BUTTON_CONTACT_BUTTON_BG_NORMAL_COLOR_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_CONTACT_BUTTON_BG_PRESSED_COLOR_INC ;
+               image.normal: "00_picker_btn_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
+               image.normal: "00_picker_btn_normal_focus.png";
             }
          }
-         part { name: "padding.left";
+         part { name: "padding_left_top";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_PICKER_BAR_DEFAULT_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "padding_right_bottom";
             type: RECT;
             scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
+               align: 1.0 1.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_PICKER_BAR_DEFAULT_PADDING_MIN_INC;
+               fixed: 1 1;
                visible: 0;
-               min: BUTTON_CONTACT_PADDING_MIN_INC;
+            }
+         }
+         part { name: "icon_rect";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: BUTTON_PICKER_BAR_DEFAULT_ICON_RECT_DEFAULT_MIN_INC;
                fixed: 1 0;
-               color: 0 0 0 0;
-               rel2 {
+               rel1 {
                   relative: 0.0 1.0;
-                  to_x: "elm.text";
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_left_top";
                }
-               align: 1.0 0.0;
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_right_bottom";
+               }
+               align: 0.0 0.5;
+               color: 0 0 0 0;
             }
          }
-         part { name: "padding.right";
+         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 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               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
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               fixed: 1 0;
+               min: BUTTON_PICKER_BAR_DEFAULT_PADDING_ICON_RECT_TEXT_MIN_INC;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            scale: 1;
+            clip_to: "clipper";
             description { state: "default" 0.0;
                visible: 0;
-               min: BUTTON_CONTACT_PADDING_MIN_INC;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
                fixed: 1 0;
-               color: 0 0 0 0;
+            }
+            description { state: "visible" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
                rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
                   relative: 1.0 0.0;
-                  to_x: "elm.text";
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
                }
-               align: 0.0 0.0;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+            }
+            description { state: "icononly" 0.0;
+               min: BUTTON_PICKER_BAR_DEFAULT_CONTENT_ICONONLY_MIN_INC;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
             }
          }
-         part {   name: "elm.text";
+         part { name: "elm.text";
             type: TEXT;
             mouse_events: 0;
             scale: 1;
+            clip_to: "clipper";
             description { state: "default" 0.0;
                visible: 0;
-               fixed: 1 1;
-               color: BUTTON_CONTACT_BUTTON_TEXT_NORMAL_COLOR_INC;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "padding_icon_text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
+               }
+               color: BUTTON_PICKER_TEXT_DEFAULT_COLOR_INC;
                text {
                   font: "SLP:style=Medium";
-                  size: BUTTON_CONTACT_FONT_SIZE_INC;
-                  min: 1 1;
+                  size: BUTTON_PICKER_BAR_DEFAULT_TEXT_FONT_SIZE_INC;
+                  min: 1 0;
+                  max: 0 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 1 1;
+               min: BUTTON_PICKER_BAR_DEFAULT_TEXT_VISIBLE_MIN_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 1 1;
-               color: BUTTON_CONTACT_BUTTON_TEXT_PRESSED_COLOR_INC;
+               min: 0 0;
+               color: BUTTON_PICKER_TEXT_CLICKED_COLOR_INC;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               color: 0 0 0 128;
+               color: BUTTON_PICKER_TEXT_DISABLED_COLOR_INC;
             }
             description { state: "disabled_visible" 0.0;
                inherit: "default" 0.0;
-               color: BUTTON_CONTACT_BUTTON_TEXT_DISABLED_COLOR_INC;
+               color: BUTTON_PICKER_TEXT_DISABLED_COLOR_INC;
                visible: 1;
-               min: 1 1;
+               min: BUTTON_PICKER_BAR_DEFAULT_TEXT_VISIBLE_MIN_INC;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 1 1;
-               color: BUTTON_CONTACT_BUTTON_TEXT_FOCUSED_COLOR_INC;
-            }
-         }
-         part { name: "over1";
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               rel2.relative: 1.0 0.5;
+               min: 0 0;
+               color: BUTTON_PICKER_TEXT_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
+            type: RECT;
             repeat_events: 1;
             ignore_flags: ON_HOLD;
             description { state: "default" 0.0;
-               rel1.to: "button_image";
-               rel2.to: "button_image";
+               color: 0 0 0 0;
             }
          }
          part { name: "over3";
+            type: RECT;
             repeat_events: 1;
             description { state: "default" 0.0;
-               rel1.to: "button_image";
-               rel2.to: "button_image";
-               color: 0 0 0 0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "clipper";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
             }
          }
          part { name: "disabler";
             type: RECT;
             description { state: "default" 0.0;
-               rel1.to: "button_image";
-               rel2.to: "button_image";
                color: 0 0 0 0;
                visible: 0;
             }
@@ -5640,7 +7259,16 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "button_click_anim";
             action: STATE_SET "clicked" 0.0;
             target: "button_image";
-            target: "elm.text";
+            after: "text_clicked";
+         }
+         program { name: "text_clicked";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "clicked", 0.0);
+            }
          }
          program { name: "button_unpress";
             action: SIGNAL_EMIT "elm,action,unpress" "";
@@ -5651,8 +7279,8 @@ group { name: "elm/button/base/searchbar/default";
             script {
                new st[31];
                new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (strcmp(st, "icononly"))
                  {
                     emit("elm,action,default,text,set", "");
                     set_state(PART:"elm.text", "visible", 0.0);
@@ -5662,15 +7290,27 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
             signal: "elm,state,text,visible";
             source: "elm";
             script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "icononly"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"elm.text", "visible", 0.0);
                else
@@ -5680,8 +7320,43 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "text_hide";
             signal: "elm,state,text,hidden";
             source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "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, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               else
+                 {
+                    set_state(PART:"elm.swallow.content", "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.text";
+            target: "elm.swallow.content";
+            target: "padding_icon_text";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
@@ -5735,6 +7410,9 @@ group { name: "elm/button/base/searchbar/default";
             //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
+            after: "unfocus_text";
+         }
+         program { name: "unfocus_text";
             action: STATE_SET "visible" 0.0;
             target: "elm.text";
          }
@@ -5742,13 +7420,12 @@ group { name: "elm/button/base/searchbar/default";
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/naviframe/back_btn/default";
-      alias: "elm/button/base/naviframe/prev_btn/default";
-      alias: "elm/button/base/naviframe/end_btn/default";
+   group { name: "elm/button/base/picker/prev/text/default";
+      alias: "elm/button/base/picker/next/text/default";
       images {
-         image: "00_winset_Back_btn_normal.png" COMP;
-         image: "00_winset_Back_btn_press.png" COMP;
-         image: "00_winset_Back.png" COMP;
+         image: "00_picker_btn_normal.png" COMP;
+         image: "00_picker_btn_press.png" COMP;
+         image: "00_picker_btn_normal_focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -5757,202 +7434,200 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC;
+               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_BG_DEFAULT_MIN_INC;
                image {
-                  normal: "00_winset_Back_btn_normal.png";
-                  border: BUTTON_NAVIFRAME_BACK_BUTTON_BG_BORDER_INC;
+                  normal: "00_picker_btn_normal.png";
+                  border: BUTTON_PICKER_PREV_TEXT_DEFAULT_BG_DEFAULT_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_winset_Back_btn_press.png";
+               image.normal: "00_picker_btn_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
+               color: 0 0 0 128;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_winset_Back_btn_press.png";
+               image.normal: "00_picker_btn_normal_focus.png";
             }
          }
-         part { name: "back_button";
+         part { name: "padding_left_top";
+            type: RECT;
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_NAVIFRAME_BACK_BUTTON_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_BACK_BUTTON_MIN_MAX_INC;
-               rel1.to: "button_image";
-               rel2.to: "button_image";
-               image.normal: "00_winset_Back.png";
-            }
-            description { state: "clicked" 0.0;
-               inherit: "default" 0.0;
-            }
-         }
-         part { name: "over2";
-            type: RECT;
-            repeat_events: 1;
-            ignore_flags: ON_HOLD;
-            description { state: "default" 0.0;
-               color: 0 0 0 0;
-            }
-         }
-         part { name: "over3";
-            type: RECT;
-            repeat_events: 1;
-            description { state: "default" 0.0;
-               color: 0 0 0 0;
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
             }
          }
-         part { name: "disabler";
+         part { name: "padding_right_bottom";
             type: RECT;
+            scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               color: 0 0 0 0;
+               align: 1.0 1.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_PADDING_MIN_INC;
+               fixed: 1 1;
                visible: 0;
             }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-         }
-      }
-      programs {
-         program { name: "button_click";
-            signal: "mouse,down,1";
-            source: "over2";
-            action: SIGNAL_EMIT "elm,action,press" "";
-            after: "button_click_anim";
-         }
-         program { name: "button_click_anim";
-            action: STATE_SET "clicked" 0.0;
-            target: "button_image";
-         }
-         program { name: "button_unpress";
-            action: SIGNAL_EMIT "elm,action,unpress" "";
-         }
-         program { name: "button_mouseout_clicked";
-            signal: "mouse,up,1";
-            source: "over3";
-            script {
-               if (get_int(button_state) != BUTTON_STATE_DISABLED)
-                 set_state(PART:"button_image", "default", 0.0);
-            }
-            after: button_unpress;
-         }
-         program { name: "button_unclick3";
-            signal: "mouse,clicked,1";
-            source: "over2";
-            action: SIGNAL_EMIT "elm,action,click" "";
-         }
-         program { name: "disable";
-            signal: "elm,state,disabled";
-            source: "elm";
-            action: STATE_SET "disabled" 0.0;
-            target: "button_image";
-            target: "disabler";
-            after: "disable_button";
-         }
-         program { name: "disable_button";
-            script {
-               set_int(button_state, BUTTON_STATE_DISABLED);
-            }
-         }
-         program { name: "enable";
-            signal: "elm,state,enabled";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "button_image";
-            target: "disabler";
-            after: "enable_button";
-         }
-         program { name: "enable_button";
-            script {
-               set_int(button_state, BUTTON_STATE_ENABLED);
-            }
          }
-      }
-   }
-
-///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/picker/prev/icon/default";
-      images {
-         image: "00_picker_btn_normal.png" COMP;
-         image: "00_picker_btn_press.png" COMP;
-         image: "00_picker_arrow_left.png" COMP;
-         image: "00_picker_arrow_left_press.png" COMP;
-      }
-      script {
-         public button_state = BUTTON_STATE_ENABLED;
-      }
-      parts {
-         part { name: "button_image";
+         part { name: "icon_rect";
+            type: RECT;
             scale: 1;
+            mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_MIN_MAX_INC;
-               max: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_MIN_MAX_INC;
-               image {
-                  normal: "00_picker_btn_normal.png";
-                  border: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_BORDER_INC;
-                  border_scale: 1;
+               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_ICON_RECT_MIN_INC;
+               fixed: 1 0;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_left_top";
                }
-            }
-            description { state: "clicked" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_picker_btn_press.png";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-            }
-            description { state: "focused" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_picker_btn_press.png";
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_right_bottom";
+               }
+               align: 0.0 0.5;
+               color: 0 0 0 0;
             }
          }
-         part { name: "padding_left_top";
+         part { name: "padding_icon_text";
             type: RECT;
             scale: 1;
             mouse_events: 0;
-            description { state: "default" 0.0;
+            description { state: "default" 0.0; //when only icon or no icon is there
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               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
                align: 0.0 0.0;
-               rel2.relative: 0.0 0.0;
-               min: BUTTON_PICKER_PREV_ICON_DEFAULT_PADDING_MIN_INC;
-               fixed: 1 1;
-               visible: 0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               fixed: 1 0;
+               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_PADDING_ICON_RECT_TEXT_MIN_INC;
+               color: 0 0 0 0;
             }
          }
-         part { name: "padding_right_bottom";
-            type: RECT;
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
             scale: 1;
-            mouse_events: 0;
+            clip_to: "clipper";
             description { state: "default" 0.0;
-               align: 1.0 1.0;
-               rel1.relative: 1.0 1.0;
-               min: BUTTON_PICKER_PREV_ICON_DEFAULT_PADDING_MIN_INC;
-               fixed: 1 1;
                visible: 0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+            }
+            description { state: "visible" 0.0;
+               fixed: 1 0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+            }
+            description { state: "icononly" 0.0;
+               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_CONTENT_ICON_ONLY_MIN_INC;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
             }
          }
-         part { name: "left_arrow";
-            scale: 1;
+         part { name: "elm.text";
+            type: TEXT;
             mouse_events: 0;
+            scale: 1;
+            clip_to: "clipper";
             description { state: "default" 0.0;
-               min: BUTTON_PICKER_PREV_ICON_DEFAULT_IMAGE_MIN_MAX_INC;
-               max: BUTTON_PICKER_PREV_ICON_DEFAULT_IMAGE_MIN_MAX_INC;
+               visible: 0;
                rel1 {
                   relative: 1.0 1.0;
-                  to: "padding_left_top";
+                  to_x: "padding_icon_text";
+                  to_y: "padding_left_top";
                }
                rel2 {
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               image.normal: "00_picker_arrow_left.png";
+               color: BUTTON_PICKER_TEXT_DEFAULT_COLOR_INC;
+               text {
+                  font: "SLP:style=Medium";
+                  size: BUTTON_PICKER_PREV_TEXT_DEFAULT_TEXT_FONT_SIZE_INC;
+                  min: 1 0;
+                  max: 1 0;
+                  text_class: "slp_medium";
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_TEXT_VISIBLE_MIN_INC;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_picker_arrow_left_press.png";
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_PICKER_TEXT_CLICKED_COLOR_INC;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_PICKER_TEXT_DISABLED_COLOR_INC;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_PICKER_TEXT_DISABLED_COLOR_INC;
+               visible: 1;
+               min: BUTTON_PICKER_PREV_TEXT_DEFAULT_TEXT_VISIBLE_MIN_INC;
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_PICKER_TEXT_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -5970,6 +7645,12 @@ group { name: "elm/button/base/searchbar/default";
                color: 0 0 0 0;
             }
          }
+         part { name: "clipper";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 255 255 255 255;
+            }
+         }
          part { name: "disabler";
             type: RECT;
             description { state: "default" 0.0;
@@ -5992,6 +7673,16 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "button_click_anim";
             action: STATE_SET "clicked" 0.0;
             target: "button_image";
+            after: "text_clicked";
+         }
+         program { name: "text_clicked";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "clicked", 0.0);
+            }
          }
          program { name: "button_unpress";
             action: SIGNAL_EMIT "elm,action,unpress" "";
@@ -6000,26 +7691,104 @@ group { name: "elm/button/base/searchbar/default";
             signal: "mouse,up,1";
             source: "over3";
             script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (strcmp(st, "icononly"))
+                 {
+                    emit("elm,action,default,text,set", "");
+                    set_state(PART:"elm.text", "visible", 0.0);
+                 }
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"button_image", "default", 0.0);
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "icononly"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled_visible", 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.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "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, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
+                 }
+               else
+                 {
+                    set_state(PART:"elm.swallow.content", "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.content";
+            target: "padding_icon_text";
+         }
          program { name: "disable";
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
             target: "button_image";
             target: "disabler";
-            after: "disable_button";
+            after: "disable_text";
          }
-         program { name: "disable_button";
+         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);
                set_int(button_state, BUTTON_STATE_DISABLED);
             }
          }
@@ -6029,10 +7798,17 @@ group { name: "elm/button/base/searchbar/default";
             action: STATE_SET "default" 0.0;
             target: "button_image";
             target: "disabler";
-            after: "enable_button";
+            after: "enable_text";
          }
-         program { name: "enable_button";
+         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);
                set_int(button_state, BUTTON_STATE_ENABLED);
             }
          }
@@ -6041,23 +7817,158 @@ group { name: "elm/button/base/searchbar/default";
             //source: "elm";
             action: STATE_SET "focused" 0.0;
             target: "button_image";
+            target: "elm.text";
          }
          program { name: "unfocused";
             //signal: "elm,action,unfocus";
             //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
+            after: "unfocus_text";
+         }
+         program { name: "unfocus_text";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.text";
          }
       }
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/picker/next/icon/default";
+#define BUTTON_CONTACT_STYLES(style_name, image_normal, image_press) \
+   group { name: "elm/button/base/contact/"style_name; \
+      images { \
+         image: "00_contacts_circle_bg.png" COMP; \
+         image: image_normal COMP; \
+         image: image_press COMP; \
+      } \
+      parts { \
+         part { name: "button_image"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: BUTTON_CONTACT_STYLE_BG_MIN_MAX_INC; \
+               max: BUTTON_CONTACT_STYLE_BG_MIN_MAX_INC; \
+               image.normal: "00_contacts_circle_bg.png"; \
+               color: 255 255 255 255; \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: "00_contacts_circle_bg.png"; \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               color: 255 255 255 128; \
+            } \
+         } \
+         part { name: "button_center_part"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: BUTTON_CONTACT_STYLE_IMAGE_MIN_MAX_INC; \
+               max: BUTTON_CONTACT_STYLE_IMAGE_MIN_MAX_INC; \
+               image.normal: image_normal; \
+               color: 255 255 255 255; \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: image_press; \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               color: 255 255 255 128; \
+            } \
+         } \
+         part { name: "over1"; \
+            type: RECT; \
+            ignore_flags: ON_HOLD; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+         } \
+         part { name: "over2"; \
+            repeat_events: 1; \
+            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: "button_click"; \
+            signal: "mouse,down,1"; \
+            source: "over1"; \
+            action: SIGNAL_EMIT "elm,action,press" ""; \
+            after: "button_click_anim"; \
+         } \
+         program { name: "button_click_anim"; \
+            action: STATE_SET "clicked" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "button_unclick"; \
+            signal: "mouse,up,1"; \
+            source: "over2"; \
+            action: SIGNAL_EMIT "elm,action,unpress" ""; \
+            after: "button_unclick_anim"; \
+         } \
+         program { name: "button_unclick_anim"; \
+            action: STATE_SET "default" 0.0; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "touch_snd"; \
+            signal: "mouse,clicked,1"; \
+            source: "over1"; \
+            action: PLAY_SAMPLE "touch_sound" 1.0; \
+            after: button_unclick3; \
+         } \
+         program { name: "button_unclick3"; \
+            action: SIGNAL_EMIT "elm,action,click" ""; \
+         } \
+         program { name: "disable"; \
+            signal: "elm,state,disabled"; \
+            source: "elm"; \
+            action: STATE_SET "disabled" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+         program { name: "enable"; \
+            signal: "elm,state,enabled"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "button_center_part"; \
+         } \
+      } \
+   }
+
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_CONTACT_STYLES("expand_closed", "00_button_expand_closed.png", "00_button_expand_closed_press.png")
+
+   BUTTON_CONTACT_STYLES("expand_opened", "00_button_expand_opened.png", "00_button_expand_opened_press.png")
+
+   BUTTON_CONTACT_STYLES("plus", "00_button_plus.png", "00_button_plus_press.png")
+
+///////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/contact";
+      alias: "elm/button/base/text_only/contact";
       images {
-         image: "00_picker_btn_normal.png" COMP;
-         image: "00_picker_btn_press.png" COMP;
-         image: "00_picker_arrow_right.png" COMP;
-         image: "00_picker_arrow_right_press.png" COMP;
+         image: "00_contacts_button_bg.png" COMP;
+         image: "00_contacts_button_bg_press.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -6066,89 +7977,133 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_MIN_MAX_INC;
-               max: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_MIN_MAX_INC;
+               rel1 {
+                  to_x: "padding.left";
+                  to_y: "elm.text";
+               }
+               rel2 {
+                  to_x: "padding.right";
+                  to_y: "elm.text";
+               }
+               min: BUTTON_CONTACT_BG_MIN_INC;
                image {
-                  normal: "00_picker_btn_normal.png";
-                  border: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_BORDER_INC;
+                  normal: "00_contacts_button_bg.png";
+                  border: BUTTON_CONTACT_BG_BORDER_INC;
                   border_scale: 1;
                }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_picker_btn_press.png";
+               image.normal: "00_contacts_button_bg_press.png";
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
+               color: 0 0 0 128;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_picker_btn_press.png";
             }
          }
-         part { name: "padding_left_top";
+         part { name: "padding.left";
             type: RECT;
             scale: 1;
-            mouse_events: 0;
             description { state: "default" 0.0;
-               align: 0.0 0.0;
-               rel2.relative: 0.0 0.0;
-               min: BUTTON_PICKER_PREV_ICON_DEFAULT_PADDING_MIN_INC;
-               fixed: 1 1;
                visible: 0;
+               min: BUTTON_CONTACT_PADDING_MIN_INC;
+               fixed: 1 0;
+               color: 0 0 0 0;
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.text";
+               }
+               align: 1.0 0.0;
             }
          }
-         part { name: "padding_right_bottom";
+         part { name: "padding.right";
             type: RECT;
             scale: 1;
-            mouse_events: 0;
             description { state: "default" 0.0;
-               align: 1.0 1.0;
-               rel1.relative: 1.0 1.0;
-               min: BUTTON_PICKER_PREV_ICON_DEFAULT_PADDING_MIN_INC;
-               fixed: 1 1;
                visible: 0;
+               min: BUTTON_CONTACT_PADDING_MIN_INC;
+               fixed: 1 0;
+               color: 0 0 0 0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to_x: "elm.text";
+               }
+               align: 0.0 0.0;
             }
          }
-         part { name: "right_arrow";
-            scale: 1;
+         part {   name: "elm.text";
+            type: TEXT;
             mouse_events: 0;
+            scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_PICKER_PREV_ICON_DEFAULT_IMAGE_MIN_MAX_INC;
-               max: BUTTON_PICKER_PREV_ICON_DEFAULT_IMAGE_MIN_MAX_INC;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
+               visible: 0;
+               fixed: 1 1;
+               color: BUTTON_CONTACT_BUTTON_TEXT_NORMAL_COLOR_INC;
+               text {
+                  font: "SLP:style=Medium";
+                  size: BUTTON_CONTACT_FONT_SIZE_INC;
+                  min: 1 1;
+                  text_class: "slp_medium";
                }
-               image.normal: "00_picker_arrow_right.png";
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 1 1;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_picker_arrow_right_press.png";
+               visible: 1;
+               min: 1 1;
+               color: BUTTON_CONTACT_BUTTON_TEXT_PRESSED_COLOR_INC;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 128;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_CONTACT_BUTTON_TEXT_DISABLED_COLOR_INC;
+               visible: 1;
+               min: 1 1;
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 1 1;
+               color: BUTTON_CONTACT_BUTTON_TEXT_FOCUSED_COLOR_INC;
+            }
+         }
+         part { name: "over1";
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               rel2.relative: 1.0 0.5;
             }
          }
          part { name: "over2";
-            type: RECT;
             repeat_events: 1;
             ignore_flags: ON_HOLD;
             description { state: "default" 0.0;
-               color: 0 0 0 0;
+               rel1.to: "button_image";
+               rel2.to: "button_image";
             }
          }
          part { name: "over3";
-            type: RECT;
             repeat_events: 1;
             description { state: "default" 0.0;
+               rel1.to: "button_image";
+               rel2.to: "button_image";
                color: 0 0 0 0;
             }
          }
          part { name: "disabler";
             type: RECT;
             description { state: "default" 0.0;
+               rel1.to: "button_image";
+               rel2.to: "button_image";
                color: 0 0 0 0;
                visible: 0;
             }
@@ -6168,6 +8123,7 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "button_click_anim";
             action: STATE_SET "clicked" 0.0;
             target: "button_image";
+            target: "elm.text";
          }
          program { name: "button_unpress";
             action: SIGNAL_EMIT "elm,action,unpress" "";
@@ -6176,26 +8132,61 @@ group { name: "elm/button/base/searchbar/default";
             signal: "mouse,up,1";
             source: "over3";
             script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
+                 {
+                    emit("elm,action,default,text,set", "");
+                    set_state(PART:"elm.text", "visible", 0.0);
+                 }
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"button_image", "default", 0.0);
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            script {
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled_visible", 0.0);
+            }
+         }
+         program { name: "text_hide";
+            signal: "elm,state,text,hidden";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
          program { name: "disable";
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
             target: "button_image";
             target: "disabler";
-            after: "disable_button";
+            after: "disable_text";
          }
-         program { name: "disable_button";
+         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);
                set_int(button_state, BUTTON_STATE_DISABLED);
             }
          }
@@ -6205,10 +8196,17 @@ group { name: "elm/button/base/searchbar/default";
             action: STATE_SET "default" 0.0;
             target: "button_image";
             target: "disabler";
-            after: "enable_button";
+            after: "enable_text";
          }
-         program { name: "enable_button";
+         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);
                set_int(button_state, BUTTON_STATE_ENABLED);
             }
          }
@@ -6217,252 +8215,75 @@ group { name: "elm/button/base/searchbar/default";
             //source: "elm";
             action: STATE_SET "focused" 0.0;
             target: "button_image";
+            target: "elm.text";
          }
          program { name: "unfocused";
             //signal: "elm,action,unfocus";
             //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.text";
          }
       }
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/naviframe_control/default";
-      alias: "elm/button/base/naviframe_control/center";
+   group { name: "elm/button/base/naviframe/back_btn/default";
+      alias: "elm/button/base/naviframe/prev_btn/default";
+      alias: "elm/button/base/naviframe/end_btn/default";
+      images {
+         image: "00_winset_toolbar_press.png" COMP;
+        image: "00_winset_Back.png" COMP;
+      }
       script {
          public button_state = BUTTON_STATE_ENABLED;
       }
-      images {
-         image: "00_Option_header_bt.png" COMP;
-         image: "00_Option_header_bt_dim.png" COMP;
-         image: "00_Option_header_bt_press.png" COMP;
-      }
       parts {
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_NAVIFRAME_CENTER_BG_NORMAL_MIN_INC;
+               min: BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC;
                color: 0 0 0 0;
-               rel1.offset: 0 0;
-               rel2.offset: -1 -1;
-               image {
-                  normal: "00_Option_header_bt.png";
-                  border: BUTTON_NAVIFRAME_CENTER_BG_NORMAL_BORDER_INC;
-               }
-               color: 255 255 255 255;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_Option_header_bt_dim.png";
             }
             description { state: "clicked" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_Option_header_bt_press.png";
-            }
-         }
-         part { name: "padding_left_top";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 0.0 0.0;
-               rel2.relative: 0.0 0.0;
-               min: BUTTON_NAVIFRAME_CENTER_PADDING_MIN_MAX_INC;
-               fixed: 1 1;
-               visible: 0;
-            }
-         }
-         part { name: "padding_right_bottom";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 1.0 1.0;
-               rel1.relative: 1.0 1.0;
-               min: BUTTON_NAVIFRAME_CENTER_PADDING_MIN_MAX_INC;
-               fixed: 1 1;
-               visible: 0;
-            }
-         }
-         part { name: "icon_rect";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               min: 0 0;
-               fixed: 1 0;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
-               align: 0.0 0.5;
-               color: 0 0 0 0;
-            }
-            description { state: "visible" 0.0;
-               min: BUTTON_NAVIFRAME_CENTER_ICON_RECT_VISIBLE_MIN_SIZE;
-               fixed: 1 0;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
-               align: 0.0 0.5;
-               color: 0 0 0 0;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
-            }
-         }
-         part { name: "padding_after_icon";
-            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 {
-                  relative: 1.0 0.0;
-                  to: "icon_rect";
-               }
-               rel2.to: "icon_rect";
-               fixed: 1 0;
-               min: 0 0;
-               color: 0 0 0 0;
-            }
-            description { state: "visible" 0.0;
-               align: 0.0 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to: "icon_rect";
+               min: BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC;
+               image {
+                  normal: "00_winset_toolbar_press.png";
+                  border: BUTTON_NAVIFRAME_BACK_BUTTON_BG_BORDER_INC;
                }
-               rel2.to: "icon_rect";
-               fixed: 1 0;
-               min: BUTTON_NAVIFRAME_CENTER_PADDING_AFTER_ICON_VISIBLE_MIN_INC;
-               color: 0 0 0 0;
             }
-            description { state: "icononly" 0.0;
+            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
+               color: 127 127 127 127;
             }
-         }
-         part { name: "padding_before_text";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0; //when only icon or no icon is there
-               align: 1.0 0.5;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "elm.text";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to_x: "elm.text";
-                  to_y: "padding_right_bottom";
+            description { state: "focused" 0.0;
+               min: BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_BACK_BUTTON_BG_MIN_MAX_INC;
+               image {
+                  normal: "00_winset_toolbar_press.png";
+                  border: BUTTON_NAVIFRAME_BACK_BUTTON_BG_BORDER_INC;
                }
-               fixed: 1 0;
-               min: BUTTON_NAVIFRAME_CENTER_PADDING_BEFORE_TEXT_DEFAULT_MIN_INC;
-               color: 0 0 0 0;
             }
          }
-         part { name: "elm.swallow.content";
-            type: SWALLOW;
+         part { name: "back_button";
             scale: 1;
-            clip_to: "clipper";
-            description { state: "default" 0.0;
-               visible: 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
-               fixed: 1 0;
-            }
-            description { state: "visible" 0.0;
-               fixed: 1 0;
-               min: BUTTON_NAVIFRAME_CENTER_SWALLOW_VISIBLE_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_CENTER_SWALLOW_VISIBLE_MIN_MAX_INC;
-               align: 1.0 0.5;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "padding_before_text";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to_x: "padding_before_text";
-                  to_y: "padding_right_bottom";
-               }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-            }
-            description { state: "icononly" 0.0;
-               min: BUTTON_NAVIFRAME_CENTER_SWALLOW_ICONONLY_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_CENTER_SWALLOW_ICONONLY_MIN_MAX_INC;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
-               }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
-            }
-         }
-         part { name: "elm.text";
-            type: TEXT;
             mouse_events: 0;
-            scale: 1;
-            clip_to: "clipper";
             description { state: "default" 0.0;
-               visible: 0;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to_x: "padding_after_icon";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
-               }
-               color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
-               text {
-                  font: "SLP:style=Medium";
-                  size: BUTTON_NAVIFRAME_CENTER_TEXT_FONT_SIZE_INC;
-                  min: 0 0;
-                  max: 1 0;
-               }
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
+               min: BUTTON_NAVIFRAME_BACK_BUTTON_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_BACK_BUTTON_MIN_MAX_INC;
+               rel1.to: "button_image";
+               rel2.to: "button_image";
+               image.normal: "00_winset_Back.png";
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               min: 0 0;
             }
-            description { state: "focused" 0.0;
+            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               min: 0 0;
-               color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+               color: 127 127 127 127;
             }
          }
          part { name: "over2";
@@ -6480,15 +8301,6 @@ group { name: "elm/button/base/searchbar/default";
                color: 0 0 0 0;
             }
          }
-         part { name: "clipper";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-            description { state: "disabled" 0.0;
-               color: 255 255 255 127;
-            }
-         }
          part { name: "disabler";
             type: RECT;
             description { state: "default" 0.0;
@@ -6511,16 +8323,6 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "button_click_anim";
             action: STATE_SET "clicked" 0.0;
             target: "button_image";
-            after: "text_clicked";
-         }
-         program { name: "text_clicked";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.text", "clicked", 0.0);
-            }
          }
          program { name: "button_unpress";
             action: SIGNAL_EMIT "elm,action,unpress" "";
@@ -6528,103 +8330,33 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "button_mouseout_clicked";
             signal: "mouse,up,1";
             source: "over3";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (strcmp(st, "icononly"))
-                 {
-                    emit("elm,action,default,text,set", "");
-                    set_state(PART:"elm.text", "visible", 0.0);
-                 }
+            script {
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"button_image", "default", 0.0);
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
-            action: SIGNAL_EMIT "elm,action,click" "";
-         }
-         program { name: "text_show";
-            signal: "elm,state,text,visible";
-            source: "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "icononly"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"icon_rect", "visible", 0.0);
-                    set_state(PART:"padding_after_icon", "visible", 0.0);
-                 }
-               set_state(PART:"elm.text", "visible", 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.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"icon_rect", "icononly", 0.0);
-                    set_state(PART:"padding_after_icon", "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, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"icon_rect", "visible", 0.0);
-                    set_state(PART:"padding_after_icon", "visible", 0.0);
-                 }
-               else
-                 {
-                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"icon_rect", "icononly", 0.0);
-                    set_state(PART:"padding_after_icon", "icononly", 0.0);
-                 }
-            }
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
          }
-         program { name: "icon_hide";
-            signal: "elm,state,icon,hidden";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "elm.swallow.content";
-            target: "icon_rect";
-            target: "padding_after_icon";
+         program { name: "button_unclick3";
+            action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
             target: "button_image";
-            target: "clipper";
             target: "disabler";
-            after: "disable_text";
+            target: "back_button";
+            after: "disable_button";
          }
-         program { name: "disable_text";
+         program { name: "disable_button";
             script {
-               new st[31];
-               new Float:vl;
                set_int(button_state, BUTTON_STATE_DISABLED);
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
-                 set_state(PART:"elm.text", "visible", 0.0);
             }
          }
          program { name: "enable";
@@ -6632,240 +8364,109 @@ group { name: "elm/button/base/searchbar/default";
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
-            target: "clipper";
             target: "disabler";
-            after: "enable_text";
+            target: "back_button";
+            after: "enable_button";
          }
-         program { name: "enable_text";
+         program { name: "enable_button";
             script {
-               new st[31];
-               new Float:vl;
                set_int(button_state, BUTTON_STATE_ENABLED);
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
-                 set_state(PART:"elm.text", "visible", 0.0);
             }
          }
          program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
             action: STATE_SET "focused" 0.0;
             target: "button_image";
-            target: "elm.text";
          }
          program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
-            after: "unfocus_text";
-         }
-         program { name: "unfocus_text";
-            action: STATE_SET "visible" 0.0;
-            target: "elm.text";
          }
       }
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/naviframe_control/multiline";
-      script {
-         public button_state = BUTTON_STATE_ENABLED;
-      }
+   group { name: "elm/button/base/picker/prev/icon/default";
       images {
-         image: "00_Option_header_bt.png" COMP;
-         image: "00_Option_header_bt_dim.png" COMP;
-         image: "00_Option_header_bt_press.png" COMP;
+         image: "00_picker_btn_normal.png" COMP;
+         image: "00_picker_btn_press.png" COMP;
+         image: "00_picker_btn_normal_focus.png" COMP;
+         image: "00_picker_arrow_left.png" COMP;
+         image: "00_picker_arrow_left_press.png" COMP;
       }
-      styles{
-         style { name: "btn_multiline_naviframe_controlbar_style";
-            base: "font=SLP:style=Medium font_size="BUTTON_NAVIFRAME_MULTILINE_TEXT_FONT_SIZE_INC" align=center color=#ffffff wrap=mixed";
-            tag: "br" "\n";
-            tag: "ps" "ps";
-            tag: "tab" "\t";
-         }
+      script {
+         public button_state = BUTTON_STATE_ENABLED;
       }
       parts {
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_NAVIFRAME_CENTER_BG_NORMAL_MIN_INC;
-               rel1.offset: 0 0;
-               rel2.offset: -1 -1;
+               min: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_MIN_MAX_INC;
+               max: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_MIN_MAX_INC;
                image {
-                  normal: "00_Option_header_bt.png";
-                  border: BUTTON_NAVIFRAME_CENTER_BG_NORMAL_BORDER_INC;
+                  normal: "00_picker_btn_normal.png";
+                  border: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_BORDER_INC;
+                  border_scale: 1;
                }
-               color: 255 255 255 255;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_Option_header_bt_dim.png";
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_Option_header_bt_press.png";
-            }
-         }
-         part { name: "padding_left_top";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 0.0 0.0;
-               rel2.relative: 0.0 0.0;
-               min: BUTTON_NAVIFRAME_CENTER_PADDING_MIN_MAX_INC;
-               fixed: 1 1;
-               visible: 0;
-            }
-         }
-         part { name: "padding_right_bottom";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 1.0 1.0;
-               rel1.relative: 1.0 1.0;
-               min: BUTTON_NAVIFRAME_CENTER_PADDING_MIN_MAX_INC;
-               fixed: 1 1;
-               visible: 0;
-            }
-         }
-         part { name: "icon_rect";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               min: 0 0;
-               fixed: 1 0;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "elm.swallow.content";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "elm.swallow.content";
-                  to_y: "padding_right_bottom";
-               }
-               align: 0.0 0.5;
-            }
-         }
-         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
-               visible: 0;
-               align: 0.0 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to: "icon_rect";
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  to: "icon_rect";
-               }
-               fixed: 1 0;
-               min: 0 0;
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               min: BUTTON_NAVIFRAME_CENTER_PADDING_AFTER_ICON_VISIBLE_MIN_INC;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to: "icon_rect";
-               }
-               rel2 {
-                  relative: 1.0 1.0;
-                  to: "icon_rect";
-               }
-           }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
-            }
-         }
-         part { name: "elm.swallow.content";
-            type: SWALLOW;
-            scale: 1;
-            clip_to: "clipper";
-            description { state: "default" 0.0;
-               visible: 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
-               fixed: 1 0;
-            }
-            description { state: "visible" 0.0;
-               fixed: 1 0;
-               min: BUTTON_NAVIFRAME_CENTER_SWALLOW_VISIBLE_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_CENTER_SWALLOW_VISIBLE_MIN_MAX_INC;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
+               image.normal: "00_picker_btn_press.png";
             }
-            description { state: "icononly" 0.0;
-               min: BUTTON_NAVIFRAME_CENTER_SWALLOW_ICONONLY_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_CENTER_SWALLOW_ICONONLY_MIN_MAX_INC;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
-               }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_picker_btn_normal_focus.png";
             }
          }
-         part { name: "elm.text";
-            type: TEXTBLOCK;
+         part { name: "padding_left_top";
+            type: RECT;
+            scale: 1;
             mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_PICKER_PREV_ICON_DEFAULT_PADDING_MIN_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "padding_right_bottom";
+            type: RECT;
             scale: 1;
-            clip_to: "clipper";
+            mouse_events: 0;
             description { state: "default" 0.0;
+               align: 1.0 1.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_PICKER_PREV_ICON_DEFAULT_PADDING_MIN_INC;
+               fixed: 1 1;
                visible: 0;
+            }
+         }
+         part { name: "left_arrow";
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: BUTTON_PICKER_PREV_ICON_DEFAULT_IMAGE_MIN_MAX_INC;
+               max: BUTTON_PICKER_PREV_ICON_DEFAULT_IMAGE_MIN_MAX_INC;
                rel1 {
                   relative: 1.0 1.0;
-                  to_x: "padding_icon_text";
-                  to_y: "padding_left_top";
+                  to: "padding_left_top";
                }
                rel2 {
-                   relative: 0.0 0.0;
-                   to: "padding_right_bottom";
-               }
-               color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
-               text {
-                  style: "btn_multiline_naviframe_controlbar_style";
-                  min: 0 0;
-                  max: 0 1;
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
                }
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               min: 80 0;
+               image.normal: "00_picker_arrow_left.png";
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               min: 0 0;
-            }
-            description { state: "focused" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               min: 0 0;
-               color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+               image.normal: "00_picker_arrow_left_press.png";
             }
          }
          part { name: "over2";
@@ -6883,15 +8484,6 @@ group { name: "elm/button/base/searchbar/default";
                color: 0 0 0 0;
             }
          }
-         part { name: "clipper";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-            description { state: "disabled" 0.0;
-               color: 255 255 255 127;
-            }
-         }
          part { name: "disabler";
             type: RECT;
             description { state: "default" 0.0;
@@ -6914,16 +8506,6 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "button_click_anim";
             action: STATE_SET "clicked" 0.0;
             target: "button_image";
-            after: "text_clicked";
-         }
-         program { name: "text_clicked";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.text", "clicked", 0.0);
-            }
          }
          program { name: "button_unpress";
             action: SIGNAL_EMIT "elm,action,unpress" "";
@@ -6932,97 +8514,31 @@ group { name: "elm/button/base/searchbar/default";
             signal: "mouse,up,1";
             source: "over3";
             script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (strcmp(st, "icononly"))
-                 {
-                    emit("elm,action,default,text,set", "");
-                    set_state(PART:"elm.text", "visible", 0.0);
-                 }
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"button_image", "default", 0.0);
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
-            action: SIGNAL_EMIT "elm,action,click" "";
-         }
-         program { name: "text_show";
-            signal: "elm,state,text,visible";
-            source: "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "icononly"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
-                 }
-               set_state(PART:"elm.text", "visible", 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.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "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, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"padding_icon_text", "visible", 0.0);
-                 }
-               else
-                 {
-                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"padding_icon_text", "icononly", 0.0);
-                 }
-            }
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
          }
-         program { name: "icon_hide";
-            signal: "elm,state,icon,hidden";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "elm.swallow.content";
-            target: "padding_icon_text";
+         program { name: "button_unclick3";
+            action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
             target: "button_image";
-            target: "clipper";
             target: "disabler";
-            after: "disable_text";
+            after: "disable_button";
          }
-         program { name: "disable_text";
+         program { name: "disable_button";
             script {
-               new st[31];
-               new Float:vl;
                set_int(button_state, BUTTON_STATE_DISABLED);
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
-                 set_state(PART:"elm.text", "visible", 0.0);
             }
          }
          program { name: "enable";
@@ -7030,286 +8546,108 @@ group { name: "elm/button/base/searchbar/default";
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
-            target: "clipper";
             target: "disabler";
-            after: "enable_text";
+            after: "enable_button";
          }
-         program { name: "enable_text";
+         program { name: "enable_button";
             script {
-               new st[31];
-               new Float:vl;
                set_int(button_state, BUTTON_STATE_ENABLED);
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
-                 set_state(PART:"elm.text", "visible", 0.0);
             }
          }
          program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
             action: STATE_SET "focused" 0.0;
             target: "button_image";
-            target: "elm.text";
          }
          program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
-            after: "unfocus_text";
-         }
-         program { name: "unfocus_text";
-            action: STATE_SET "visible" 0.0;
-            target: "elm.text";
          }
       }
    }
 
-//////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/naviframe/title/default";
+///////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/picker/next/icon/default";
       images {
-         image: "00_Title_btn.png" COMP;
-         image: "00_Title_btn_press.png" COMP;
+         image: "00_picker_btn_normal.png" COMP;
+         image: "00_picker_btn_press.png" COMP;
+         image: "00_picker_btn_normal_focus.png" COMP;
+         image: "00_picker_arrow_right.png" COMP;
+         image: "00_picker_arrow_right_press.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
       }
-      parts {
-         part { name: "button_image";
-            scale: 1;
-            description { state: "default" 0.0;
-               min: BUTTON_NAVIFRAME_TITLE_BUTTON_MIN_INC;
-               max: BUTTON_NAVIFRAME_TITLE_BUTTON_MIN_INC;
-               image {
-                  normal: "00_Title_btn.png";
-                  border: BUTTON_NAVIFRAME_BG_BORDER_INC;
-                  border_scale: 1;
-               }
-            }
-            description { state: "clicked" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_Title_btn_press.png";
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-            }
-            description { state: "focused" 0.0;
-               inherit: "default" 0.0;
-               image.normal: "00_Title_btn_press.png";
-            }
-         }
-         part { name: "padding_left_top";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 0.0 0.0;
-               rel2.relative: 0.0 0.0;
-               min: BUTTON_NAVIFRAME_PADDING_MIN_INC;
-               fixed: 1 1;
-               visible: 0;
-            }
-         }
-         part { name: "bg";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               min: BUTTON_NAVIFRAME_BG_MIN_INC;
-               visible: 0;
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               min: BUTTON_NAVIFRAME_VISIBLE_BG_MIN_INC;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
-               min: BUTTON_NAVIFRAME_ICONONLY_BG_MIN_INC;
-            }
-         }
-         part { name: "padding_right_bottom";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 1.0 1.0;
-               rel1.relative: 1.0 1.0;
-               min: BUTTON_NAVIFRAME_PADDING_MIN_INC;
-               fixed: 1 1;
-               visible: 0;
-            }
-         }
-         part { name: "icon_rect";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               visible: 0;
-               min: 0 0;
-               fixed: 1 0;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
+      parts {
+         part { name: "button_image";
+            scale: 1;
+            description { state: "default" 0.0;
+               min: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_MIN_MAX_INC;
+               max: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_MIN_MAX_INC;
+               image {
+                  normal: "00_picker_btn_normal.png";
+                  border: BUTTON_PICKER_PREV_ICON_DEFAULT_BG_DEFAULT_BORDER_INC;
+                  border_scale: 1;
                }
-               align: 0.0 0.5;
             }
-            description { state: "visible" 0.0;
-               visible: 0;
-               min: BUTTON_NAVIFRAME_VISIBLE_ICON_RECT_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_VISIBLE_ICON_RECT_MIN_MAX_INC;
-               fixed: 1 0;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
-               align: 0.0 0.5;
+            description { state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_picker_btn_press.png";
             }
-            description { state: "icononly" 0.0;
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "focused" 0.0;
                inherit: "default" 0.0;
+               image.normal: "00_picker_btn_normal_focus.png";
             }
          }
-         part { name: "padding_after_icon";
+         part { name: "padding_left_top";
             type: RECT;
             scale: 1;
             mouse_events: 0;
-            description { state: "default" 0.0; //when only icon or no icon is there
+            description { state: "default" 0.0;
                align: 0.0 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to: "icon_rect";
-               }
-               rel2.to: "icon_rect";
-               fixed: 1 0;
-               min: 0 0;
-               visible: 0;
-            }
-            description { state: "visible" 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_PICKER_PREV_ICON_DEFAULT_PADDING_MIN_INC;
+               fixed: 1 1;
                visible: 0;
-               align: 0.0 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to: "icon_rect";
-               }
-               rel2.to: "icon_rect";
-               fixed: 1 0;
-               min: BUTTON_NAVIFRAME_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
             }
          }
-         part { name: "padding_before_text";
+         part { name: "padding_right_bottom";
             type: RECT;
             scale: 1;
             mouse_events: 0;
-            description { state: "default" 0.0; //when only icon or no icon is there
-               align: 1.0 0.5;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "elm.text";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to_x: "elm.text";
-                  to_y: "padding_right_bottom";
-               }
-               fixed: 1 0;
-               min: BUTTON_NAVIFRAME_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
-               visible: 0;
-            }
-         }
-         part { name: "elm.swallow.content";
-            type: SWALLOW;
-            scale: 1;
-            clip_to: "clipper";
             description { state: "default" 0.0;
+               align: 1.0 1.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_PICKER_PREV_ICON_DEFAULT_PADDING_MIN_INC;
+               fixed: 1 1;
                visible: 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
-               fixed: 1 0;
-            }
-            description { state: "visible" 0.0;
-               fixed: 1 0;
-               min: BUTTON_NAVIFRAME_VISIBLE_ICON_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_VISIBLE_ICON_MIN_MAX_INC;
-               align: 1.0 0.5;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "padding_before_text";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to_x: "padding_before_text";
-                  to_y: "padding_right_bottom";
-               }
-            }
-            description { state: "icononly" 0.0;
-               min: BUTTON_NAVIFRAME_ICONONLY_ICON_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_ICONONLY_ICON_MIN_MAX_INC;
             }
          }
-         part { name: "elm.text";
-            type: TEXT;
-            mouse_events: 0;
+         part { name: "right_arrow";
             scale: 1;
-            clip_to: "clipper";
+            mouse_events: 0;
             description { state: "default" 0.0;
-               visible: 0;
+               min: BUTTON_PICKER_PREV_ICON_DEFAULT_IMAGE_MIN_MAX_INC;
+               max: BUTTON_PICKER_PREV_ICON_DEFAULT_IMAGE_MIN_MAX_INC;
                rel1 {
                   relative: 1.0 1.0;
-                  to_x: "padding_after_icon";
-                  to_y: "padding_left_top";
+                  to: "padding_left_top";
                }
                rel2 {
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_TEXT_NAVIFRAME_NORMAL_COLOR_INC;
-               text {
-                  font: "SLP:style=Medium";
-                  size: BUTTON_TEXT_NAVIFRAME_FONT_SIZE_INC;
-                  min: 0 0;
-                  max: 1 0;
-               }
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
+               image.normal: "00_picker_arrow_right.png";
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               color: BUTTON_TEXT_NAVIFRAME_PRESSED_COLOR_INC;
-            }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 0 0 0 128;
-            }
-            description { state: "disabled_visible" 0.0;
-               inherit: "default" 0.0;
-               color: BUTTON_TEXT_NAVIFRAME_DISABLED_COLOR_INC;
-               visible: 1;
-            }
-            description { state: "focused" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-               color: BUTTON_TEXT_NAVIFRAME_FOCUSED_COLOR_INC;
+               image.normal: "00_picker_arrow_right_press.png";
             }
          }
          part { name: "over2";
@@ -7327,12 +8665,6 @@ group { name: "elm/button/base/searchbar/default";
                color: 0 0 0 0;
             }
          }
-         part { name: "clipper";
-            type: RECT;
-            description { state: "default" 0.0;
-               color: 255 255 255 255;
-            }
-         }
          part { name: "disabler";
             type: RECT;
             description { state: "default" 0.0;
@@ -7355,16 +8687,6 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "button_click_anim";
             action: STATE_SET "clicked" 0.0;
             target: "button_image";
-            after: "text_clicked";
-         }
-         program { name: "text_clicked";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.text", "clicked", 0.0);
-            }
          }
          program { name: "button_unpress";
             action: SIGNAL_EMIT "elm,action,unpress" "";
@@ -7373,92 +8695,19 @@ group { name: "elm/button/base/searchbar/default";
             signal: "mouse,up,1";
             source: "over3";
             script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (strcmp(st, "icononly"))
-                 {
-                    emit("elm,action,default,text,set", "");
-                    set_state(PART:"elm.text", "visible", 0.0);
-                 }
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"button_image", "default", 0.0);
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
-            action: SIGNAL_EMIT "elm,action,click" "";
-         }
-         program { name: "text_show";
-            signal: "elm,state,text,visible";
-            source: "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "icononly"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"icon_rect", "visible", 0.0);
-                    set_state(PART:"padding_after_icon", "visible", 0.0);
-                    set_state(PART:"bg", "visible", 0.0);
-                 }
-               if (get_int(button_state) != BUTTON_STATE_DISABLED)
-                 set_state(PART:"elm.text", "visible", 0.0);
-               else
-                 set_state(PART:"elm.text", "disabled_visible", 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.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"icon_rect", "icononly", 0.0);
-                    set_state(PART:"padding_after_icon", "icononly", 0.0);
-                    set_state(PART:"bg", "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, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"icon_rect", "visible", 0.0);
-                    set_state(PART:"padding_after_icon", "visible", 0.0);
-                    set_state(PART:"bg", "visible", 0.0);
-                 }
-               else
-                 {
-                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"icon_rect", "icononly", 0.0);
-                    set_state(PART:"padding_after_icon", "icononly", 0.0);
-                    set_state(PART:"bg", "icononly", 0.0);
-                 }
-            }
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
          }
-         program { name: "icon_hide";
-            signal: "elm,state,icon,hidden";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "elm.swallow.content";
-            target: "padding_after_icon";
-            target: "icon_rect";
-            target: "bg";
+         program { name: "button_unclick3";
+            action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
@@ -7466,17 +8715,10 @@ group { name: "elm/button/base/searchbar/default";
             action: STATE_SET "disabled" 0.0;
             target: "button_image";
             target: "disabler";
-            after: "disable_text";
+            after: "disable_button";
          }
-         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);
+         program { name: "disable_button";
+            script {
                set_int(button_state, BUTTON_STATE_DISABLED);
             }
          }
@@ -7486,17 +8728,10 @@ group { name: "elm/button/base/searchbar/default";
             action: STATE_SET "default" 0.0;
             target: "button_image";
             target: "disabler";
-            after: "enable_text";
+            after: "enable_button";
          }
-         program { name: "enable_text";
+         program { name: "enable_button";
             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);
                set_int(button_state, BUTTON_STATE_ENABLED);
             }
          }
@@ -7505,68 +8740,258 @@ group { name: "elm/button/base/searchbar/default";
             //source: "elm";
             action: STATE_SET "focused" 0.0;
             target: "button_image";
-            target: "elm.text";
          }
          program { name: "unfocused";
             //signal: "elm,action,unfocus";
             //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
-            after: "unfocus_text";
-         }
-         program { name: "unfocus_text";
-            action: STATE_SET "visible" 0.0;
-            target: "elm.text";
          }
       }
    }
 
-/////////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/naviframe/more/default";
-      images {
-         image: "00_Title_btn.png" COMP;
-         image: "00_Title_btn_press.png" COMP;
-         image: "00_winset_more.png" COMP;
-      }
+///////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/naviframe_control/default";
+      alias: "elm/button/base/naviframe_control/center";
       script {
          public button_state = BUTTON_STATE_ENABLED;
       }
+      images {
+         image: "00_Option_header_bt.png" COMP;
+         image: "00_Option_header_bt_dim.png" COMP;
+         image: "00_Option_header_bt_press.png" COMP;
+         image: "00_Option_header_bt_focus.png" COMP;
+      }
       parts {
          part { name: "button_image";
             scale: 1;
             description { state: "default" 0.0;
-               min: BUTTON_NAVIFRAME_MORE_BG_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_MORE_BG_MIN_MAX_INC;
+               min: BUTTON_NAVIFRAME_CENTER_BG_NORMAL_MIN_INC;
+               color: 0 0 0 0;
+               rel1.offset: 0 0;
+               rel2.offset: -1 -1;
                image {
-                  normal: "00_Title_btn.png";
-                  border: BUTTON_NAVIFRAME_MORE_BG_BORDER_INC;
-                  border_scale: 1;
+                  normal: "00_Option_header_bt.png";
+                  border: BUTTON_NAVIFRAME_CENTER_BG_NORMAL_BORDER_INC;
                }
+               color: 255 255 255 255;
             }
-            description { state: "clicked" 0.0;
+            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_Title_btn_press.png";
+               image.normal: "00_Option_header_bt_dim.png";
             }
-            description { state: "disabled" 0.0;
+            description { state: "clicked" 0.0;
                inherit: "default" 0.0;
+               image.normal: "00_Option_header_bt_press.png";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_Title_btn_press.png";
+               image.normal: "00_Option_header_bt_focus.png";
             }
          }
-         part { name: "more_image";
+         part { name: "padding_left_top";
+            type: RECT;
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
-               min: BUTTON_NAVIFRAME_MORE_DEFAULT_IMAGE_MIN_MAX_INC;
-               max: BUTTON_NAVIFRAME_MORE_DEFAULT_IMAGE_MIN_MAX_INC;
-               rel1.to: "button_image";
-               rel2.to: "button_image";
-               image.normal: "00_winset_more.png";
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_NAVIFRAME_CENTER_PADDING_MIN_MAX_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "padding_right_bottom";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               align: 1.0 1.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_NAVIFRAME_CENTER_PADDING_MIN_MAX_INC;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "icon_rect";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: 0 0;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               align: 0.0 0.5;
+               color: 0 0 0 0;
+            }
+            description { state: "visible" 0.0;
+               min: BUTTON_NAVIFRAME_CENTER_ICON_RECT_VISIBLE_MIN_SIZE;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               align: 0.0 0.5;
+               color: 0 0 0 0;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+         }
+         part { name: "padding_after_icon";
+            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 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               fixed: 1 0;
+               min: 0 0;
+               color: 0 0 0 0;
+            }
+            description { state: "visible" 0.0;
+               align: 0.0 0.0;
+               rel1 {
+                  relative: 1.0 0.0;
+                  to: "icon_rect";
+               }
+               rel2.to: "icon_rect";
+               fixed: 1 0;
+               min: BUTTON_NAVIFRAME_CENTER_PADDING_AFTER_ICON_VISIBLE_MIN_INC;
+               color: 0 0 0 0;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+            }
+         }
+         part { name: "padding_before_text";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0; //when only icon or no icon is there
+               align: 1.0 0.5;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to_x: "elm.text";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+               min: BUTTON_NAVIFRAME_CENTER_PADDING_BEFORE_TEXT_DEFAULT_MIN_INC;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               visible: 0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+            }
+            description { state: "visible" 0.0;
+               fixed: 1 0;
+               min: BUTTON_NAVIFRAME_CENTER_SWALLOW_VISIBLE_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_CENTER_SWALLOW_VISIBLE_MIN_MAX_INC;
+               align: 1.0 0.5;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "padding_before_text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to_x: "padding_before_text";
+                  to_y: "padding_right_bottom";
+               }
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+            }
+            description { state: "icononly" 0.0;
+               min: BUTTON_NAVIFRAME_CENTER_SWALLOW_ICONONLY_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_CENTER_SWALLOW_ICONONLY_MIN_MAX_INC;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
+               }
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+            }
+         }
+         part { name: "elm.text";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            clip_to: "clipper";
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "padding_after_icon";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
+               }
+               color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
+               text {
+                  font: "SLP:style=Medium";
+                  size: BUTTON_NAVIFRAME_CENTER_TEXT_FONT_SIZE_INC;
+                  min: 0 0;
+                  max: 1 0;
+                  text_class: "slp_medium";
+               }
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               min: 0 0;
+               color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -7577,11 +9002,20 @@ group { name: "elm/button/base/searchbar/default";
                color: 0 0 0 0;
             }
          }
-         part { name: "over3";
+         part { name: "over3";
+            type: RECT;
+            repeat_events: 1;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "clipper";
             type: RECT;
-            repeat_events: 1;
             description { state: "default" 0.0;
-               color: 0 0 0 0;
+               color: 255 255 255 255;
+            }
+            description { state: "disabled" 0.0;
+               color: 255 255 255 127;
             }
          }
          part { name: "disabler";
@@ -7606,6 +9040,16 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "button_click_anim";
             action: STATE_SET "clicked" 0.0;
             target: "button_image";
+            after: "text_clicked";
+         }
+         program { name: "text_clicked";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "clicked", 0.0);
+            }
          }
          program { name: "button_unpress";
             action: SIGNAL_EMIT "elm,action,unpress" "";
@@ -7614,27 +9058,106 @@ group { name: "elm/button/base/searchbar/default";
             signal: "mouse,up,1";
             source: "over3";
             script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (strcmp(st, "icononly"))
+                 {
+                    emit("elm,action,default,text,set", "");
+                    set_state(PART:"elm.text", "visible", 0.0);
+                 }
                if (get_int(button_state) != BUTTON_STATE_DISABLED)
                  set_state(PART:"button_image", "default", 0.0);
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.swallow.content", st, 30, vl);
+               if (!strcmp(st, "icononly"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"icon_rect", "visible", 0.0);
+                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                 }
+               set_state(PART:"elm.text", "visible", 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.content", st, 30, vl);
+               if (!strcmp(st, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
+                    set_state(PART:"icon_rect", "icononly", 0.0);
+                    set_state(PART:"padding_after_icon", "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, "visible"))
+                 {
+                    set_state(PART:"elm.swallow.content", "visible", 0.0);
+                    set_state(PART:"icon_rect", "visible", 0.0);
+                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                 }
+               else
+                 {
+                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
+                    set_state(PART:"icon_rect", "icononly", 0.0);
+                    set_state(PART:"padding_after_icon", "icononly", 0.0);
+                 }
+            }
+         }
+         program { name: "icon_hide";
+            signal: "elm,state,icon,hidden";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.swallow.content";
+            target: "icon_rect";
+            target: "padding_after_icon";
+         }
          program { name: "disable";
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
             target: "button_image";
+            target: "clipper";
             target: "disabler";
-            after: "disable_button";
+            after: "disable_text";
          }
-         program { name: "disable_button";
+         program { name: "disable_text";
             script {
+               new st[31];
+               new Float:vl;
                set_int(button_state, BUTTON_STATE_DISABLED);
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
+                 set_state(PART:"elm.text", "visible", 0.0);
             }
          }
          program { name: "enable";
@@ -7642,42 +9165,84 @@ group { name: "elm/button/base/searchbar/default";
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
+            target: "clipper";
             target: "disabler";
-            after: "enable_button";
+            after: "enable_text";
          }
-         program { name: "enable_button";
+         program { name: "enable_text";
             script {
+               new st[31];
+               new Float:vl;
                set_int(button_state, BUTTON_STATE_ENABLED);
+               get_state(PART:"elm.text", st, 30, vl);
+               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
+                 set_state(PART:"elm.text", "visible", 0.0);
             }
          }
+         program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
+            action: STATE_SET "focused" 0.0;
+            target: "button_image";
+            target: "elm.text";
+         }
+         program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            after: "unfocus_text";
+         }
+         program { name: "unfocus_text";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.text";
+         }
       }
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/controlbar/vertical";
+   group { name: "elm/button/base/naviframe_control/multiline";
       script {
          public button_state = BUTTON_STATE_ENABLED;
       }
+      images {
+         image: "00_Option_header_bt.png" COMP;
+         image: "00_Option_header_bt_dim.png" COMP;
+         image: "00_Option_header_bt_press.png" COMP;
+         image: "00_Option_header_bt_focus.png" COMP;
+      }
       styles{
-         style { name: "controlbar_style";
-            base: "font=SLP:style=Medium font_size="BUTTON_CONTROLBAR_ITEM_BUTTON_TEXT_SIZE_INC" align=center color="BUTTON_CONTROLBAR_ITEM_BUTTON_TEXTBLOCK_COLOR_INC" wrap=mixed ellipsis=1";
+         style { name: "btn_multiline_naviframe_controlbar_style";
+            base: "font=SLP:style=Medium font_size="BUTTON_NAVIFRAME_MULTILINE_TEXT_FONT_SIZE_INC" align=center color=#ffffff wrap=mixed text_class=slp_medium";
             tag: "br" "\n";
             tag: "ps" "ps";
-            tag: "hilight" "+ font=SLP:style=Bold";
-            tag: "b" "+ font=SLP:style=Bold";
             tag: "tab" "\t";
          }
       }
       parts {
          part { name: "button_image";
-            type: RECT;
             scale: 1;
             description { state: "default" 0.0;
-               min: 20 30;
-               rel1.offset: 5 5;
-               rel2.offset: -6 -6;
-               color: 0 0 0 0;
-               visible: 0;
+               min: BUTTON_NAVIFRAME_CENTER_BG_NORMAL_MIN_INC;
+               rel1.offset: 0 0;
+               rel2.offset: -1 -1;
+               image {
+                  normal: "00_Option_header_bt.png";
+                  border: BUTTON_NAVIFRAME_CENTER_BG_NORMAL_BORDER_INC;
+               }
+               color: 255 255 255 255;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_Option_header_bt_dim.png";
+            }
+            description { state: "clicked" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_Option_header_bt_press.png";
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_Option_header_bt_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -7687,7 +9252,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: 10 8;
+               min: BUTTON_NAVIFRAME_CENTER_PADDING_MIN_MAX_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -7699,138 +9264,102 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: 10 5;
+               min: BUTTON_NAVIFRAME_CENTER_PADDING_MIN_MAX_INC;
                fixed: 1 1;
                visible: 0;
             }
          }
-         part {
-            name: "icon_rect";
+         part { name: "icon_rect";
             type: RECT;
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
+               visible: 0;
                min: 0 0;
-               fixed: 0 1;
+               fixed: 1 0;
                rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
                   relative: 0.0 1.0;
-                  to_x: "padding_right_bottom";
+                  to_x: "elm.swallow.content";
                   to_y: "padding_left_top";
                }
-               align: 0.5 0.0;
-               color: 0 0 0 0;
-            }
-            description { state: "visible" 0.0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               fixed: 0 1;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
                rel2 {
-                  relative: 0.0 1.0;
-                  to_x: "padding_right_bottom";
-                  to_y: "padding_left_top";
+                  relative: 1.0 0.0;
+                  to_x: "elm.swallow.content";
+                  to_y: "padding_right_bottom";
                }
-               align: 0.5 0.0;
-               color: 0 0 0 0;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
+               align: 0.0 0.5;
             }
          }
-         part { name: "padding_after_icon";
+         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
+               visible: 0;
                align: 0.0 0.0;
                rel1 {
-                  relative: 0.0 1.0;
+                  relative: 1.0 0.0;
                   to: "icon_rect";
                }
-               rel2.to: "icon_rect";
-               fixed: 0 1;
-               min: 0 0;
-               color: 0 0 0 0;
-            }
-            description { state: "visible" 0.0;
-               align: 0.0 0.0;
-               rel1 {
-                  relative: 0.0 1.0;
+               rel2 {
+                  relative: 1.0 1.0;
                   to: "icon_rect";
                }
-               rel2.to: "icon_rect";
-               fixed: 0 1;
+               fixed: 1 0;
                min: 0 0;
-               color: 0 0 0 0;
             }
-            description { state: "icononly" 0.0;
+            description { state: "visible" 0.0;
                inherit: "default" 0.0;
-            }
-         }
-         part { name: "padding_before_text";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0; //when only icon or no icon is there
-               align: 0.5 1.0;
+               min: BUTTON_NAVIFRAME_CENTER_PADDING_AFTER_ICON_VISIBLE_MIN_INC;
                rel1 {
                   relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "elm.text";
+                  to: "icon_rect";
                }
                rel2 {
-                  relative: 0.0 0.0;
-                  to_x: "padding_right_bottom";
-                  to_y: "elm.text";
+                  relative: 1.0 1.0;
+                  to: "icon_rect";
                }
-               fixed: 0 1;
-               min: 0 0;
-               color: 0 0 0 0;
+           }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
             }
          }
          part { name: "elm.swallow.content";
             type: SWALLOW;
             scale: 1;
-            clip_to: "disabler";
+            clip_to: "clipper";
             description { state: "default" 0.0;
                visible: 0;
-               align: 0.5 0.0;
+               align: 0.0 0.5;
                rel1 {
                   relative: 1.0 1.0;
                   to: "padding_left_top";
                }
                rel2 {
-                  relative: 0.0 1.0;
-                  to_x: "padding_right_bottom";
-                  to_y: "padding_left_top";
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
                }
-               fixed: 0 1;
+               fixed: 1 0;
             }
             description { state: "visible" 0.0;
-               fixed: 0 1;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+               fixed: 1 0;
+               min: BUTTON_NAVIFRAME_CENTER_SWALLOW_VISIBLE_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_CENTER_SWALLOW_VISIBLE_MIN_MAX_INC;
+               align: 0.0 0.5;
                rel1 {
                   relative: 1.0 1.0;
                   to: "padding_left_top";
                }
                rel2 {
                   relative: 0.0 0.0;
-                  to_x: "padding_right_bottom";
-                  to_y: "padding_before_text";
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
                }
-               aspect: 1.0 1.0;
-               aspect_preference: HORIZONTAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+               min: BUTTON_NAVIFRAME_CENTER_SWALLOW_ICONONLY_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_CENTER_SWALLOW_ICONONLY_MIN_MAX_INC;
                rel1 {
                   relative: 1.0 1.0;
                   to: "padding_left_top";
@@ -7839,46 +9368,45 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               aspect: 1.0 1.0;
-               aspect_preference: HORIZONTAL;
             }
          }
          part { name: "elm.text";
             type: TEXTBLOCK;
             mouse_events: 0;
             scale: 1;
-            clip_to: "disabler";
+            clip_to: "clipper";
             description { state: "default" 0.0;
                visible: 0;
                rel1 {
                   relative: 1.0 1.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_after_icon";
+                  to_x: "padding_icon_text";
+                  to_y: "padding_left_top";
                }
                rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
+                   relative: 0.0 0.0;
+                   to: "padding_right_bottom";
                }
                color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
-               fixed: 1 1;
                text {
-                  style: "controlbar_style";
-                  min: 0 1;
+                  style: "btn_multiline_naviframe_controlbar_style";
+                  min: 0 0;
                   max: 0 1;
                }
             }
             description { state: "visible" 0.0;
                inherit: "default" 0.0;
                visible: 1;
+               min: 80 0;
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+               min: 0 0;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
+               min: 0 0;
                color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
             }
          }
@@ -7889,10 +9417,6 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                color: 0 0 0 0;
             }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               visible: 0;
-            }
          }
          part { name: "over3";
             type: RECT;
@@ -7901,15 +9425,23 @@ group { name: "elm/button/base/searchbar/default";
                color: 0 0 0 0;
             }
          }
-         part { name: "disabler";
+         part { name: "clipper";
             type: RECT;
             description { state: "default" 0.0;
                color: 255 255 255 255;
-               visible: 1;
             }
             description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
                color: 255 255 255 127;
+            }
+         }
+         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;
             }
          }
@@ -7955,9 +9487,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -7970,8 +9506,7 @@ group { name: "elm/button/base/searchbar/default";
                if (!strcmp(st, "icononly"))
                  {
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"icon_rect", "visible", 0.0);
-                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
                  }
                set_state(PART:"elm.text", "visible", 0.0);
             }
@@ -7986,8 +9521,7 @@ group { name: "elm/button/base/searchbar/default";
                if (!strcmp(st, "visible"))
                  {
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"icon_rect", "icononly", 0.0);
-                    set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"padding_icon_text", "icononly", 0.0);
                  }
                set_state(PART:"elm.text", "default", 0.0);
             }
@@ -8002,14 +9536,12 @@ group { name: "elm/button/base/searchbar/default";
                if (!strcmp(st, "visible"))
                  {
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"icon_rect", "visible", 0.0);
-                    set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"padding_icon_text", "visible", 0.0);
                  }
                else
                  {
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"icon_rect", "icononly", 0.0);
-                    set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"padding_icon_text", "icononly", 0.0);
                  }
             }
          }
@@ -8018,14 +9550,14 @@ group { name: "elm/button/base/searchbar/default";
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "elm.swallow.content";
-            target: "icon_rect";
-            target: "padding_after_icon";
+            target: "padding_icon_text";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
-            target: "over2";
+            target: "button_image";
+            target: "clipper";
             target: "disabler";
             after: "disable_text";
          }
@@ -8043,7 +9575,8 @@ group { name: "elm/button/base/searchbar/default";
             signal: "elm,state,enabled";
             source: "elm";
             action: STATE_SET "default" 0.0;
-            target: "over2";
+            target: "button_image";
+            target: "clipper";
             target: "disabler";
             after: "enable_text";
          }
@@ -8058,11 +9591,15 @@ group { name: "elm/button/base/searchbar/default";
             }
          }
          program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
             action: STATE_SET "focused" 0.0;
             target: "button_image";
             target: "elm.text";
          }
          program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
             after: "unfocus_text";
@@ -8074,25 +9611,38 @@ group { name: "elm/button/base/searchbar/default";
       }
    }
 
-///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/controlbar/horizontal_center";
+/////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/naviframe/title1/default";
+      images {
+         image: "00_winset_Back_btn_normal.png" COMP;
+         image: "00_winset_Back_btn_press.png" COMP;
+         image: "00_winset_Back_btn_normal_focus.png" COMP;
+      }
       script {
          public button_state = BUTTON_STATE_ENABLED;
       }
       parts {
          part { name: "button_image";
-            type: RECT;
             scale: 1;
             description { state: "default" 0.0;
-               min: 20 30;
-               rel1.offset: 5 5;
-               rel2.offset: -6 -6;
-               color: 0 0 0 0;
-               visible: 0;
+               min: BUTTON_NAVIFRAME_TITLE1_BG_MIN_INC;
+               image {
+                  normal: "00_winset_Back_btn_normal.png";
+                  border: BUTTON_NAVIFRAME_TITLE1_BG_BORDER_INC;
+                  border_scale: 1;
+               }
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
+               image.normal: "00_winset_Back_btn_press.png";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 127 127 127 127;
+            }
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
+               image.normal: "00_winset_Back_btn_normal_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -8102,11 +9652,28 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: 10 5;
+               min: BUTTON_NAVIFRAME_TITLE1_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
          }
+         part { name: "bg";
+            type: RECT;
+            scale: 1;
+            mouse_events: 0;
+            description { state: "default" 0.0;
+               min: BUTTON_NAVIFRAME_TITLE1_BG_MIN_INC;
+               visible: 0;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_NAVIFRAME_TITLE1_BG_MIN_INC;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_NAVIFRAME_TITLE1_BG_MIN_INC;
+            }
+         }
          part { name: "padding_right_bottom";
             type: RECT;
             scale: 1;
@@ -8114,7 +9681,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: 10 5;
+               min: BUTTON_NAVIFRAME_TITLE1_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -8124,6 +9691,7 @@ group { name: "elm/button/base/searchbar/default";
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
+               visible: 0;
                min: 0 0;
                fixed: 1 0;
                rel1 {
@@ -8136,10 +9704,11 @@ group { name: "elm/button/base/searchbar/default";
                   to_y: "padding_right_bottom";
                }
                align: 0.0 0.5;
-               color: 0 0 0 0;
             }
             description { state: "visible" 0.0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+               visible: 0;
+               min: BUTTON_NAVIFRAME_TITLE1_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_TITLE1_VISIBLE_ICON_RECT_MIN_MAX_INC;
                fixed: 1 0;
                rel1 {
                   relative: 1.0 1.0;
@@ -8151,11 +9720,9 @@ group { name: "elm/button/base/searchbar/default";
                   to_y: "padding_right_bottom";
                }
                align: 0.0 0.5;
-               color: 0 0 0 0;
             }
             description { state: "icononly" 0.0;
                inherit: "default" 0.0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
             }
          }
          part { name: "padding_after_icon";
@@ -8171,9 +9738,10 @@ group { name: "elm/button/base/searchbar/default";
                rel2.to: "icon_rect";
                fixed: 1 0;
                min: 0 0;
-               color: 0 0 0 0;
+               visible: 0;
             }
             description { state: "visible" 0.0;
+               visible: 0;
                align: 0.0 0.0;
                rel1 {
                   relative: 1.0 0.0;
@@ -8181,8 +9749,7 @@ group { name: "elm/button/base/searchbar/default";
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: 6 0;
-               color: 0 0 0 0;
+               min: BUTTON_NAVIFRAME_TITLE1_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
             }
             description { state: "icononly" 0.0;
                inherit: "default" 0.0;
@@ -8205,14 +9772,14 @@ group { name: "elm/button/base/searchbar/default";
                   to_y: "padding_right_bottom";
                }
                fixed: 1 0;
-               min: 6 0;
-               color: 0 0 0 0;
+               min: BUTTON_NAVIFRAME_TITLE1_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+               visible: 0;
             }
          }
          part { name: "elm.swallow.content";
             type: SWALLOW;
             scale: 1;
-            clip_to: "disabler";
+            clip_to: "clipper";
             description { state: "default" 0.0;
                visible: 0;
                align: 0.0 0.5;
@@ -8229,8 +9796,8 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "visible" 0.0;
                fixed: 1 0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+               min: BUTTON_NAVIFRAME_TITLE1_VISIBLE_ICON_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_TITLE1_VISIBLE_ICON_MIN_MAX_INC;
                align: 1.0 0.5;
                rel1 {
                   relative: 0.0 1.0;
@@ -8242,29 +9809,17 @@ group { name: "elm/button/base/searchbar/default";
                   to_x: "padding_before_text";
                   to_y: "padding_right_bottom";
                }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
-               }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
+               min: BUTTON_NAVIFRAME_TITLE1_ICONONLY_ICON_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_TITLE1_ICONONLY_ICON_MIN_MAX_INC;
             }
          }
          part { name: "elm.text";
             type: TEXT;
             mouse_events: 0;
             scale: 1;
-            clip_to: "disabler";
+            clip_to: "clipper";
             description { state: "default" 0.0;
                visible: 0;
                rel1 {
@@ -8276,12 +9831,13 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
+               color: BUTTON_NAVIFRAME_TITLE1_NORMAL_COLOR_INC;
                text {
                   font: "SLP:style=Medium";
-                  size: BUTTON_CONTROLBAR_ITEM_BUTTON_TEXT_SIZE_INC;
-                  min: 0 0;
+                  size: BUTTON_NAVIFRAME_TITLE1_FONT_SIZE_INC;
+                  min: 1 0;
                   max: 1 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
@@ -8291,13 +9847,21 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
+               color: BUTTON_NAVIFRAME_TITLE1_PRESSED_COLOR_INC;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 128;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_NAVIFRAME_TITLE1_DISABLED_COLOR_INC;
+               visible: 1;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
-               color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+               color: BUTTON_NAVIFRAME_TITLE1_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -8307,10 +9871,6 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                color: 0 0 0 0;
             }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               visible: 0;
-            }
          }
          part { name: "over3";
             type: RECT;
@@ -8319,13 +9879,21 @@ group { name: "elm/button/base/searchbar/default";
                color: 0 0 0 0;
             }
          }
-         part { name: "disabler";
+         part { name: "clipper";
             type: RECT;
             description { state: "default" 0.0;
                color: 255 255 255 255;
             }
+         }
+         part { name: "disabler";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+               visible: 0;
+            }
             description { state: "disabled" 0.0;
-               color: 255 255 255 127;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
       }
@@ -8370,9 +9938,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -8387,8 +9959,12 @@ group { name: "elm/button/base/searchbar/default";
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
                     set_state(PART:"icon_rect", "visible", 0.0);
                     set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"bg", "visible", 0.0);
                  }
-               set_state(PART:"elm.text", "visible", 0.0);
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled_visible", 0.0);
             }
          }
          program { name: "text_hide";
@@ -8403,6 +9979,7 @@ group { name: "elm/button/base/searchbar/default";
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
                     set_state(PART:"icon_rect", "icononly", 0.0);
                     set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"bg", "icononly", 0.0);
                  }
                set_state(PART:"elm.text", "default", 0.0);
             }
@@ -8419,12 +9996,14 @@ group { name: "elm/button/base/searchbar/default";
                     set_state(PART:"elm.swallow.content", "visible", 0.0);
                     set_state(PART:"icon_rect", "visible", 0.0);
                     set_state(PART:"padding_after_icon", "visible", 0.0);
+                    set_state(PART:"bg", "visible", 0.0);
                  }
                else
                  {
                     set_state(PART:"elm.swallow.content", "icononly", 0.0);
                     set_state(PART:"icon_rect", "icononly", 0.0);
                     set_state(PART:"padding_after_icon", "icononly", 0.0);
+                    set_state(PART:"bg", "icononly", 0.0);
                  }
             }
          }
@@ -8433,14 +10012,15 @@ group { name: "elm/button/base/searchbar/default";
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "elm.swallow.content";
-            target: "icon_rect";
             target: "padding_after_icon";
+            target: "icon_rect";
+            target: "bg";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
-            target: "over2";
+            target: "button_image";
             target: "disabler";
             after: "disable_text";
          }
@@ -8448,17 +10028,19 @@ group { name: "elm/button/base/searchbar/default";
             script {
                new st[31];
                new Float:vl;
-               set_int(button_state, BUTTON_STATE_DISABLED);
                get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
-                 set_state(PART:"elm.text", "visible", 0.0);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "disabled_visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled", 0.0);
+               set_int(button_state, BUTTON_STATE_DISABLED);
             }
          }
          program { name: "enable";
             signal: "elm,state,enabled";
             source: "elm";
             action: STATE_SET "default" 0.0;
-            target: "over2";
+            target: "button_image";
             target: "disabler";
             after: "enable_text";
          }
@@ -8466,18 +10048,24 @@ group { name: "elm/button/base/searchbar/default";
             script {
                new st[31];
                new Float:vl;
-               set_int(button_state, BUTTON_STATE_ENABLED);
                get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
+               if (!strcmp(st, "disabled_visible"))
                  set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "default", 0.0);
+               set_int(button_state, BUTTON_STATE_ENABLED);
             }
          }
          program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
             action: STATE_SET "focused" 0.0;
             target: "button_image";
             target: "elm.text";
          }
          program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
             after: "unfocus_text";
@@ -8489,25 +10077,44 @@ group { name: "elm/button/base/searchbar/default";
       }
    }
 
-///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/controlbar/horizontal_left";
+//////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/naviframe/title/default";
       script {
          public button_state = BUTTON_STATE_ENABLED;
       }
+      images {
+         image: "00_title_btn_bg_press.png" COMP;
+      }
+      styles{
+         style { name: "btn_naviframe_style";
+            base: "font=SLP:style=Medium font_size="BUTTON_NAVIFRAME_TITLE_TEXT_FONT_SIZE_INC" align=center color=#ffffff wrap=mixed ellipise=1.0 text_class=slp_medium";
+            tag: "br" "\n";
+            tag: "ps" "ps";
+            tag: "tab" "\t";
+         }
+      }
       parts {
          part { name: "button_image";
-            type: RECT;
             scale: 1;
             description { state: "default" 0.0;
-               min: 20 30;
-               rel1.offset: 5 5;
-               rel2.offset: -6 -6;
+               min: BUTTON_NAVIFRAME_TITLE_TEXT_BG_NORMAL_MIN_INC;
+               max: BUTTON_NAVIFRAME_TITLE_TEXT_BG_NORMAL_MIN_INC;
                color: 0 0 0 0;
-               visible: 0;
             }
             description { state: "clicked" 0.0;
+               min: BUTTON_NAVIFRAME_TITLE_TEXT_BG_PRESSED_MIN_INC;
+               max: BUTTON_NAVIFRAME_TITLE_TEXT_BG_PRESSED_MIN_INC;
+               image {
+                  normal: "00_title_btn_bg_press.png";
+                  border: BUTTON_NAVIFRAME_TITLE_TEXT_BG_PRESSED_BORDER_INC;
+                  border_scale: 1;
+               }
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+            }
+            description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
             }
          }
          part { name: "padding_left_top";
@@ -8517,7 +10124,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 0.0 0.0;
                rel2.relative: 0.0 0.0;
-               min: 10 5;
+               min: BUTTON_NAVIFRAME_TITLE_TEXT_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -8529,7 +10136,7 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "default" 0.0;
                align: 1.0 1.0;
                rel1.relative: 1.0 1.0;
-               min: 10 5;
+               min: BUTTON_NAVIFRAME_TITLE_TEXT_PADDING_MIN_INC;
                fixed: 1 1;
                visible: 0;
             }
@@ -8539,6 +10146,7 @@ group { name: "elm/button/base/searchbar/default";
             scale: 1;
             mouse_events: 0;
             description { state: "default" 0.0;
+               visible: 0;
                min: 0 0;
                fixed: 1 0;
                rel1 {
@@ -8551,10 +10159,11 @@ group { name: "elm/button/base/searchbar/default";
                   to_y: "padding_right_bottom";
                }
                align: 0.0 0.5;
-               color: 0 0 0 0;
             }
             description { state: "visible" 0.0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+               visible: 0;
+               min: BUTTON_NAVIFRAME_TITLE_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_TITLE_VISIBLE_ICON_RECT_MIN_MAX_INC;
                fixed: 1 0;
                rel1 {
                   relative: 1.0 1.0;
@@ -8566,7 +10175,6 @@ group { name: "elm/button/base/searchbar/default";
                   to_y: "padding_right_bottom";
                }
                align: 0.0 0.5;
-               color: 0 0 0 0;
             }
             description { state: "icononly" 0.0;
                inherit: "default" 0.0;
@@ -8585,9 +10193,10 @@ group { name: "elm/button/base/searchbar/default";
                rel2.to: "icon_rect";
                fixed: 1 0;
                min: 0 0;
-               color: 0 0 0 0;
+               visible: 0;
             }
             description { state: "visible" 0.0;
+               visible: 0;
                align: 0.0 0.0;
                rel1 {
                   relative: 1.0 0.0;
@@ -8595,8 +10204,7 @@ group { name: "elm/button/base/searchbar/default";
                }
                rel2.to: "icon_rect";
                fixed: 1 0;
-               min: 6 0;
-               color: 0 0 0 0;
+               min: BUTTON_NAVIFRAME_TITLE_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
             }
             description { state: "icononly" 0.0;
                inherit: "default" 0.0;
@@ -8619,14 +10227,14 @@ group { name: "elm/button/base/searchbar/default";
                   to_y: "padding_right_bottom";
                }
                fixed: 1 0;
-               min: 6 0;
-               color: 0 0 0 0;
+               min: BUTTON_NAVIFRAME_TITLE_VISIBLE_PADDING_ICON_TEXT_MIN_INC;
+               visible: 0;
             }
          }
          part { name: "elm.swallow.content";
             type: SWALLOW;
             scale: 1;
-            clip_to: "disabler";
+            clip_to: "icon_disabler";
             description { state: "default" 0.0;
                visible: 0;
                align: 0.0 0.5;
@@ -8643,8 +10251,8 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "visible" 0.0;
                fixed: 1 0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
+               min: BUTTON_NAVIFRAME_TITLE_VISIBLE_ICON_RECT_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_TITLE_VISIBLE_ICON_RECT_MIN_MAX_INC;
                align: 1.0 0.5;
                rel1 {
                   relative: 0.0 1.0;
@@ -8656,29 +10264,17 @@ group { name: "elm/button/base/searchbar/default";
                   to_x: "padding_before_text";
                   to_y: "padding_right_bottom";
                }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
             }
             description { state: "icononly" 0.0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
-               }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
+               min: BUTTON_NAVIFRAME_TITLE_ICONONLY_ICON_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_TITLE_ICONONLY_ICON_MIN_MAX_INC;
             }
          }
          part { name: "elm.text";
-            type: TEXT;
+            type: TEXTBLOCK;
             mouse_events: 0;
             scale: 1;
-            clip_to: "disabler";
+            clip_to: "clipper";
             description { state: "default" 0.0;
                visible: 0;
                rel1 {
@@ -8690,14 +10286,11 @@ group { name: "elm/button/base/searchbar/default";
                   relative: 0.0 0.0;
                   to: "padding_right_bottom";
                }
-               align: 0.0 0.5;
-               color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
+               color: BUTTON_NAVIFRAME_TITLE_TEXT_NORMAL_COLOR_INC;
                text {
-                  font: "SLP:style=Medium";
-                  size: 20;
-                  min: 0 0;
-                  max: 1 0;
-                  align: 0.0 0.5;
+                   style: "btn_naviframe_style";
+                   min: 0 0;
+                   max: 0 1;
                }
             }
             description { state: "visible" 0.0;
@@ -8707,13 +10300,21 @@ group { name: "elm/button/base/searchbar/default";
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
+               color: BUTTON_NAVIFRAME_TITLE_TEXT_PRESSED_COLOR_INC;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color: 0 0 0 128;
+            }
+            description { state: "disabled_visible" 0.0;
+               inherit: "default" 0.0;
+               color: BUTTON_NAVIFRAME_TITLE_TEXT_DISABLED_COLOR_INC;
+               visible: 1;
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
                visible: 1;
-               min: 0 0;
-               color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+               color: BUTTON_NAVIFRAME_TITLE_TEXT_FOCUSED_COLOR_INC;
             }
          }
          part { name: "over2";
@@ -8731,13 +10332,35 @@ group { name: "elm/button/base/searchbar/default";
                color: 0 0 0 0;
             }
          }
-         part { name: "disabler";
+         part { name: "clipper";
             type: RECT;
             description { state: "default" 0.0;
                color: 255 255 255 255;
             }
+         }
+         part { name: "icon_disabler";
+            type: RECT;
+            description { state: "default" 0.0;
+               visible: 0;
+               rel1.to: "icon_rect";
+               rel2.to: "icon_rect";
+               color: 0 0 0 0;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+               color: 127 127 127 127;
+            }
+         }
+         part { name: "disabler";
+            type: RECT;
+            description { state: "default" 0.0;
+               color: 0 0 0 0;
+               visible: 0;
+            }
             description { state: "disabled" 0.0;
-               color: 255 255 255 127;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
       }
@@ -8782,9 +10405,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -8800,7 +10427,10 @@ group { name: "elm/button/base/searchbar/default";
                     set_state(PART:"icon_rect", "visible", 0.0);
                     set_state(PART:"padding_after_icon", "visible", 0.0);
                  }
-               set_state(PART:"elm.text", "visible", 0.0);
+               if (get_int(button_state) != BUTTON_STATE_DISABLED)
+                 set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled_visible", 0.0);
             }
          }
          program { name: "text_hide";
@@ -8845,49 +10475,61 @@ group { name: "elm/button/base/searchbar/default";
             source: "elm";
             action: STATE_SET "default" 0.0;
             target: "elm.swallow.content";
-            target: "icon_rect";
             target: "padding_after_icon";
+            target: "icon_rect";
          }
          program { name: "disable";
             signal: "elm,state,disabled";
             source: "elm";
             action: STATE_SET "disabled" 0.0;
+            target: "button_image";
             target: "disabler";
+            target: "icon_disabler";
             after: "disable_text";
          }
          program { name: "disable_text";
             script {
                new st[31];
                new Float:vl;
-               set_int(button_state, BUTTON_STATE_DISABLED);
                get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
-                 set_state(PART:"elm.text", "visible", 0.0);
+               if (!strcmp(st, "visible"))
+                 set_state(PART:"elm.text", "disabled_visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "disabled", 0.0);
+               set_int(button_state, BUTTON_STATE_DISABLED);
             }
          }
          program { name: "enable";
             signal: "elm,state,enabled";
             source: "elm";
             action: STATE_SET "default" 0.0;
+            target: "button_image";
             target: "disabler";
+            target: "icon_disabler";
             after: "enable_text";
          }
          program { name: "enable_text";
             script {
                new st[31];
                new Float:vl;
-               set_int(button_state, BUTTON_STATE_ENABLED);
                get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
+               if (!strcmp(st, "disabled_visible"))
                  set_state(PART:"elm.text", "visible", 0.0);
+               else
+                 set_state(PART:"elm.text", "default", 0.0);
+               set_int(button_state, BUTTON_STATE_ENABLED);
             }
          }
          program { name: "focused";
+            //signal: "elm,action,focus";
+            //source: "elm";
             action: STATE_SET "focused" 0.0;
             target: "button_image";
             target: "elm.text";
          }
          program { name: "unfocused";
+            //signal: "elm,action,unfocus";
+            //source: "elm";
             action: STATE_SET "default" 0.0;
             target: "button_image";
             after: "unfocus_text";
@@ -8900,230 +10542,193 @@ group { name: "elm/button/base/searchbar/default";
    }
 
 ///////////////////////////////////////////////////////////////////////////////////////
-   group { name: "elm/button/base/controlbar/horizontal_right";
-      script {
-         public button_state = BUTTON_STATE_ENABLED;
-      }
-      parts {
-         part { name: "button_image";
-            type: RECT;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: 20 30;
-               rel1.offset: 5 5;
-               rel2.offset: -6 -6;
-               color: 0 0 0 0;
-               visible: 0;
-            }
-            description { state: "clicked" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-         }
-         part { name: "padding_left_top";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 0.0 0.0;
-               rel2.relative: 0.0 0.0;
-               min: 10 5;
-               fixed: 1 1;
-               visible: 0;
-            }
-         }
-         part { name: "padding_right_bottom";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               align: 1.0 1.0;
-               rel1.relative: 1.0 1.0;
-               min: 10 5;
-               fixed: 1 1;
-               visible: 0;
-            }
-         }
-         part { name: "icon_rect";
-            type: RECT;
-            scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0;
-               min: 0 0;
-               fixed: 1 0;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
-               align: 0.0 0.5;
-               color: 0 0 0 0;
-            }
-            description { state: "visible" 0.0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               fixed: 1 0;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
-               }
-               align: 0.0 0.5;
-               color: 0 0 0 0;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
-            }
-         }
-         part { name: "padding_after_icon";
-            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 {
-                  relative: 1.0 0.0;
-                  to: "icon_rect";
-               }
-               rel2.to: "icon_rect";
-               fixed: 1 0;
-               min: 0 0;
-               color: 0 0 0 0;
-            }
-            description { state: "visible" 0.0;
-               align: 0.0 0.0;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to: "icon_rect";
-               }
-               rel2.to: "icon_rect";
-               fixed: 1 0;
-               min: 6 0;
-               color: 0 0 0 0;
-            }
-            description { state: "icononly" 0.0;
-               inherit: "default" 0.0;
-            }
-         }
-         part { name: "padding_before_text";
-            type: RECT;
+#define BUTTON_NAVIFRAME_TITLE_ICON_STYLES(style_name, image_normal, image_press, min_width, min_height) \
+   group { name: "elm/button/base/naviframe/title/icon/"style_name; \
+      images { \
+         image: image_normal COMP; \
+         image: image_press COMP; \
+         image: "00_title_btn_bg_press.png" COMP; \
+      } \
+      parts { \
+         part { name: "button_image"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: BUTTON_NAVIFRAME_TITLE_ICON_BG_NORMAL_MIN_INC; \
+               max: BUTTON_NAVIFRAME_TITLE_ICON_BG_NORMAL_MIN_INC; \
+               color: 0 0 0 0; \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               min: BUTTON_NAVIFRAME_TITLE_ICON_BG_PRESSED_MIN_INC; \
+               max: BUTTON_NAVIFRAME_TITLE_ICON_BG_PRESSED_MIN_INC; \
+               image { \
+                  normal: "00_title_btn_bg_press.png"; \
+                  border: BUTTON_NAVIFRAME_TITLE_ICON_BG_PRESSED_BORDER_INC; \
+                  border_scale: 1; \
+               } \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+            } \
+            description { state: "focused" 0.0; \
+               inherit: "default" 0.0;\
+            } \
+         } \
+         part { name: "icon_part"; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               min: min_width min_height; \
+               max: min_width min_height; \
+               rel1.to: "button_image"; \
+               rel2.to: "button_image"; \
+               image.normal: image_normal; \
+            } \
+            description { \
+               state: "clicked" 0.0; \
+               inherit: "default" 0.0; \
+               image.normal: image_press; \
+            } \
+            description { \
+               state: "disabled" 0.0; \
+               inherit: "default" 0.0; \
+               color: 127 127 127 127; \
+            } \
+         } \
+         part { name: "over1"; \
+            type: RECT; \
+            ignore_flags: ON_HOLD; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+         } \
+         part { name: "over2"; \
+            repeat_events: 1; \
+            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: "button_click"; \
+            signal: "mouse,down,1"; \
+            source: "over1"; \
+            action: SIGNAL_EMIT "elm,action,press" ""; \
+            after: "button_click_anim"; \
+         } \
+         program { name: "button_click_anim"; \
+            action: STATE_SET "clicked" 0.0; \
+            target: "button_image"; \
+            target: "icon_part"; \
+         } \
+         program { name: "button_unclick"; \
+            signal: "mouse,up,1"; \
+            source: "over2"; \
+            action: SIGNAL_EMIT "elm,action,unpress" ""; \
+            after: "button_unclick_anim"; \
+         } \
+         program { name: "button_unclick_anim"; \
+            action: STATE_SET "default" 0.0; \
+            target: "button_image"; \
+            target: "icon_part"; \
+         } \
+         program { name: "touch_snd"; \
+            signal: "mouse,clicked,1"; \
+            source: "over1"; \
+            action: PLAY_SAMPLE "touch_sound" 1.0; \
+            after: button_unclick3; \
+         } \
+         program { name: "button_unclick3"; \
+            action: SIGNAL_EMIT "elm,action,click" ""; \
+         } \
+         program { name: "disable"; \
+            signal: "elm,state,disabled"; \
+            source: "elm"; \
+            action: STATE_SET "disabled" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "icon_part"; \
+         } \
+         program { name: "enable"; \
+            signal: "elm,state,enabled"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "disabler"; \
+            target: "button_image"; \
+            target: "icon_part"; \
+         } \
+      } \
+   }
+///////////////////////////////////////////////////////////////////////////////////////
+   BUTTON_NAVIFRAME_TITLE_ICON_STYLES("cancel", "00_button_cancel.png", "00_button_cancel_pressed.png", BUTTON_NAVIFRAME_TITLE_ICON_CANCEL_MIN_WIDTH_INC, BUTTON_NAVIFRAME_TITLE_ICON_CANCEL_MIN_HEIGHT_INC)
+
+   BUTTON_NAVIFRAME_TITLE_ICON_STYLES("plus", "00_button_plus.png", "00_button_plus_pressed.png", BUTTON_NAVIFRAME_TITLE_ICON_PLUS_MIN_WIDTH_INC, BUTTON_NAVIFRAME_TITLE_ICON_PLUS_MIN_HEIGHT_INC)
+
+   BUTTON_NAVIFRAME_TITLE_ICON_STYLES("more", "00_winset_more.png", "00_winset_more_press.png", BUTTON_NAVIFRAME_TITLE_ICON_MORE_MIN_WIDTH_INC, BUTTON_NAVIFRAME_TITLE_ICON_MORE_MIN_HEIGHT_INC)
+
+   BUTTON_NAVIFRAME_TITLE_ICON_STYLES("search", "00_title_icon_search.png", "00_title_icon_search_press.png", BUTTON_NAVIFRAME_TITLE_ICON_SEARCH_MIN_WIDTH_INC, BUTTON_NAVIFRAME_TITLE_ICON_SEARCH_MIN_HEIGHT_INC)
+
+   BUTTON_NAVIFRAME_TITLE_ICON_STYLES("previous", "00_winset_Back.png", "00_winset_Back.png", BUTTON_NAVIFRAME_TITLE_ICON_PREV_MIN_WIDTH_INC, BUTTON_NAVIFRAME_TITLE_ICON_PREV_MIN_HEIGHT_INC)
+
+/////////////////////////////////////////////////////////////////////////////////////////
+   group { name: "elm/button/base/naviframe/more/default";
+      images {
+         image: "00_winset_more.png" COMP;
+         image: "00_winset_more_press.png" COMP;
+         image: "00_title_btn_bg_press.png" COMP;
+      }
+      parts {
+         part { name: "button_image";
             scale: 1;
-            mouse_events: 0;
-            description { state: "default" 0.0; //when only icon or no icon is there
-               align: 1.0 0.5;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "elm.text";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to_x: "elm.text";
-                  to_y: "padding_right_bottom";
-               }
-               fixed: 1 0;
-               min: 6 0;
+            description { state: "default" 0.0;
+               min: BUTTON_NAVIFRAME_MORE_BG_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_MORE_BG_MIN_MAX_INC;
                color: 0 0 0 0;
             }
-         }
-         part { name: "elm.swallow.content";
-            type: SWALLOW;
-            scale: 1;
-            clip_to: "disabler";
-            description { state: "default" 0.0;
-               visible: 0;
-               align: 0.0 0.5;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "padding_left_top";
-                  to_y: "padding_right_bottom";
+            description { state: "clicked" 0.0;
+               min: BUTTON_NAVIFRAME_MORE_BG_PRESSED_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_MORE_BG_PRESSED_MIN_MAX_INC;
+               image {
+                  normal: "00_title_btn_bg_press.png";
+                  border: BUTTON_NAVIFRAME_MORE_BG_PRESSED_BORDER_INC;
+                  border_scale: 1;
                }
-               fixed: 1 0;
             }
-            description { state: "visible" 0.0;
-               fixed: 1 0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               align: 1.0 0.5;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to_x: "padding_before_text";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to_x: "padding_before_text";
-                  to_y: "padding_right_bottom";
-               }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
             }
-            description { state: "icononly" 0.0;
-               min: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               max: BUTTON_CONTROLBAR_ITEM_BUTTON_ICON_SIZE_INC;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
-               }
-               aspect: 1.0 1.0;
-               aspect_preference: VERTICAL;
+            description { state: "focused" 0.0;
+               inherit: "default" 0.0;
             }
          }
-         part { name: "elm.text";
-            type: TEXT;
-            mouse_events: 0;
+         part { name: "more_image";
             scale: 1;
-            clip_to: "disabler";
+            mouse_events: 0;
             description { state: "default" 0.0;
-               visible: 0;
-               rel1 {
-                  relative: 1.0 1.0;
-                  to_x: "padding_after_icon";
-                  to_y: "padding_left_top";
-               }
-               rel2 {
-                  relative: 0.0 0.0;
-                  to: "padding_right_bottom";
-               }
-               align: 1.0 0.5;
-               color: BUTTON_NAVIFRAME_DEFAULT_TEXT_COLOR_INC;
-               text {
-                  font: "SLP:style=Medium";
-                  size: 20;
-                  min: 0 0;
-                  max: 1 0;
-                  align: 1.0 0.5;
-               }
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
+               min: BUTTON_NAVIFRAME_MORE_DEFAULT_IMAGE_MIN_MAX_INC;
+               max: BUTTON_NAVIFRAME_MORE_DEFAULT_IMAGE_MIN_MAX_INC;
+               rel1.to: "button_image";
+               rel2.to: "button_image";
+               image.normal: "00_winset_more.png";
             }
             description { state: "clicked" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               min: 0 0;
+               image.normal: "00_winset_more_press.png";
             }
-            description { state: "focused" 0.0;
+            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
-               min: 0 0;
-               color: BUTTON_NAVIFRAME_FOCUSED_TEXT_COLOR_INC;
+               color: 255 255 255 127;
             }
          }
          part { name: "over2";
@@ -9144,10 +10749,12 @@ group { name: "elm/button/base/searchbar/default";
          part { name: "disabler";
             type: RECT;
             description { state: "default" 0.0;
-               color: 255 255 255 255;
+               color: 0 0 0 0;
+               visible: 0;
             }
             description { state: "disabled" 0.0;
-               color: 255 255 255 127;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
       }
@@ -9161,150 +10768,43 @@ group { name: "elm/button/base/searchbar/default";
          program { name: "button_click_anim";
             action: STATE_SET "clicked" 0.0;
             target: "button_image";
-            after: "text_clicked";
-         }
-         program { name: "text_clicked";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 set_state(PART:"elm.text", "clicked", 0.0);
-            }
+            target: "more_image";
          }
-         program { name: "button_unpress";
-            action: SIGNAL_EMIT "elm,action,unpress" "";
-         }
-         program { name: "button_mouseout_clicked";
+         program { name: "button_unclick";
             signal: "mouse,up,1";
             source: "over3";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (strcmp(st, "icononly"))
-                 {
-                    emit("elm,action,default,text,set", "");
-                    set_state(PART:"elm.text", "visible", 0.0);
-                 }
-               if (get_int(button_state) != BUTTON_STATE_DISABLED)
-                 set_state(PART:"button_image", "default", 0.0);
-            }
-            after: button_unpress;
+            action: SIGNAL_EMIT "elm,action,unpress" "";
+            after: "button_unclick_anim";
          }
-         program { name: "button_unclick3";
+         program { name: "button_unclick_anim";
+            action: STATE_SET "default" 0.0;
+            target: "button_image";
+            target: "more_image";
+         }
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
-            action: SIGNAL_EMIT "elm,action,click" "";
-         }
-         program { name: "text_show";
-            signal: "elm,state,text,visible";
-            source: "elm";
-            script {
-               new st[31];
-               new Float:vl;
-               get_state(PART:"elm.swallow.content", st, 30, vl);
-               if (!strcmp(st, "icononly"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"icon_rect", "visible", 0.0);
-                    set_state(PART:"padding_after_icon", "visible", 0.0);
-                 }
-               set_state(PART:"elm.text", "visible", 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.content", st, 30, vl);
-               if (!strcmp(st, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"icon_rect", "icononly", 0.0);
-                    set_state(PART:"padding_after_icon", "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, "visible"))
-                 {
-                    set_state(PART:"elm.swallow.content", "visible", 0.0);
-                    set_state(PART:"icon_rect", "visible", 0.0);
-                    set_state(PART:"padding_after_icon", "visible", 0.0);
-                 }
-               else
-                 {
-                    set_state(PART:"elm.swallow.content", "icononly", 0.0);
-                    set_state(PART:"icon_rect", "icononly", 0.0);
-                    set_state(PART:"padding_after_icon", "icononly", 0.0);
-                 }
-            }
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
          }
-         program { name: "icon_hide";
-            signal: "elm,state,icon,hidden";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "elm.swallow.content";
-            target: "icon_rect";
-            target: "padding_after_icon";
+         program { name: "button_unclick3";
+            action: SIGNAL_EMIT "elm,action,click" "";
          }
          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;
-               set_int(button_state, BUTTON_STATE_DISABLED);
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
-                 set_state(PART:"elm.text", "visible", 0.0);
-            }
+            target: "button_image";
+            target: "more_image";
          }
          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;
-               set_int(button_state, BUTTON_STATE_ENABLED);
-               get_state(PART:"elm.text", st, 30, vl);
-               if (!strcmp(st, "clicked") || !strcmp(st, "focused"))
-                 set_state(PART:"elm.text", "visible", 0.0);
-            }
-         }
-         program { name: "focused";
-            action: STATE_SET "focused" 0.0;
-            target: "button_image";
-            target: "elm.text";
-         }
-         program { name: "unfocused";
-            action: STATE_SET "default" 0.0;
             target: "button_image";
-            after: "unfocus_text";
-         }
-         program { name: "unfocus_text";
-            action: STATE_SET "visible" 0.0;
-            target: "elm.text";
+            target: "more_image";
          }
       }
    }
@@ -9315,6 +10815,7 @@ group { name: "elm/button/base/searchbar/default";
          image: "00_button_06_normal.png" COMP;
          image: "00_button_06_press.png" COMP;
          image: "00_button_06_dim.png" COMP;
+         image: "00_button_06_normal_focus.png" COMP;
       }
       script {
          public button_state = BUTTON_STATE_ENABLED;
@@ -9339,7 +10840,7 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_06_press.png";
+               image.normal: "00_button_06_normal_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -9534,6 +11035,7 @@ group { name: "elm/button/base/searchbar/default";
                   size: BUTTON_TICKERNOTI_FONT_SIZE_INC;
                   min: 1 0;
                   max: 1 0;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
@@ -9634,9 +11136,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";
@@ -9776,6 +11282,7 @@ group { name: "elm/button/base/searchbar/default";
          image: "00_button_05_normal.png" COMP;
          image: "00_button_05_press.png" COMP;
          image: "00_button_05_dim.png" COMP;
+         image: "00_button_05_normal_focus.png" COMP;
          image: "00_arrow_expand.png" COMP;
          image: "00_arrow_expand_press.png" COMP;
          image: "00_arrow_expand_dim.png" COMP;
@@ -9805,7 +11312,7 @@ group { name: "elm/button/base/searchbar/default";
             }
             description { state: "focused" 0.0;
                inherit: "default" 0.0;
-               image.normal: "00_button_05_press.png";
+               image.normal: "00_button_05_normal_focus.png";
             }
          }
          part { name: "padding_left_top";
@@ -9900,6 +11407,7 @@ group { name: "elm/button/base/searchbar/default";
                   min: 0 0;
                   fit: 1 1;
                   size_range: 14 20;
+                  text_class: "slp_medium";
                }
             }
             description { state: "visible" 0.0;
@@ -9987,9 +11495,13 @@ group { name: "elm/button/base/searchbar/default";
             }
             after: button_unpress;
          }
-         program { name: "button_unclick3";
+         program { name: "touch_snd";
             signal: "mouse,clicked,1";
             source: "over2";
+            action: PLAY_SAMPLE "touch_sound" 1.0;
+            after: button_unclick3;
+         }
+         program { name: "button_unclick3";
             action: SIGNAL_EMIT "elm,action,click" "";
          }
          program { name: "text_show";