[Merge conflict resolved]
authorshilpa singh <shilpa.singh@samsung.com>
Mon, 23 Apr 2012 11:48:17 +0000 (17:18 +0530)
committershilpa singh <shilpa.singh@samsung.com>
Wed, 25 Apr 2012 05:38:40 +0000 (11:08 +0530)
[Naviframe, Search, Progressbar]: GUIv1.5 changes.
Change-Id: I69b3d57d7514798f31f85edfa67d65baea943c9a

themes/images/tizen-black-hd/00_winset_title_line.png [new file with mode: 0644]
themes/images/tizen-hd/00_winset_title_line.png [new file with mode: 0644]
themes/inc/tizen-black-hd-inc.edc
themes/inc/tizen-hd-inc.edc
themes/widgets/layout.edc
themes/widgets/naviframe.edc

diff --git a/themes/images/tizen-black-hd/00_winset_title_line.png b/themes/images/tizen-black-hd/00_winset_title_line.png
new file mode 100644 (file)
index 0000000..2be73aa
Binary files /dev/null and b/themes/images/tizen-black-hd/00_winset_title_line.png differ
diff --git a/themes/images/tizen-hd/00_winset_title_line.png b/themes/images/tizen-hd/00_winset_title_line.png
new file mode 100644 (file)
index 0000000..2be73aa
Binary files /dev/null and b/themes/images/tizen-hd/00_winset_title_line.png differ
index dea27ac..337cdc8 100644 (file)
 #define LAYOUT_INDICATOR_HEIGHT_INC 50
 #define LAYOUT_INDICATOR_COLOR_INC 0 0 0 255
 
-#define NAVIFRAME_TITLE_H_INC 100
-#define NAVIFRAME_SEGMENT_TITLE_H_INC 136
+#define NAVIFRAME_TITLE_H_INC 108
+#define NAVIFRAME_SEGMENT_TITLE_H_INC 124
 #define NAVIFRAME_OH_OPENED_H_INC 106
 #define NAVIFRAME_OH_CONTENT_H_INC 74
 #define NAVIFRAME_OH_PADDING_INC 16
 #define NAVIFRAME_OH_ARROW_SIZE_INC 19 12
 #define NAVIFRAME_OH_OPENED_DOUBLE_H_INC 196
 #define NAVIFRAME_PREV_BTN_W_INC 124
-#define NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 10
 #define NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 124 80
 #define NAVIFRAME_TITLE_PREV_BTN_BG_SIZE_INC 144
 #define NAVIFRAME_TEXT_PADDING_INC 144
 #define NAVIFRAME_NO_BUTTON_ICON_PADDING_INC 52
 #define NAVIFRAME_TEXT_PADDING_ICON_VISIBLE_INC 186
-#define NAVIFRAME_TITLE_SEGMENT_H_INC 74
-#define NAVIFRAME_TITLE_SEGMENT_FONT_SIZE_INC 28
+#define NAVIFRAME_TITLE_SEGMENT_H_INC 64
+#define NAVIFRAME_TITLE_SEGMENT_FONT_SIZE_INC 32
 #define NAVIFRAME_TITLE_SEGMENT_TEXT_H_INC 50
-#define NAVIFRAME_TITLE_FONT_SIZE_INC 36
+#define NAVIFRAME_TITLE_FONT_SIZE_INC 40
+#define NAVIFRAME_SUBTITLE_FONT_SIZE_INC 32
 #define NAVIFRAME_ICON_SIZE_INC 32 32
 #define NAVIFRAME_ICON_PADDING_INC 16 0
 #define NAVIFRAME_CONTROLBAR_BG_COLOR_INC 37 48 54 255
 #define NAVIFRAME_TITLE_TEXT_COLOR_INC 235 236 237 255
+#define NAVIFRAME_SUBTITLE_TEXT_COLOR_INC 235 236 237 255
 #define NAVIFRAME_TITLE_BG_COLOR_INC 50 65 74 255
 #define NAVIFRAME_OH_BORDER_INC 0 0 4 0
 
index 61f4065..9d6ae4a 100644 (file)
 #define LAYOUT_INDICATOR_HEIGHT_INC 50
 #define LAYOUT_INDICATOR_COLOR_INC 0 0 0 255
 
-#define NAVIFRAME_TITLE_H_INC 100
-#define NAVIFRAME_SEGMENT_TITLE_H_INC 136
+#define NAVIFRAME_TITLE_H_INC 108
+#define NAVIFRAME_SEGMENT_TITLE_H_INC 124
 #define NAVIFRAME_OH_OPENED_H_INC 106
 #define NAVIFRAME_OH_CONTENT_H_INC 74
 #define NAVIFRAME_OH_PADDING_INC 16
-#define NAVIFRAME_OH_ARROW_SIZE_INC 19 14
+#define NAVIFRAME_OH_ARROW_SIZE_INC 19 12
 #define NAVIFRAME_OH_OPENED_DOUBLE_H_INC 196
 #define NAVIFRAME_PREV_BTN_W_INC 124
-#define NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 10
 #define NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC 124 80
 #define NAVIFRAME_TITLE_PREV_BTN_BG_SIZE_INC 144
 #define NAVIFRAME_TEXT_PADDING_INC 144
 #define NAVIFRAME_NO_BUTTON_ICON_PADDING_INC 52
 #define NAVIFRAME_TEXT_PADDING_ICON_VISIBLE_INC 186
-#define NAVIFRAME_TITLE_SEGMENT_H_INC 74
-#define NAVIFRAME_TITLE_SEGMENT_FONT_SIZE_INC 28
+#define NAVIFRAME_TITLE_SEGMENT_H_INC 64
+#define NAVIFRAME_TITLE_SEGMENT_FONT_SIZE_INC 32
 #define NAVIFRAME_TITLE_SEGMENT_TEXT_H_INC 50
-#define NAVIFRAME_TITLE_FONT_SIZE_INC 36
+#define NAVIFRAME_TITLE_FONT_SIZE_INC 40
+#define NAVIFRAME_SUBTITLE_FONT_SIZE_INC 32
 #define NAVIFRAME_ICON_SIZE_INC 32 32
 #define NAVIFRAME_ICON_PADDING_INC 16 0
 #define NAVIFRAME_CONTROLBAR_BG_COLOR_INC 100 85 66 255
 #define NAVIFRAME_TITLE_TEXT_COLOR_INC 73 44 7 255
+#define NAVIFRAME_SUBTITLE_TEXT_COLOR_INC 73 44 7 255
 #define NAVIFRAME_TITLE_BG_COLOR_INC 219 201 174 255
 #define NAVIFRAME_OH_BORDER_INC 0 0 4 0
 
index 02da240..52010dd 100644 (file)
          }
       }
    }
-   /*************************************************/
-   /* elm_layout -> searchbar style                 */
-   /* Below style will be deprecated soon           */
-   /*************************************************/
-   group { name: "elm/layout/application/searchbar";
-      parts {
-         part { name: "elm.swallow.bg";
-            type: SWALLOW;
-            scale: 1;
-            description { state: "default" 0.0;
-            }
-         }
-         part { name: "searchbar";
-            type: EXTERNAL;
-            source: "elm/searchbar";
-            mouse_events: 1;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: 0 SEARCHBAR_H_INC;
-               fixed: 0 1;
-               align: 0.0 1.0;
-               rel2 {
-                  relative: 1.0 0.0;
-               }
-               params {
-                  //string: "label" "my test";
-                  bool: "cancel_button_animation" "1";
-               }
-            }
-            description { state: "visible" 0.0;
-               inherit: "default" 0.0;
-               align: 0.0 0.0;
-            }
-         }
-         part { name: "elm.swallow.content";
-            type: SWALLOW;
-            mouse_events: 1;
-            scale: 1;
-            description { state: "default" 0.0;
-               align: 0.0 0.0;
-               rel1 {
-                  relative: 0.0 1.0;
-                  to: "searchbar";
-               }
-            }
-         }
-      }
-      programs {
-         program { name: "show_searchbar";
-            signal: "elm,state,show,searchbar";
-            source: "elm";
-            action: STATE_SET "visible" 0.0;
-            target: "searchbar";
-         }
-         program { name: "show_searchbar_with_animation";
-            signal: "elm,state,show,searchbar,animation";
-            source: "elm";
-            action: STATE_SET "visible" 0.0;
-            transition: DECELERATE 0.3;
-            target: "searchbar";
-         }
-         program { name: "hide_searchbar";
-            signal: "elm,state,hide,searchbar";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "searchbar";
-         }
-         program { name: "hide_searchbar_with_animation";
-            signal: "elm,state,hide,searchbar,animation";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            transition: ACCELERATE 0.3;
-            target: "searchbar";
-         }
-      }
-   }
 
    /*************************************************/
    /* elm_layout -> searchbar style                 */
index 018ede4..f9ddc52 100644 (file)
@@ -31,6 +31,7 @@
       images {
           image: "00_winset_control_top_bg.png" COMP;
           image: "00_winset_control_top_arrow.png" COMP;
+          image: "00_winset_title_line.png" COMP;
       }
       script {
          public oh_show = 0;     //optionheader show/hide
@@ -41,6 +42,7 @@
          public right_btn_visible = 0; //whether right btn is shown
          public more_btn_visible = 0; //whether more btn is shown
          public large_padded_center_align = 0; //large padding based on button size for center align for 1/2 buttons.
+         public subtitle_visible = 0; //whether subtitle is shown
       }
       parts {
          part { name: "base";
                rel2.to: "elm.swallow.content";
             }
          }
-         part { name: "padding_before_left_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "left_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 0.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to: "title_bg"; }
-               visible: 0;
-            }
-         }
-         part { name: "padding_after_left_btn";
-            type: RECT;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_left_btn"; }
                rel2 { relative: 1.0 1.0; to: "title_left_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-         }
-         part { name: "padding_before_more_btn";
-            type: RECT;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_more_btn"; }
-               rel2 { relative: 0.0 1.0; to: "title_more_btn"; }
-               visible: 0;
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
-         part { name: "padding_after_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "right_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
-               rel1 { relative: 1.0 0.0; to: "title_bg"; }
-               rel2 { relative: 1.0 1.0; to: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
          }
-         part { name: "padding_before_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "more_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: 0 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_more_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_more_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-            description { state: "right_and_more_button" 0.0;
+            description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               visible: 1;
             }
          }
          part { name: "padding_before_text";
             clip_to: "title_clip";
             description { state: "default" 0.0;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to_x: "elm.text.title"; to_y: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+               rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
                fixed: 1 0;
                min: NAVIFRAME_ICON_PADDING_INC;
                visible: 0;
             mouse_events: 0;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               min: 0 0;
                fixed: 1 0;
                align: 0.0 0.0;
                rel1 { relative: 0.0 0.0; to: "title_bg"; }
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               min: 0 0;
                fixed: 1 0;
                align: 1.0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_bg"; }
                color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
                align: 0.5 0.5;
                fixed: 1 0;
-               rel1 { relative: 1.0 0.0; to: "padding_center_text1"; }
-               rel2 { relative: 0.0 1.0; to: "padding_center_text2"; }
+               rel1 { relative: 1.0 0.0; to_x: "padding_center_text1"; to_y: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to_x: "padding_center_text2"; to_y: "title_bg"; }
+            }
+            description { state: "right_and_more_button" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 1.0; to_x: "title_more_btn"; to_y: "title_bg"; }
+            }
+            description { state: "subtitle_is_set" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 0.7; to_x: "padding_center_text2"; to_y: "title_bg"; }
+            }
+            description { state: "subtitle_right_more_button_is_set" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 0.7; to_x: "title_more_btn"; to_y: "title_bg"; }
+            }
+         }
+         part { name: "elm.text.subtitle";
+            type: TEXT;
+            scale: 1;
+            clip_to: "title_clip";
+            description { state: "default" 0.0;
+               text { font: "SLP:style=Medium";
+                  size: NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+                  min: 0 0;
+                  max: 1 0;
+                  align: 0.5 0.5;
+               }
+               color: NAVIFRAME_SUBTITLE_TEXT_COLOR_INC;
+               align: 0.5 0.5;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "padding_center_text1";
+                  to_y: "elm.text.title";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "padding_center_text2";
+                  to_y: "elm.text.title";
+               }
             }
             description { state: "right_and_more_button" 0.0;
                inherit: "default" 0.0;
-               rel1 { relative: 1.0 0.0; to: "padding_after_left_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_before_more_btn"; }
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "title_more_btn";
+                  to_y: "elm.text.title";
+               }
             }
          }
          part { name: "elm.swallow.icon";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                fixed: 1 1;
                align: 0 0.5;
-               rel1 { relative: 1.0 0.0; to: "padding_before_left_btn"; }
-               rel2 { relative: 1.0 1.0; to: "padding_before_left_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to: "title_bg"; }
             }
          }
          part { name: "title_right_btn";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                align: 1 0.5;
                fixed: 1 1;
-               rel1 { relative: 0.0 0.0; to: "padding_after_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_after_right_btn"; }
+               rel1 { relative: 1.0 0.0; to: "title_bg"; }
+               rel2 { relative: 1.0 1.0; to: "title_bg"; }
             }
          }
          part { name: "title_more_btn";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                fixed: 1 1;
                align: 1 0.5;
-               rel1 { relative: 0.0 0.0; to: "padding_before_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_before_right_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
             }
          }
          part { name: "optionheader_arrow";
                set_state(PART:"elm.prev_btn_bg", "default", 0.0);
             }
          }
+         program { name: "subtitle_show";
+            signal: "elm,state,subtitle,show";
+            source: "elm";
+            script {
+               set_int(subtitle_visible, 1);
+               if (get_int(large_padded_center_align) == 0)
+                 set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+               else
+                 set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+            }
+         }
+         program { name: "subtitle_hide";
+            signal: "elm,state,subtitle,hide";
+            source: "elm";
+            script {
+               set_int(subtitle_visible, 0);
+               if (get_int(large_padded_center_align) == 0)
+                 set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+               else
+                 set_state(PART:"elm.text.title", "default", 0.0);
+            }
+         }
          program { name: "left_btn_show";
             signal: "elm,state,title_left_btn,show";
             source: "elm";
             script {
                set_int(left_btn_visible, 1);
+               set_state(PART:"left_btn_separator", "visible", 0.0);
                if (get_int(icon_visible) == 1)
                  set_state(PART:"padding_center_text1", "icon_left_button", 0.0);
                else
                  set_state(PART:"padding_center_text1", "visible", 0.0);
                if ((get_int(more_btn_visible) == 1) && (get_int(right_btn_visible) == 1)) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(left_btn_visible, 0);
+               set_state(PART:"left_btn_separator", "default", 0.0);
                if ((get_int(more_btn_visible) == 0) && (get_int(right_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             source: "elm";
             script {
                set_int(right_btn_visible, 1);
+               set_state(PART:"right_btn_separator", "visible", 0.0);
                if (get_int(more_btn_visible) == 1) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
-                  set_state(PART:"padding_before_right_btn", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(right_btn_visible, 0);
-               set_state(PART:"padding_before_right_btn", "default", 0.0);
+               set_state(PART:"right_btn_separator", "default", 0.0);
                if ((get_int(more_btn_visible) == 0) && (get_int(left_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             source: "elm";
             script {
                set_int(more_btn_visible, 1);
+               set_state(PART:"more_btn_separator", "visible", 0.0);
                if (get_int(right_btn_visible) == 1) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
-                  set_state(PART:"padding_before_right_btn", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(more_btn_visible, 0);
-               set_state(PART:"padding_before_right_btn", "default", 0.0);
+               set_state(PART:"more_btn_separator", "default", 0.0);
                if ((get_int(right_btn_visible) == 0) && (get_int(left_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             }
          }
          program { name: "icon_show";
-            signal: "elm,state,elm.swallow.icon,show";
+            signal: "elm,state,icon,show";
             source: "elm";
             script {
                set_int(icon_visible, 1);
             }
          }
          program { name: "icon_hide";
-            signal: "elm,state,elm.swallow.icon,hide";
+            signal: "elm,state,icon,hide";
             source: "elm";
             script {
                set_int(icon_visible, 0);
       images {
          image: "00_winset_control_top_bg.png" COMP;
          image: "00_winset_control_top_arrow.png" COMP;
+         image: "00_winset_title_line.png" COMP;
       }
       script {
          public oh_show = 0;     //optionheader show/hide
          public right_btn_visible = 0; //whether right btn is shown
          public more_btn_visible = 0; //whether more btn is shown
          public large_padded_center_align = 0; //large padding based on button size for center align for 1/2 buttons.
+         public subtitle_visible = 0; //whether subtitle is shown
       }
       parts {
          part { name: "base";
                rel2.to: "elm.swallow.content";
             }
          }
-         part { name: "padding_before_left_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "left_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 0.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to: "title_bg"; }
-               visible: 0;
-            }
-         }
-         part { name: "padding_after_left_btn";
-            type: RECT;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_left_btn"; }
                rel2 { relative: 1.0 1.0; to: "title_left_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-         }
-         part { name: "padding_before_more_btn";
-            type: RECT;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_more_btn"; }
-               rel2 { relative: 0.0 1.0; to: "title_more_btn"; }
-               visible: 0;
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
-         part { name: "padding_after_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "right_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
-               rel1 { relative: 1.0 0.0; to: "title_bg"; }
-               rel2 { relative: 1.0 1.0; to: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
          }
-         part { name: "padding_before_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "more_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: 0 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_more_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_more_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-            description { state: "right_and_more_button" 0.0;
+            description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               visible: 1;
             }
          }
          part { name: "padding_before_text";
             clip_to: "title_clip";
             description { state: "default" 0.0;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to_x: "elm.text.title"; to_y: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+               rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
                fixed: 1 0;
                min: NAVIFRAME_ICON_PADDING_INC;
                visible: 0;
             mouse_events: 0;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               min: 0 0;
                fixed: 1 0;
                align: 0.0 0.0;
                rel1 { relative: 0.0 0.0; to: "title_bg"; }
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               min: 0 0;
                fixed: 1 0;
                align: 1.0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_bg"; }
                color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
                align: 0.5 0.5;
                fixed: 1 0;
-               rel1 { relative: 1.0 0.0; to: "padding_center_text1"; }
-               rel2 { relative: 0.0 1.0; to: "padding_center_text2"; }
+               rel1 { relative: 1.0 0.0; to_x: "padding_center_text1"; to_y: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to_x: "padding_center_text2"; to_y: "title_bg"; }
+            }
+            description { state: "right_and_more_button" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 1.0; to_x: "title_more_btn"; to_y: "title_bg"; }
+            }
+            description { state: "subtitle_is_set" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 0.7; to_x: "padding_center_text2"; to_y: "title_bg"; }
+            }
+            description { state: "subtitle_right_more_button_is_set" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 0.7; to_x: "title_more_btn"; to_y: "title_bg"; }
+            }
+         }
+         part { name: "elm.text.subtitle";
+            type: TEXT;
+            scale: 1;
+            clip_to: "title_clip";
+            description { state: "default" 0.0;
+               text { font: "SLP:style=Medium";
+                  size: NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+                  min: 0 0;
+                  max: 1 0;
+                  align: 0.5 0.5;
+               }
+               color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
+               align: 0.5 0.5;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "padding_center_text1";
+                  to_y: "elm.text.title";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "padding_center_text2";
+                  to_y: "elm.text.title";
+               }
             }
             description { state: "right_and_more_button" 0.0;
                inherit: "default" 0.0;
-               rel1 { relative: 1.0 0.0; to: "padding_after_left_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_before_more_btn"; }
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "title_more_btn";
+                  to_y: "elm.text.title";
+               }
             }
          }
          part { name: "elm.swallow.icon";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                fixed: 1 1;
                align: 0 0.5;
-               rel1 { relative: 1.0 0.0; to: "padding_before_left_btn"; }
-               rel2 { relative: 1.0 1.0; to: "padding_before_left_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to: "title_bg"; }
             }
          }
          part { name: "title_right_btn";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                align: 1 0.5;
                fixed: 1 1;
-               rel1 { relative: 0.0 0.0; to: "padding_after_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_after_right_btn"; }
+               rel1 { relative: 1.0 0.0; to: "title_bg"; }
+               rel2 { relative: 1.0 1.0; to: "title_bg"; }
             }
          }
          part { name: "title_more_btn";
             clip_to: "title_clip";
             description { state: "default" 0.0;
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
-               fixed: 1 0;
+               fixed: 1 1;
                align: 1 0.5;
-               rel1 { relative: 0.0 0.0; to: "padding_before_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_before_right_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
             }
          }
          part { name: "optionheader_arrow";
             type: RECT;
             mouse_events: 0;
             description { state: "default" 0.0;
-               rel1 { to: "controlbar_bg"; }
-               rel2 { to: "controlbar_bg"; }
+               rel1.to: "controlbar_bg";
+               rel2.to: "controlbar_bg";
             }
          }
          part { name: "elm.prev_btn_bg";
             scale: 1;
             clip_to: "controlbar_clip";
             description { state: "default" 0.0;
+               fixed: 1 1;
                rel1.to: "controlbar_bg";
                rel2 { relative: 0.0 1.0; to: "elm.prev_btn_bg"; }
             }
                set_state(PART:"elm.prev_btn_bg", "default", 0.0);
             }
          }
+         program { name: "subtitle_show";
+            signal: "elm,state,subtitle,show";
+            source: "elm";
+            script {
+               set_int(subtitle_visible, 1);
+               if (get_int(large_padded_center_align) == 0)
+                 set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+               else
+                 set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+            }
+         }
+         program { name: "subtitle_hide";
+            signal: "elm,state,subtitle,hide";
+            source: "elm";
+            script {
+               set_int(subtitle_visible, 0);
+               if (get_int(large_padded_center_align) == 0)
+                 set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+               else
+                 set_state(PART:"elm.text.title", "default", 0.0);
+            }
+         }
          program { name: "left_btn_show";
             signal: "elm,state,title_left_btn,show";
             source: "elm";
             script {
                set_int(left_btn_visible, 1);
+               set_state(PART:"left_btn_separator", "visible", 0.0);
                if (get_int(icon_visible) == 1)
                  set_state(PART:"padding_center_text1", "icon_left_button", 0.0);
                else
                  set_state(PART:"padding_center_text1", "visible", 0.0);
                if ((get_int(more_btn_visible) == 1) && (get_int(right_btn_visible) == 1)) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(left_btn_visible, 0);
+               set_state(PART:"left_btn_separator", "default", 0.0);
                if ((get_int(more_btn_visible) == 0) && (get_int(right_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             source: "elm";
             script {
                set_int(right_btn_visible, 1);
+               set_state(PART:"right_btn_separator", "visible", 0.0);
                if (get_int(more_btn_visible) == 1) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
-                  set_state(PART:"padding_before_right_btn", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(right_btn_visible, 0);
-               set_state(PART:"padding_before_right_btn", "default", 0.0);
+               set_state(PART:"right_btn_separator", "default", 0.0);
                if ((get_int(more_btn_visible) == 0) && (get_int(left_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             source: "elm";
             script {
                set_int(more_btn_visible, 1);
+               set_state(PART:"more_btn_separator", "visible", 0.0);
                if (get_int(right_btn_visible) == 1) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
-                  set_state(PART:"padding_before_right_btn", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(more_btn_visible, 0);
-               set_state(PART:"padding_before_right_btn", "default", 0.0);
+               set_state(PART:"more_btn_separator", "default", 0.0);
                if ((get_int(right_btn_visible) == 0) && (get_int(left_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             }
          }
          program { name: "icon_show";
-            signal: "elm,state,elm.swallow.icon,show";
+            signal: "elm,state,icon,show";
             source: "elm";
             script {
                set_int(icon_visible, 1);
             }
          }
          program { name: "icon_hide";
-            signal: "elm,state,elm.swallow.icon,hide";
+            signal: "elm,state,icon,hide";
             source: "elm";
             script {
                set_int(icon_visible, 0);
       script {
          public cbar_bg = 0;     //Controlbar BG Show call count
       }
+      images {
+         image: "00_winset_title_line.png" COMP;
+      }
       parts {
          part { name: "base";
             type: RECT;
                rel2.to: "elm.swallow.content";
             }
          }
-         part { name: "padding_before_left_btn";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to: "title_bg"; }
-               visible: 0;
-            }
-         }
-         part { name: "padding_after_left_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "left_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 0.0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_left_btn"; }
                rel2 { relative: 1.0 1.0; to: "title_left_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-         }
-         part { name: "padding_after_right_btn";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               rel1 { relative: 1.0 0.0; to: "title_bg"; }
-               rel2 { relative: 1.0 1.0; to: "title_bg"; }
-               visible: 0;
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
-         part { name: "padding_before_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "right_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: 0 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
                rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
                rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-            description { state: "show" 0.0;
+            description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               visible: 1;
             }
          }
          part { name: "padding_before_text";
             clip_to: "title_clip";
             description { state: "default" 0.0;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to_x: "elm.text.title"; to_y: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+               rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
                fixed: 1 0;
                min: NAVIFRAME_ICON_PADDING_INC;
                visible: 0;
                fixed: 1 1;
                color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
                align: 0.5 0;
-               rel1.to: "padding_before_left_btn";
-               rel1.relative: 1 0;
-               rel2.to: "padding_after_right_btn";
-               rel2.relative: 0 1;
+               rel1.to: "title_bg";
+               rel2.to: "title_bg";
             }
          }
          part { name: "click_event_area";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                fixed: 1 1;
                align: 0 0;
-               rel1.relative: 1.0 1.0;
-               rel1.to_x: "padding_before_left_btn";
+               rel1.relative: 0.0 1.0;
+               rel1.to_x: "title_bg";
                rel1.to_y: "elm.text.title";
                rel2.relative: 1.0 1.0;
-               rel2.to_x: "padding_before_left_btn";
+               rel2.to_x: "title_bg";
                rel2.to_y: "elm.text.title";
             }
          }
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                align: 1 0.0;
                fixed: 1 1;
-               rel1.relative: 0.0 1.0;
-               rel1.to_x: "padding_after_right_btn";
+               rel1.relative: 1.0 1.0;
+               rel1.to_x: "title_bg";
                rel1.to_y: "elm.text.title";
-               rel2.relative: 0.0 1.0;
-               rel2.to_x: "padding_after_right_btn";
+               rel2.to_x: "title_bg";
                rel2.to_y: "elm.text.title";
             }
          }
            scale: 1;
            clip_to: "controlbar_clip";
            description { state: "default" 0.0;
+              fixed: 1 1;
               rel1.to: "controlbar_bg";
               rel2 { relative: 0.0 1.0; to: "elm.prev_btn_bg"; }
            }
             action: STATE_SET "hide" 0.0;
             target: "title_bg";
          }
-         program { name: "prev_btn_show";
-            signal: "elm,state,prev_btn,show";
+         program { name: "left_btn_show";
+            signal: "elm,state,title_left_btn,show";
+            source: "elm";
+            action: STATE_SET "visible" 0.0;
+            target: "left_btn_separator";
+         }
+         program { name: "left_btn_hide";
+            signal: "elm,state,title_left_btn,hide";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "left_btn_separator";
+         }
+         program { name: "right_btn_show";
+            signal: "elm,state,title_right_btn,show";
+            source: "elm";
+            action: STATE_SET "visible" 0.0;
+            target: "right_btn_separator";
+         }
+         program { name: "right_btn_hide";
+            signal: "elm,state,title_right_btn,hide";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "right_btn_separator";
+         }
+         program { name: "prev_btn_show";
+            signal: "elm,state,prev_btn,show";
             source: "elm";
             script {
                emit("elm,state,controlbar_bg,show", "elm");
             scale: 1;
             clip_to: "controlbar_clip";
             description { state: "default" 0.0;
+               fixed: 1 1;
                rel1.to: "controlbar_bg";
                rel2 { relative: 0.0 1.0; to: "elm.prev_btn_bg"; }
             }
       images {
          image: "00_winset_control_top_bg.png" COMP;
          image: "00_winset_control_top_arrow.png" COMP;
+         image: "00_winset_title_line.png" COMP;
       }
       script {
          public oh_show = 0;     //optionheader show/hide
          public right_btn_visible = 0; //whether right btn is shown
          public more_btn_visible = 0; //whether more btn is shown
          public large_padded_center_align = 0; //large padding based on button size for center align for 1/2 buttons.
+         public subtitle_visible = 0; //whether subtitle is shown
       }
       parts {
          part { name: "title_bg";
                rel2.to: "elm.swallow.content";
             }
          }
-         part { name: "padding_before_left_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "left_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 0.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to: "title_bg"; }
-               visible: 0;
-            }
-         }
-         part { name: "padding_after_left_btn";
-            type: RECT;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_left_btn"; }
                rel2 { relative: 1.0 1.0; to: "title_left_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-         }
-         part { name: "padding_before_more_btn";
-            type: RECT;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_more_btn"; }
-               rel2 { relative: 0.0 1.0; to: "title_more_btn"; }
-               visible: 0;
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
-         part { name: "padding_after_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "right_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
-               rel1 { relative: 1.0 0.0; to: "title_bg"; }
-               rel2 { relative: 1.0 1.0; to: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
          }
-         part { name: "padding_before_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "more_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: 0 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_more_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_more_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-            description { state: "right_and_more_button" 0.0;
+            description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               visible: 1;
             }
          }
          part { name: "padding_before_text";
             clip_to: "title_clip";
             description { state: "default" 0.0;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to_x: "elm.text.title"; to_y: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+               rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
                fixed: 1 0;
                min: NAVIFRAME_ICON_PADDING_INC;
                visible: 0;
             mouse_events: 0;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               min: 0 0;
                fixed: 1 0;
                align: 0.0 0.0;
                rel1 { relative: 0.0 0.0; to: "title_bg"; }
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               min: 0 0;
                fixed: 1 0;
                align: 1.0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_bg"; }
                color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
                align: 0.5 0.5;
                fixed: 1 0;
-               rel1 { relative: 1.0 0.0; to: "padding_center_text1"; }
-               rel2 { relative: 0.0 1.0; to: "padding_center_text2"; }
+               rel1 { relative: 1.0 0.0; to_x: "padding_center_text1"; to_y: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to_x: "padding_center_text2"; to_y: "title_bg"; }
             }
             description { state: "right_and_more_button" 0.0;
                inherit: "default" 0.0;
-               rel1 { relative: 1.0 0.0; to: "padding_after_left_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_before_more_btn"; }
+               rel2 { relative: 0.0 1.0; to_x: "title_more_btn"; to_y: "title_bg"; }
+            }
+            description { state: "subtitle_is_set" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 0.7; to_x: "padding_center_text2"; to_y: "title_bg"; }
+            }
+            description { state: "subtitle_right_more_button_is_set" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 0.7; to_x: "title_more_btn"; to_y: "title_bg"; }
+            }
+         }
+         part { name: "elm.text.subtitle";
+            type: TEXT;
+            scale: 1;
+            clip_to: "title_clip";
+            description { state: "default" 0.0;
+               text { font: "SLP:style=Medium";
+                  size: NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+                  min: 0 0;
+                  max: 1 0;
+                  align: 0.5 0.5;
+               }
+               color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
+               align: 0.5 0.5;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "padding_center_text1";
+                  to_y: "elm.text.title";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "padding_center_text2";
+                  to_y: "elm.text.title";
+               }
+            }
+            description { state: "right_and_more_button" 0.0;
+               inherit: "default" 0.0;
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "title_more_btn";
+                  to_y: "elm.text.title";
+               }
             }
          }
          part { name: "elm.swallow.icon";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                fixed: 1 1;
                align: 0 0.5;
-               rel1 { relative: 1.0 0.0; to: "padding_before_left_btn"; }
-               rel2 { relative: 1.0 1.0; to: "padding_before_left_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to: "title_bg"; }
             }
          }
          part { name: "title_right_btn";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                align: 1 0.5;
                fixed: 1 1;
-               rel1 { relative: 0.0 0.0; to: "padding_after_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_after_right_btn"; }
+               rel1 { relative: 1.0 0.0; to: "title_bg"; }
+               rel2 { relative: 1.0 1.0; to: "title_bg"; }
             }
          }
          part { name: "title_more_btn";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                fixed: 1 1;
                align: 1 0.5;
-               rel1 { relative: 0.0 0.0; to: "padding_before_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_before_right_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
             }
          }
          part { name: "optionheader_arrow";
             type: RECT;
             mouse_events: 0;
             description { state: "default" 0.0;
-               rel1 { to: "controlbar_bg"; }
-               rel2 { to: "controlbar_bg"; }
+               rel1.to: "controlbar_bg";
+               rel2.to: "controlbar_bg";
             }
          }
          part { name: "elm.prev_btn_bg";
                set_state(PART:"elm.prev_btn_bg", "default", 0.0);
             }
          }
+         program { name: "subtitle_show";
+            signal: "elm,state,subtitle,show";
+            source: "elm";
+            script {
+               set_int(subtitle_visible, 1);
+               if (get_int(large_padded_center_align) == 0)
+                 set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+               else
+                 set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+            }
+         }
+         program { name: "subtitle_hide";
+            signal: "elm,state,subtitle,hide";
+            source: "elm";
+            script {
+               set_int(subtitle_visible, 0);
+               if (get_int(large_padded_center_align) == 0)
+                 set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+               else
+                 set_state(PART:"elm.text.title", "default", 0.0);
+            }
+         }
          program { name: "left_btn_show";
             signal: "elm,state,title_left_btn,show";
             source: "elm";
             script {
                set_int(left_btn_visible, 1);
+               set_state(PART:"left_btn_separator", "visible", 0.0);
                if (get_int(icon_visible) == 1)
                  set_state(PART:"padding_center_text1", "icon_left_button", 0.0);
                else
                  set_state(PART:"padding_center_text1", "visible", 0.0);
                if ((get_int(more_btn_visible) == 1) && (get_int(right_btn_visible) == 1)) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(left_btn_visible, 0);
+               set_state(PART:"left_btn_separator", "default", 0.0);
                if ((get_int(more_btn_visible) == 0) && (get_int(right_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             }
          }
          program { name: "right_btn_show";
-            signal: "elm,state,tltle_right_btn,show";
+            signal: "elm,state,title_right_btn,show";
             source: "elm";
             script {
                set_int(right_btn_visible, 1);
+               set_state(PART:"right_btn_separator", "visible", 0.0);
                if (get_int(more_btn_visible) == 1) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
-                  set_state(PART:"padding_before_right_btn", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(right_btn_visible, 0);
-               set_state(PART:"padding_before_right_btn", "default", 0.0);
+               set_state(PART:"right_btn_separator", "default", 0.0);
                if ((get_int(more_btn_visible) == 0) && (get_int(left_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             source: "elm";
             script {
                set_int(more_btn_visible, 1);
+               set_state(PART:"more_btn_separator", "visible", 0.0);
                if (get_int(right_btn_visible) == 1) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
-                  set_state(PART:"padding_before_right_btn", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(more_btn_visible, 0);
-               set_state(PART:"padding_before_right_btn", "default", 0.0);
+               set_state(PART:"more_btn_separator", "default", 0.0);
                if ((get_int(right_btn_visible) == 0) && (get_int(left_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             }
          }
          program { name: "icon_show";
-            signal: "elm,state,elm.swallow.icon,show";
+            signal: "elm,state,icon,show";
             source: "elm";
             script {
                set_int(icon_visible, 1);
             }
          }
          program { name: "icon_hide";
-            signal: "elm,state,elm.swallow.icon,hide";
+            signal: "elm,state,icon,hide";
             source: "elm";
             script {
                set_int(icon_visible, 0);
       images {
          image: "00_winset_control_top_bg.png" COMP;
          image: "00_winset_control_top_arrow.png" COMP;
+         image: "00_winset_title_line.png" COMP;
       }
       script {
          public oh_show = 0;     //optionheader show/hide
          public right_btn_visible = 0; //whether right btn is shown
          public more_btn_visible = 0; //whether more btn is shown
          public large_padded_center_align = 0; //large padding based on button size for center align for 1/2 buttons.
+         public subtitle_visible = 0; //whether subtitle is shown
       }
       parts {
          part { name: "title_bg";
                rel2.to: "elm.swallow.content";
             }
          }
-         part { name: "padding_before_left_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "left_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 0.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to: "title_bg"; }
-               visible: 0;
-            }
-         }
-         part { name: "padding_after_left_btn";
-            type: RECT;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_left_btn"; }
                rel2 { relative: 1.0 1.0; to: "title_left_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-         }
-         part { name: "padding_before_more_btn";
-            type: RECT;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_more_btn"; }
-               rel2 { relative: 0.0 1.0; to: "title_more_btn"; }
-               visible: 0;
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
-         part { name: "padding_after_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "right_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
-               rel1 { relative: 1.0 0.0; to: "title_bg"; }
-               rel2 { relative: 1.0 1.0; to: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
          }
-         part { name: "padding_before_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "more_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: 0 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_more_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_more_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-            description { state: "right_and_more_button" 0.0;
+            description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               visible: 1;
             }
          }
          part { name: "padding_before_text";
             clip_to: "title_clip";
             description { state: "default" 0.0;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to_x: "elm.text.title"; to_y: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+               rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
                fixed: 1 0;
                min: NAVIFRAME_ICON_PADDING_INC;
                visible: 0;
             mouse_events: 0;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               min: 0 0;
                fixed: 1 0;
                align: 0.0 0.0;
                rel1 { relative: 0.0 0.0; to: "title_bg"; }
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               min: 0 0;
                fixed: 1 0;
                align: 1.0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_bg"; }
                color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
                align: 0.5 0.5;
                fixed: 1 0;
-               rel1 { relative: 1.0 0.0; to: "padding_center_text1"; }
-               rel2 { relative: 0.0 1.0; to: "padding_center_text2"; }
+               rel1 { relative: 1.0 0.0; to_x: "padding_center_text1"; to_y: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to_x: "padding_center_text2"; to_y: "title_bg"; }
             }
             description { state: "right_and_more_button" 0.0;
                inherit: "default" 0.0;
-               rel1 { relative: 1.0 0.0; to: "padding_after_left_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_before_more_btn"; }
+               rel2 { relative: 0.0 1.0; to_x: "title_more_btn"; to_y: "title_bg"; }
+            }
+            description { state: "subtitle_is_set" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 0.7; to_x: "padding_center_text2"; to_y: "title_bg"; }
+            }
+            description { state: "subtitle_right_more_button_is_set" 0.0;
+               inherit: "default" 0.0;
+               rel2 { relative: 0.0 0.7; to_x: "title_more_btn"; to_y: "title_bg"; }
+            }
+         }
+         part { name: "elm.text.subtitle";
+            type: TEXT;
+            scale: 1;
+            clip_to: "title_clip";
+            description { state: "default" 0.0;
+               text { font: "SLP:style=Medium";
+                  size: NAVIFRAME_SUBTITLE_FONT_SIZE_INC;
+                  min: 0 0;
+                  max: 1 0;
+                  align: 0.5 0.5;
+               }
+               color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
+               align: 0.5 0.5;
+               fixed: 1 0;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "padding_center_text1";
+                  to_y: "elm.text.title";
+               }
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "padding_center_text2";
+                  to_y: "elm.text.title";
+               }
+            }
+            description { state: "right_and_more_button" 0.0;
+               inherit: "default" 0.0;
+               rel2 {
+                  relative: 0.0 1.0;
+                  to_x: "title_more_btn";
+                  to_y: "elm.text.title";
+               }
             }
          }
          part { name: "elm.swallow.icon";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                fixed: 1 1;
                align: 0 0.5;
-               rel1 { relative: 1.0 0.0; to: "padding_before_left_btn"; }
-               rel2 { relative: 1.0 1.0; to: "padding_before_left_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_bg"; }
+               rel2 { relative: 0.0 1.0; to: "title_bg"; }
             }
          }
          part { name: "title_right_btn";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                align: 1 0.5;
                fixed: 1 1;
-               rel1 { relative: 0.0 0.0; to: "padding_after_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_after_right_btn"; }
+               rel1 { relative: 1.0 0.0; to: "title_bg"; }
+               rel2 { relative: 1.0 1.0; to: "title_bg"; }
             }
          }
          part { name: "title_more_btn";
             clip_to: "title_clip";
             description { state: "default" 0.0;
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
-               fixed: 1 0;
+               fixed: 1 1;
                align: 1 0.5;
-               rel1 { relative: 0.0 0.0; to: "padding_before_right_btn"; }
-               rel2 { relative: 0.0 1.0; to: "padding_before_right_btn"; }
+               rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
+               rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
             }
          }
          part { name: "optionheader_arrow";
             type: RECT;
             mouse_events: 0;
             description { state: "default" 0.0;
-               rel1 { to: "controlbar_bg"; }
-               rel2 { to: "controlbar_bg"; }
+               rel1.to: "controlbar_bg";
+               rel2.to: "controlbar_bg";
             }
          }
          part { name: "elm.prev_btn_bg";
                set_state(PART:"elm.prev_btn_bg", "default", 0.0);
             }
          }
+         program { name: "subtitle_show";
+            signal: "elm,state,subtitle,show";
+            source: "elm";
+            script {
+               set_int(subtitle_visible, 1);
+               if (get_int(large_padded_center_align) == 0)
+                 set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+               else
+                 set_state(PART:"elm.text.title", "subtitle_is_set", 0.0);
+            }
+         }
+         program { name: "subtitle_hide";
+            signal: "elm,state,subtitle,hide";
+            source: "elm";
+            script {
+               set_int(subtitle_visible, 0);
+               if (get_int(large_padded_center_align) == 0)
+                 set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+               else
+                 set_state(PART:"elm.text.title", "default", 0.0);
+            }
+         }
          program { name: "left_btn_show";
             signal: "elm,state,title_left_btn,show";
             source: "elm";
             script {
                set_int(left_btn_visible, 1);
+               set_state(PART:"left_btn_separator", "visible", 0.0);
                if (get_int(icon_visible) == 1)
                  set_state(PART:"padding_center_text1", "icon_left_button", 0.0);
                else
                  set_state(PART:"padding_center_text1", "visible", 0.0);
                if ((get_int(more_btn_visible) == 1) && (get_int(right_btn_visible) == 1)) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(left_btn_visible, 0);
+               set_state(PART:"left_btn_separator", "default", 0.0);
                if ((get_int(more_btn_visible) == 0) && (get_int(right_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             source: "elm";
             script {
                set_int(right_btn_visible, 1);
+               set_state(PART:"right_btn_separator", "visible", 0.0);
                if (get_int(more_btn_visible) == 1) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
-                  set_state(PART:"padding_before_right_btn", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(right_btn_visible, 0);
-               set_state(PART:"padding_before_right_btn", "default", 0.0);
+               set_state(PART:"right_btn_separator", "default", 0.0);
                if ((get_int(more_btn_visible) == 0) && (get_int(left_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             source: "elm";
             script {
                set_int(more_btn_visible, 1);
+               set_state(PART:"more_btn_separator", "visible", 0.0);
                if (get_int(right_btn_visible) == 1) {
-                  set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
-                  set_state(PART:"padding_before_right_btn", "right_and_more_button", 0.0);
+                  if (get_int(subtitle_visible) == 1)
+                    set_state(PART:"elm.text.title", "subtitle_right_more_button_is_set", 0.0);
+                  else
+                    set_state(PART:"elm.text.title", "right_and_more_button", 0.0);
+                  set_state(PART:"elm.text.subtitle", "right_and_more_button", 0.0);
                   set_int(large_padded_center_align, 0);
                }
                else {
             source: "elm";
             script {
                set_int(more_btn_visible, 0);
-               set_state(PART:"padding_before_right_btn", "default", 0.0);
+               set_state(PART:"more_btn_separator", "default", 0.0);
                if ((get_int(right_btn_visible) == 0) && (get_int(left_btn_visible) == 0)) {
                   set_state(PART:"padding_center_text2", "default", 0.0);
                   set_int(large_padded_center_align, 0);
             }
          }
          program { name: "icon_show";
-            signal: "elm,state,elm.swallow.icon,show";
+            signal: "elm,state,icon,show";
             source: "elm";
             script {
                set_int(icon_visible, 1);
             }
          }
          program { name: "icon_hide";
-            signal: "elm,state,elm.swallow.icon,hide";
+            signal: "elm,state,icon,hide";
             source: "elm";
             script {
                set_int(icon_visible, 0);
       script {
          public cbar_bg = 0;     //Controlbar BG Show call count
       }
+      images {
+         image: "00_winset_title_line.png" COMP;
+      }
       parts {
          part { name: "title_bg";
             type: RECT;
                rel2.to: "elm.swallow.content";
             }
          }
-         part { name: "padding_before_left_btn";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 0.0 0.5;
-               rel1 { relative: 0.0 0.0; to: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to: "title_bg"; }
-               visible: 0;
-            }
-         }
-         part { name: "padding_after_left_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "left_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 0.0 0.5;
                rel1 { relative: 1.0 0.0; to: "title_left_btn"; }
                rel2 { relative: 1.0 1.0; to: "title_left_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-         }
-         part { name: "padding_after_right_btn";
-            type: RECT;
-            mouse_events: 0;
-            scale: 1;
-            clip_to: "title_clip";
-            description { state: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
-               fixed: 1 0;
-               align: 1.0 0.5;
-               rel1 { relative: 1.0 0.0; to: "title_bg"; }
-               rel2 { relative: 1.0 1.0; to: "title_bg"; }
-               visible: 0;
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
-         part { name: "padding_before_right_btn";
-            type: RECT;
-            mouse_events: 0;
+         part { name: "right_btn_separator";
+            type: IMAGE;
             scale: 1;
             clip_to: "title_clip";
             description { state: "default" 0.0;
-               min: 0 0;
-               fixed: 1 0;
+               min: 4 68;
+               fixed: 1 1;
                align: 1.0 0.5;
                rel1 { relative: 0.0 0.0; to: "title_right_btn"; }
                rel2 { relative: 0.0 1.0; to: "title_right_btn"; }
+               image.normal: "00_winset_title_line.png";
                visible: 0;
             }
-            description { state: "show" 0.0;
+            description { state: "visible" 0.0;
                inherit: "default" 0.0;
-               min: NAVIFRAME_TITLE_FUNC_BTN_PADDING_W_INC 0;
+               visible: 1;
             }
          }
          part { name: "padding_before_text";
             clip_to: "title_clip";
             description { state: "default" 0.0;
                align: 1.0 0.5;
-               rel1 { relative: 0.0 0.0; to_x: "elm.text.title"; to_y: "title_bg"; }
-               rel2 { relative: 0.0 1.0; to_x: "elm.text.title"; to_y: "title_bg"; }
+               rel1 { relative: 0.0 0.0; to: "elm.text.title"; }
+               rel2 { relative: 0.0 1.0; to: "elm.text.title"; }
                fixed: 1 0;
                min: NAVIFRAME_ICON_PADDING_INC;
                visible: 0;
                fixed: 1 1;
                color: NAVIFRAME_TITLE_TEXT_COLOR_INC;
                align: 0.5 0;
-               rel1.to: "padding_before_left_btn";
-               rel1.relative: 1 0;
-               rel2.to: "padding_after_right_btn";
-               rel2.relative: 0 1;
+               rel1.to: "title_bg";
+               rel2.to: "title_bg";
             }
          }
          part { name: "click_event_area";
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                fixed: 1 1;
                align: 0 0;
-               rel1.relative: 1.0 1.0;
-               rel1.to_x: "padding_before_left_btn";
+               rel1.relative: 0.0 1.0;
+               rel1.to_x: "title_bg";
                rel1.to_y: "elm.text.title";
-               rel2.relative: 1.0 1.0;
-               rel2.to_x: "padding_before_left_btn";
+               rel2.to_x: "title_bg";
                rel2.to_y: "elm.text.title";
             }
          }
                max: NAVIFRAME_TITLE_FUNC_BTN_SIZE_INC;
                align: 1 0.0;
                fixed: 1 1;
-               rel1.relative: 0.0 1.0;
-               rel1.to_x: "padding_after_right_btn";
+               rel1.relative: 1.0 1.0;
+               rel1.to_x: "title_bg";
                rel1.to_y: "elm.text.title";
-               rel2.relative: 0.0 1.0;
-               rel2.to_x: "padding_after_right_btn";
+               rel2.relative: 1.0 1.0;
+               rel2.to_x: "title_bg";
                rel2.to_y: "elm.text.title";
             }
          }
                fixed: 0 1;
                align: 0.5 0;
                rel1.to_y: "elm.text.title";
+               rel1.to_x: "title_bg";
                rel1.relative: 0.28 1;
                rel2.to_y: "elm.text.title";
+               rel2.to_x: "title_bg";
                rel2.relative: 0.72 1;
             }
          }
                align: 0.5 0;
                rel1.to_y: "elm.text.title";
                rel1.relative: 0.2 1;
+               rel1.to_x: "title_bg";
                rel2.to_y: "elm.text.title";
+               rel2.to_x: "title_bg";
                rel2.relative: 0.8 1;
             }
          }
            scale: 1;
            clip_to: "controlbar_clip";
            description { state: "default" 0.0;
+              fixed: 1 1;
               rel1.to: "controlbar_bg";
               rel2 { relative: 0.0 1.0; to: "elm.prev_btn_bg"; }
            }
             action: STATE_SET "hide" 0.0;
             target: "title_clip";
          }
+         program { name: "left_btn_show";
+            signal: "elm,state,title_left_btn,show";
+            source: "elm";
+            action: STATE_SET "visible" 0.0;
+            target: "left_btn_separator";
+         }
+         program { name: "left_btn_hide";
+            signal: "elm,state,title_left_btn,hide";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "left_btn_separator";
+         }
+         program { name: "right_btn_show";
+            signal: "elm,state,title_right_btn,show";
+            source: "elm";
+            action: STATE_SET "visible" 0.0;
+            target: "right_btn_separator";
+         }
+         program { name: "right_btn_hide";
+            signal: "elm,state,title_right_btn,hide";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "right_btn_separator";
+         }
          program { name: "prev_btn_show";
             signal: "elm,state,prev_btn,show";
             source: "elm";
          program { name: "controlbar_show";
             signal: "elm,state,controlbar,show";
             source: "elm";
-            action: STATE_SET "show" 0.0;
             script {
                emit("elm,state,controlbar_bg,show", "elm");
             }
          }
       }
    }
+
    group { name: "elm/naviframe/item/tabbar/instant/default";
       script {
          public cbar_bg = 0;     //Controlbar BG Show call count
            scale: 1;
            clip_to: "controlbar_clip";
            description { state: "default" 0.0;
+              fixed: 1 1;
               rel1.to: "controlbar_bg";
               rel2 { relative: 0.0 1.0; to: "elm.prev_btn_bg"; }
            }