[bubble] bubble theme refactoring
authorJaeun Choi <jaeun12.choi@samsung.com>
Thu, 4 Jul 2013 06:46:12 +0000 (15:46 +0900)
committerSungho Kwak <sungho1.kwak@samsung.com>
Mon, 8 Jul 2013 06:52:43 +0000 (15:52 +0900)
- elm/layout/bubble/{read,sent}message/default
- elm/entry/base-noedit/{read,sent}message

Change-Id: Iff086ea91fb7228ed7a1ee585b1c830bff30a0a1

themes/inc/tizen-dark-inc.edc
themes/inc/tizen-light-inc.edc
themes/widgets/bubble.edc
themes/widgets/entry.edc

index c3cbdb4..9d61ce2 100755 (executable)
 #define ENTRY_FONT_COLOR_BLACK_DISABLED_TEXT_COLOR_INC "#00000080"
 #define ENTRY_FONT_COLOR_BLACK_GUIDE_TEXT_COLOR_INC "#90A9C7"
 
-#define ENTRY_BUBBLE_EX_PAD 58
-#define ENTRY_BUBBLE_EX_CALLERID_PAD 178
-#define ENTRY_BUBBLE_IX_PAD 20
-#define ENTRY_BUBBLE_Y_PAD 15
-#define ENTRY_BUBBLE_BOTTOM_PAD 24
+#define BUBBLE_LAYOUT_SELECT_PAD 10
+#define BUBBLE_LAYOUT_BOTTOM_PAD 20
+
+#define ENTRY_BUBBLE_CALLERID_PAD 115
+#define ENTRY_BUBBLE_CALLERID_ICON_PAD 16
+#define ENTRY_BUBBLE_CALLERID_WIDTH 99
+#define ENTRY_BUBBLE_CALLERID_HEIGHT 99
+#define ENTRY_BUBBLE_GROUPCHAT_PAD 42
+#define ENTRY_BUBBLE_GROUPCHAT_TEXT_PAD 38
+#define ENTRY_BUBBLE_STATUS_PAD 140
+#define ENTRY_BUBBLE_READ_LEFTTOP_PAD 58 14
+#define ENTRY_BUBBLE_READ_RIGHTTOP_PAD 20 14
+#define ENTRY_BUBBLE_READ_RIGHTBOTTOM_PAD 20 14
+#define ENTRY_BUBBLE_SENT_LEFTTOP_PAD 20 14
+#define ENTRY_BUBBLE_SENT_RIGHTTOP_PAD 58 14
+#define ENTRY_BUBBLE_SENT_LEFTBOTTOM_PAD 20 14
 #define ENTRY_BUBBLE_MIDDLE_PAD 14
-#define ENTRY_BUBBLE_CALLERID_PAD 16
-#define ENTRY_BUBBLE_CALLERID_WIDTH 108
-#define ENTRY_BUBBLE_CALLERID_HEIGHT 108
-#define ENTRY_BUBBLE_DATE_AREA_TEXT_SIZE_INC 26
+#define ENTRY_BUBBLE_STATUS_TEXT_ICON_PAD 10 14
+#define ENTRY_BUBBLE_STATUS_TIME_SIZE 100 30
+#define ENTRY_BUBBLE_ICON_TOP_PAD 12
+#define ENTRY_BUBBLE_ICON_PAD 10
+#define ENTRY_BUBBLE_TEXT_MIN 82 53
 #define ENTRY_BUBBLE_TEXT_SIZE 38
-
 #define ENTRY_BUBBLE_SENT_TEXT_COLOR "#000000"
 #define ENTRY_BUBBLE_SENT_TEXT_SHADOW_STYLE "shadow,bottom"
 #define ENTRY_BUBBLE_SENT_TEXT_SHADOW_COLOR "#ffffff7f"
 #define ENTRY_BUBBLE_RECEV_TEXT_SHADOW_COLOR "#ffffff7f"
 #define ENTRY_BUBBLE_RECEV_BG_BORDER_INC 55 24 59 20
 #define ENTRY_BUBBLE_SENT_BG_BORDER_INC 24 55 59 20
+#define ENTRY_BUBBLE_STATUS_TIME_TEXT_SIZE_INC 22
+#define ENTRY_BUBBLE_SENT_STATUS_TIME_COLOR_INC 110 111 118 255
+#define ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC 110 111 118 255
+#define ENTRY_BUBBLE_GROUPCHAT_SIZE_INC 30
+#define ENTRY_BUBBLE_GROUPCHAT_COLOR_INC 110 111 118 255
+
+/* not used in elm/entry/base-noedit/{read,sent}message */
+#define ENTRY_BUBBLE_EX_PAD 58
+#define ENTRY_BUBBLE_EX_CALLERID_PAD 178
+#define ENTRY_BUBBLE_IX_PAD 20
+#define ENTRY_BUBBLE_Y_PAD 15
+#define ENTRY_BUBBLE_DATE_AREA_TEXT_SIZE_INC 26
 #define ENTRY_BUBBLE_CALLERID_RELATIVE_INC 0.0 0.0
 #define ENTRY_BUBBLE_RECEV_CALLERID_REL_INC 1.0 0.0
-#define ENTRY_BUBBLE_BOTTOMRIGHT_PAD 120
 #define ENTRY_BUBBLE_TEXT_CALLID_REL2_X_INC "elm.rect.right.pad"
 #define ENTRY_BUBBLE_READ_TEXT_CALLID_REL1_X_INC "elm.rect.left.pad"
 #define ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC "elm.rect.groupchat.text.pad"
 #define ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC 14
 #define ENTRY_BUBBLE_STATUS_TIME_PAD_REL_INC 0.0 1.0
 #define ENTRY_BUBBLE_READ_STATUS_TIME_PAD_REL_INC 1.0 1.0
-#define ENTRY_BUBBLE_STATUS_TIME_SIZE_INC 22
-#define ENTRY_BUBBLE_SENT_STATUS_TIME_COLOR_INC 110 111 118 255
-#define ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC 110 111 118 255
-#define ENTRY_BUBBLE_GROUPCHAT_SIZE_INC 24
-#define ENTRY_BUBBLE_GROUPCHAT_COLOR_INC 110 111 118 255
 #define ENTRY_BUBBLE_GROUPCHART_ENABLE_INC 1
 #define ENTRY_BUBBLE_GROUPCHART_PAD 36 30
 #define ENTRY_BUBBLE_GROUPCHART_WITH_CALLERID_PAD 158 30
index 0f6ec93..a18f9ff 100755 (executable)
 #define ENTRY_FONT_COLOR_BLACK_DISABLED_TEXT_COLOR_INC "#00000080"
 #define ENTRY_FONT_COLOR_BLACK_GUIDE_TEXT_COLOR_INC "#90A9C7"
 
-#define ENTRY_BUBBLE_EX_PAD 58
-#define ENTRY_BUBBLE_EX_CALLERID_PAD 178
-#define ENTRY_BUBBLE_IX_PAD 20
-#define ENTRY_BUBBLE_Y_PAD 15
-#define ENTRY_BUBBLE_BOTTOM_PAD 24
+#define BUBBLE_LAYOUT_SELECT_PAD 10
+#define BUBBLE_LAYOUT_BOTTOM_PAD 20
+
+#define ENTRY_BUBBLE_CALLERID_PAD 115
+#define ENTRY_BUBBLE_CALLERID_ICON_PAD 16
+#define ENTRY_BUBBLE_CALLERID_WIDTH 99
+#define ENTRY_BUBBLE_CALLERID_HEIGHT 99
+#define ENTRY_BUBBLE_GROUPCHAT_PAD 42
+#define ENTRY_BUBBLE_GROUPCHAT_TEXT_PAD 38
+#define ENTRY_BUBBLE_STATUS_PAD 140
+#define ENTRY_BUBBLE_READ_LEFTTOP_PAD 58 14
+#define ENTRY_BUBBLE_READ_RIGHTTOP_PAD 20 14
+#define ENTRY_BUBBLE_READ_RIGHTBOTTOM_PAD 20 14
+#define ENTRY_BUBBLE_SENT_LEFTTOP_PAD 20 14
+#define ENTRY_BUBBLE_SENT_RIGHTTOP_PAD 58 14
+#define ENTRY_BUBBLE_SENT_LEFTBOTTOM_PAD 20 14
 #define ENTRY_BUBBLE_MIDDLE_PAD 14
-#define ENTRY_BUBBLE_CALLERID_PAD 16
-#define ENTRY_BUBBLE_CALLERID_WIDTH 108
-#define ENTRY_BUBBLE_CALLERID_HEIGHT 108
-#define ENTRY_BUBBLE_DATE_AREA_TEXT_SIZE_INC 26
+#define ENTRY_BUBBLE_STATUS_TEXT_ICON_PAD 10 14
+#define ENTRY_BUBBLE_STATUS_TIME_SIZE 100 30
+#define ENTRY_BUBBLE_ICON_TOP_PAD 12
+#define ENTRY_BUBBLE_ICON_PAD 10
+#define ENTRY_BUBBLE_TEXT_MIN 82 53
 #define ENTRY_BUBBLE_TEXT_SIZE 38
-
 #define ENTRY_BUBBLE_SENT_TEXT_COLOR "#000000"
 #define ENTRY_BUBBLE_SENT_TEXT_SHADOW_STYLE "shadow,bottom"
 #define ENTRY_BUBBLE_SENT_TEXT_SHADOW_COLOR "#ffffff7f"
 #define ENTRY_BUBBLE_RECEV_TEXT_SHADOW_COLOR "#ffffff7f"
 #define ENTRY_BUBBLE_RECEV_BG_BORDER_INC 55 24 59 20
 #define ENTRY_BUBBLE_SENT_BG_BORDER_INC 24 55 59 20
+#define ENTRY_BUBBLE_STATUS_TIME_TEXT_SIZE_INC 22
+#define ENTRY_BUBBLE_SENT_STATUS_TIME_COLOR_INC 139 139 139 255
+#define ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC 139 139 139 255
+#define ENTRY_BUBBLE_GROUPCHAT_SIZE_INC 30
+#define ENTRY_BUBBLE_GROUPCHAT_COLOR_INC 139 139 139 255
+
+/* not used in elm/entry/base-noedit/{read,sent}message */
+#define ENTRY_BUBBLE_EX_PAD 58
+#define ENTRY_BUBBLE_EX_CALLERID_PAD 178
+#define ENTRY_BUBBLE_IX_PAD 20
+#define ENTRY_BUBBLE_Y_PAD 15
+#define ENTRY_BUBBLE_DATE_AREA_TEXT_SIZE_INC 26
 #define ENTRY_BUBBLE_CALLERID_RELATIVE_INC 0.0 0.0
 #define ENTRY_BUBBLE_RECEV_CALLERID_REL_INC 1.0 0.0
-#define ENTRY_BUBBLE_BOTTOMRIGHT_PAD 120
 #define ENTRY_BUBBLE_TEXT_CALLID_REL2_X_INC "elm.rect.right.pad"
 #define ENTRY_BUBBLE_READ_TEXT_CALLID_REL1_X_INC "elm.rect.left.pad"
 #define ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC "elm.rect.groupchat.text.pad"
 #define ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC 14
 #define ENTRY_BUBBLE_STATUS_TIME_PAD_REL_INC 0.0 1.0
 #define ENTRY_BUBBLE_READ_STATUS_TIME_PAD_REL_INC 1.0 1.0
-#define ENTRY_BUBBLE_STATUS_TIME_SIZE_INC 22
-#define ENTRY_BUBBLE_SENT_STATUS_TIME_COLOR_INC 139 139 139 255
-#define ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC 139 139 139 255
-#define ENTRY_BUBBLE_GROUPCHAT_SIZE_INC 24
-#define ENTRY_BUBBLE_GROUPCHAT_COLOR_INC 139 139 139 255
 #define ENTRY_BUBBLE_GROUPCHART_ENABLE_INC 1
 #define ENTRY_BUBBLE_GROUPCHART_PAD 36 30
 #define ENTRY_BUBBLE_GROUPCHART_WITH_CALLERID_PAD 158 30
index 5b28ee1..b19f0e0 100644 (file)
@@ -577,19 +577,15 @@ group {
                color: 0 0 0 0;
             }
          }
-         part { name: "elm.padding.left";
+         part { name: "elm.select_icon.pad";
             type: RECT;
             scale: 1;
             description { state: "default" 0.0;
-               min: GENLIST_PADDING_5_INC 0;
-               fixed: 1 0;
-               visible: 0;
-               rel1.relative: 0.0 0.0;
-               rel2 {
-                  relative: 0.0 1.0;
-                  to_y: "elm.padding.bottom";
-               }
+               rel2.relative: 0.0 0.0;
                align: 0.0 0.0;
+               min: BUBBLE_LAYOUT_SELECT_PAD 0;
+               fixed: 1 1;
+               visible: 0;
             }
          }
          part { name: "elm.swallow.select_icon";
@@ -597,127 +593,54 @@ group {
             type: SWALLOW;
             scale: 1;
             description { state: "default" 0.0;
-               fixed: 1 1;
-               align: 0.0 0.5;
-               visible: 0;
                rel1 {
+                  to_x: "elm.select_icon.pad";
+                  to_y: "elm.icon";
                   relative: 1.0 0.0;
-                  to_x: "elm.padding.left";
                }
                rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "elm.padding.left";
-                  to_y: "elm.padding.bottom";
+                  to_x: "elm.select_icon.pad";
+                  to_y: "elm.icon";
+                  relative: 1.0 1.0;
                }
+               align: 0.0 0.5;
+               fixed: 1 1;
+               visible: 0;
             }
             description { state: "selectview" 0.0;
                inherit: "default" 0.0;
                visible: 1;
             }
          }
-         part { name: "elm.padding.icon1.right";
-            type: RECT;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: GENLIST_PADDING_5_INC 0;
-               fixed: 1 0;
-               visible: 0;
-               color: 0 255 255 255;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to_x: "elm.swallow.select_icon";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "elm.swallow.select_icon";
-                  to_y: "elm.padding.bottom";
-               }
-               align: 0.0 0.0;
-            }
-         }
          part { name: "elm.icon";
             clip_to: "disclip";
             type: SWALLOW;
             scale: 1;
             description { state: "default" 0.0;
                rel2 {
-                  relative: 0.76 0.0;
-                  to_y: "elm.padding.bottom";
+                  to: "elm.bottom.pad";
+                  relative: 1.0 0.0;
                }
+               align: 0.0 0.0;
+               fixed: 1 0;
             }
             description { state: "selectview" 0.0;
                inherit: "default" 0.0;
-               align: 1.0 0.0;
                rel1 {
+                  to_x: "elm.swallow.select_icon";
                   relative: 1.0 0.0;
-                  to_x: "elm.padding.icon1.right";
                }
-               rel2 {
-                  relative: 0.86 0.0;
-                  to_y: "elm.padding.bottom";
-               }
-            }
-         }
-         part { name: "elm.padding.contents";
-            type: RECT;
-            scale: 1;
-            description { state: "default" 0.0;
-               align: 0.0 0.0;
-               fixed: 1 1;
-               visible: 0;
-               rel1 { relative: 0.0 1.0; to_y: "elm.icon"; }
-               rel2 { relative: 1.0 1.0; to_y: "elm.icon"; }
-            }
-         }
-         part { name: "elm.swallow.icon1";
-            clip_to: "disclip";
-            type: SWALLOW;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               max: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               align: 0.0 0.0;
-               fixed: 1 1;
-               visible: 0;
-               rel1 { relative: 0.0223 1.00; to_y: "elm.padding.contents"; }
-               rel2 { relative: 0.0223 1.00; }
-            }
-            description { state: "contents_on" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-         }
-         part { name: "elm.swallow.icon2";
-            clip_to: "disclip";
-            type: SWALLOW;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               max: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               align: 0.0 0.0;
-               fixed: 1 1;
-               visible: 0;
-               rel1 { relative: 1.0 1.00; to_x: "elm.swallow.icon1"; to_y: "elm.padding.contents"; }
-               rel2 { relative: 1.0 1.00; }
-            }
-            description { state: "contents_on" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
             }
          }
-         part { name: "elm.padding.bottom";
+         part { name: "elm.bottom.pad";
             type: RECT;
             scale: 1;
             description { state: "default" 0.0;
-               min: 0 GENLIST_PADDING_24_INC;
+               rel1.relative: 0.0 1.0;
+               align: 0.5 1.0;
+               min: 0 BUBBLE_LAYOUT_BOTTOM_PAD;
                fixed: 0 1;
                visible: 0;
-               rel1.relative: 0.0 1.0;
-               align: 0.0 1.0;
-            }
-            description { state: "contents_on" 0.0;
-               inherit: "default" 0.0;
-               min: 0 GENLIST_PADDING_88_INC;
             }
          }
          part { name: "disclip";
@@ -759,22 +682,6 @@ group {
             target: "elm.swallow.select_icon";
             target: "elm.icon";
          }
-         program { name: "go_contents_on";
-            signal: "elm,state,contents,enabled";
-            source: "elm";
-            action: STATE_SET "contents_on" 0.0;
-            target: "elm.swallow.icon1";
-            target: "elm.swallow.icon2";
-            target: "elm.padding.bottom";
-         }
-         program { name: "go_contents_off";
-            signal: "elm,state,contents,disabled";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "elm.swallow.icon1";
-            target: "elm.swallow.icon2";
-            target: "elm.padding.bottom";
-         }
       }
    }
 
@@ -787,19 +694,15 @@ group {
                color: 0 0 0 0;
             }
          }
-         part { name: "elm.padding.left";
+         part { name: "elm.select_icon.pad";
             type: RECT;
             scale: 1;
             description { state: "default" 0.0;
-               min: GENLIST_PADDING_5_INC 0;
-               fixed: 1 0;
-               visible: 0;
-               rel1.relative: 0.0 0.0;
-               rel2 {
-                  relative: 0.0 1.0;
-                  to_y: "elm.padding.bottom";
-               }
+               rel2.relative: 0.0 0.0;
                align: 0.0 0.0;
+               min: BUBBLE_LAYOUT_SELECT_PAD 0;
+               fixed: 1 1;
+               visible: 0;
             }
          }
          part { name: "elm.swallow.select_icon";
@@ -807,123 +710,54 @@ group {
             type: SWALLOW;
             scale: 1;
             description { state: "default" 0.0;
-               fixed: 1 1;
-               align: 0.0 0.5;
-               visible: 0;
                rel1 {
+                  to_x: "elm.select_icon.pad";
+                  to_y: "elm.icon";
                   relative: 1.0 0.0;
-                  to_x: "elm.padding.left";
                }
                rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "elm.padding.left";
-                  to_y: "elm.padding.bottom";
+                  to_x: "elm.select_icon.pad";
+                  to_y: "elm.icon";
+                  relative: 1.0 1.0;
                }
+               align: 0.0 0.5;
+               fixed: 1 1;
+               visible: 0;
             }
             description { state: "selectview" 0.0;
                inherit: "default" 0.0;
                visible: 1;
             }
          }
-         part { name: "elm.padding.icon1.right";
-            type: RECT;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: GENLIST_PADDING_5_INC 0;
-               fixed: 1 0;
-               visible: 0;
-               color: 0 255 255 255;
-               rel1 {
-                  relative: 1.0 0.0;
-                  to_x: "elm.swallow.select_icon";
-               }
-               rel2 {
-                  relative: 1.0 0.0;
-                  to_x: "elm.swallow.select_icon";
-                  to_y: "elm.padding.bottom";
-               }
-               align: 0.0 0.0;
-            }
-         }
          part { name: "elm.icon";
             clip_to: "disclip";
             type: SWALLOW;
             scale: 1;
             description { state: "default" 0.0;
-               rel1.relative: 0.24 0.0; //to_y: "elm.rect.top.pad"; }
                rel2 {
+                  to: "elm.bottom.pad";
                   relative: 1.0 0.0;
-                  to_y: "elm.padding.bottom";
                }
+               align: 0.0 0.0;
+               fixed: 1 0;
             }
             description { state: "selectview" 0.0;
                inherit: "default" 0.0;
-               align: 1.0 0.0;
                rel1 {
-                  relative: 0.28 0.0;
+                  to_x: "elm.swallow.select_icon";
+                  relative: 1.0 0.0;
                }
             }
          }
-         part { name: "elm.padding.contents";
-            type: RECT;
-            scale: 1;
-            description { state: "default" 0.0;
-               align: 0.0 0.0;
-               fixed: 1 1;
-               visible: 0;
-               rel1 { relative: 0.0 1.0; to_y: "elm.icon"; }
-               rel2 { relative: 1.0 1.0; to_y: "elm.icon"; }
-            }
-         }
-         part { name: "elm.swallow.icon1";
-            clip_to: "disclip";
-            type: SWALLOW;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               max: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               align: 1.0 0.0;
-               fixed: 1 1;
-               visible: 0;
-               rel1 { relative: 0.0 1.00; to_x: "elm.swallow.icon2"; to_y: "elm.padding.contents"; }
-               rel2 { relative: 0.0 1.00; to_x: "elm.swallow.icon2"; }
-            }
-            description { state: "contents_on" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-         }
-         part { name: "elm.swallow.icon2";
-            clip_to: "disclip";
-            type: SWALLOW;
-            scale: 1;
-            description { state: "default" 0.0;
-               min: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               max: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               align: 1.0 0.0;
-               fixed: 1 1;
-               visible: 0;
-               rel1 { relative: 0.9777 1.00; to_y: "elm.padding.contents"; }
-               rel2 { relative: 0.9777 1.00; }
-            }
-            description { state: "contents_on" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-         }
-         part { name: "elm.padding.bottom";
+         part { name: "elm.bottom.pad";
             type: RECT;
             scale: 1;
             description { state: "default" 0.0;
-               min: 0 GENLIST_PADDING_24_INC;
+               rel1.relative: 0.0 1.0;
+               align: 0.5 1.0;
+               min: 0 BUBBLE_LAYOUT_BOTTOM_PAD;
                fixed: 0 1;
                visible: 0;
-               rel1.relative: 0.0 1.0;
-               align: 0.0 1.0;
-            }
-            description { state: "contents_on" 0.0;
-               inherit: "default" 0.0;
-               min: 0 GENLIST_PADDING_88_INC;
             }
          }
          part { name: "disclip";
@@ -961,26 +795,10 @@ group {
             signal: "elm,state,select,enable";
             source: "elm";
             action: STATE_SET "selectview" 0.0;
-            //transition: DECELERATE 0.7;
+            transition: DECELERATE 0.7;
             target: "elm.swallow.select_icon";
             target: "elm.icon";
          }
-         program { name: "go_contents_on";
-            signal: "elm,state,contents,enabled";
-            source: "elm";
-            action: STATE_SET "contents_on" 0.0;
-            target: "elm.swallow.icon1";
-            target: "elm.swallow.icon2";
-            target: "elm.padding.bottom";
-         }
-         program { name: "go_contents_off";
-            signal: "elm,state,contents,disabled";
-            source: "elm";
-            action: STATE_SET "default" 0.0;
-            target: "elm.swallow.icon1";
-            target: "elm.swallow.icon2";
-            target: "elm.padding.bottom";
-         }
       }
    }
 
index 9bb3a8f..72c74f9 100644 (file)
@@ -2970,221 +2970,55 @@ styles {
    }
 
    group { name: "elm/entry/base-noedit/readmessage";
-      data.item: "default_font_size" "24";
-      data.item: "min_font_size" "8";
-      data.item: "max_font_size" "60";
-      data {
-         item: context_menu_orientation "horizontal";
-      }
       parts {
          part {
-            name: "elm.rect.left.pad";
-               type: RECT;
-               scale: 1;
-               description {
-                  state: "default" 0.0;
-               min: ENTRY_BUBBLE_EX_PAD 0;
-               fixed: 1 0;
-                  align: 0.0 0.0;
-               color: 0 0 0 0;
-                  rel2.relative: 0.0 1.0;
-              }
-              description {
+            name: "elm.bubble.callerid.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel2.relative: 0.0 0.0;
+               align: 0.0 0.0;
+               min: 0 0;
+               fixed: 1 1;
+               visible: 0;
+            }
+            description {
                state: "callerid_on" 0.0;
                inherit: "default" 0.0;
-                  min: ENTRY_BUBBLE_EX_CALLERID_PAD 0;
-              }
-         }
-         part {
-            name: "elm.rect.right.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-               min: ENTRY_BUBBLE_IX_PAD 0;
-              fixed: 1 0;
-              align: 0.0 0.0;
-               color: 0 0 0 0;
-              rel1 { relative: 1.0 0.0; to: "elm.text"; }
-               rel2.to: "elm.text";
-           }
-        }
-         part {
-           name: "elm.rect.top.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: 0 ENTRY_BUBBLE_Y_PAD;
-              fixed: 0 1;
-              align: 0.0 0.0;
-              color: 0 0 0 0;
-              rel2.relative: 1.0 0.0;
-           }
-         }
-         part {
-           name: "elm.rect.topleft.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: ENTRY_BUBBLE_CALLERID_PAD ENTRY_BUBBLE_CALLERID_PAD;
-              max: ENTRY_BUBBLE_CALLERID_PAD ENTRY_BUBBLE_CALLERID_PAD;
-              fixed: 1 1;
-              align: 0.0 0.0;
-              visible: 0;
-           }
-         }
-         part {
-           name: "elm.rect.bottom.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: 0 ENTRY_BUBBLE_BOTTOM_PAD;
-              fixed: 0 1;
-              align: 0.0 1.0;
-              color: 0 0 0 0;
-              rel1.relative: 0.0 1.0;
-           }
-         }
-         part {
-           name: "elm.rect.bottomleft.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: ENTRY_BUBBLE_BOTTOMRIGHT_PAD  2;
-              max: ENTRY_BUBBLE_BOTTOMRIGHT_PAD 2;
-              align: 0.0 1.0;
-                         visible: 0;
-           }
-         }
-         part {
-           name: "elm.rect.groupchat.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: ENTRY_BUBBLE_GROUPCHART_PAD;
-              max: ENTRY_BUBBLE_GROUPCHART_PAD;
-              align: 0.0 0.0;
-                         visible: 0;
-           }
-           description {
-              state: "callerid_on" 0.0;
-              inherit: "default" 0.0;
-              min: ENTRY_BUBBLE_GROUPCHART_WITH_CALLERID_PAD;
-              max: ENTRY_BUBBLE_GROUPCHART_WITH_CALLERID_PAD;
-           }
+               min: ENTRY_BUBBLE_CALLERID_PAD 0;
+            }
          }
          part {
-           name: "elm.rect.groupchat.text.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: 120 14;
-              max: 120 14;
-              align: 0.0 0.0;
-                         visible: 0;
-                         rel1 { relative: 0.0 1.0; to: "elm.rect.groupchat.pad"; }
-           }
-         }
-         part { name: "elm.text.groupchat";
-            type: TEXT;
+            name: "elm.callerid.icon.pad";
+            type: RECT;
             scale: 1;
             description { state: "default" 0.0;
+            rel2.relative: 0.0 0.0;
                align: 0.0 0.0;
+               min: ENTRY_BUBBLE_CALLERID_ICON_PAD 0;
                fixed: 1 1;
-               text {
-                  font: "Tizen:style=Roman";
-                  size: ENTRY_BUBBLE_GROUPCHAT_SIZE_INC;
-                  min: 1 0;
-                                 align: 0.0 0.5;
-                  text_class: "tizen";
-               }
-               visible: 1;
-               color: ENTRY_BUBBLE_GROUPCHAT_COLOR_INC;
-               rel1 { relative: 1.0 0.0; to: "elm.rect.groupchat.pad"; }
-               rel2.to_y: "elm.rect.groupchat.pad";
+               visible: 0;
             }
          }
-        part {
-           name: "elm.image.bg";
-           type: IMAGE;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              rel2.to_x: "elm.rect.right.pad";
-              image {
-                 normal: "00_messagebubble_bg_receive.png";
-                 border: ENTRY_BUBBLE_RECEV_BG_BORDER_INC;
-                 border_scale: 1;
-              }
-           }
-           description {
-              state: "callerid_on" 0.0;
-           inherit: "default" 0.0;
-           rel1 { relative: 1.0 0.0; to_x: "elm.rect.bottomleft.pad"; }
-           }
-           description {
-              state: "callerid_groupchat" 0.0;
-           inherit: "default" 0.0;
-           rel1 { relative: 1.0 1.0; to_x: "elm.rect.bottomleft.pad"; to_y:"elm.rect.groupchat.pad"; }
-           }
-           description {
-              state: "groupchat_on" 0.0;
-           inherit: "default" 0.0;
-           rel1 { relative: 0.0 1.0; to_y:"elm.rect.groupchat.pad"; }
-           }
-        }
-         // it's temporary blocked for prepare entry's signal feature
-         /*
-         part {
-           name: "elm.text.subject";
-           type: TEXTBLOCK;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              align: 0.0 0.0;
-              text {
-                 style: "entry_textblock_style";
-                 min: 0 1;
-              }
-              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.top.pad"; }
-              rel2 { relative: 0.0 1.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.top.pad"; }
-           }
-         }
-         */
-
-         part {
-           name: "elm.rect.subject.line";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              visible: 0;
-              min: 0 1;
-              align: 0.0 0.0;
-              color: 0 0 0 255;
-              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.top.pad"; }
-              rel2 { relative: 0.0 1.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.top.pad"; }
-           }
-         }
          part {
             name: "elm.swallow.callerid";
             type: SWALLOW;
             scale: 1;
-            description {
-               state: "default" 0.0;
+            description { state: "default" 0.0;
                min: ENTRY_BUBBLE_CALLERID_WIDTH ENTRY_BUBBLE_CALLERID_HEIGHT;
                max: ENTRY_BUBBLE_CALLERID_WIDTH ENTRY_BUBBLE_CALLERID_HEIGHT;
                fixed: 1 1;
                align: 0.0 0.0;
+               rel1 {
+                  to: "elm.callerid.icon.pad";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "elm.callerid.icon.pad";
+                  relative: 1.0 0.0;
+               }
                visible: 0;
-               rel1 { relative: ENTRY_BUBBLE_RECEV_CALLERID_REL_INC; to_x: "elm.rect.topleft.pad"; to_y: "elm.rect.topleft.pad"; }
-               rel2 { relative: ENTRY_BUBBLE_RECEV_CALLERID_REL_INC; to_x: "elm.rect.topleft.pad"; to_y: "elm.rect.bottom.pad"; }
             }
             description { state: "callerid_on" 0.0;
                inherit: "default" 0.0;
@@ -3192,373 +3026,619 @@ styles {
             }
          }
          part {
-            name: "elm.rect.callerid.pad";
+            name: "elm.callerid.bottom.pad";
             type: RECT;
             scale: 1;
-            description {
-               state: "default" 0.0;
-               min: ENTRY_BUBBLE_CALLERID_PAD ENTRY_BUBBLE_CALLERID_PAD;
-               max: ENTRY_BUBBLE_CALLERID_PAD ENTRY_BUBBLE_CALLERID_PAD;
-               fixed: 1 1;
-               align: 0.0 0.0;
+            description { state: "default" 0.0;
                visible: 0;
-               rel1 { relative: 1.0 1.0; to: "elm.swallow.callerid"; to_y: "elm.rect.top.pad"; }
-               rel2 { relative: 1.0 0.0; to_y: "elm.rect.bottom.pad"; }
             }
-         }
-        part { name: "elm.text";
-           type: TEXTBLOCK;
-           mouse_events: 1;
-           scale: 1;
-           entry_mode: PLAIN;
-           select_mode: BLOCK_HANDLE;
-           //cursor_mode: BEFORE;
-           multiline: 1;
-           source: "elm/entry/selection/default"; // selection under
-           //source2: "X"; // selection over
-           //source3: "X"; // cursor under
-           source5: "elm/entry/anchor/default"; // anchor under
-           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
-           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
-           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
-           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
-           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
-           description {
-              state: "default" 0.0;
-              fixed: 1 0;
-              min: 200 0;
-              align: 0.0 0.0;
-              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.subject.line"; }
-              rel2 { relative: 1.0 1.0; to_y: "elm.rect.subject.line"; }
-              text {
-                 style: "entry_bubble_receive_textblock_style";
-                 min: 0 1;
-              max: 1 0;
-              }
-           }
-               /* callerid only */
-           description { state: "callerid_on" 0.0;
-               inherit: "default" 0.0;
-               rel1 { relative: 1.0 1.0; to_x: ENTRY_BUBBLE_READ_TEXT_CALLID_REL1_X_INC; to_y: "elm.rect.subject.line"; }
-               rel2 { relative: 1.0 1.0; to_y: "elm.rect.subject.line"; }
-           }
-               /* callerid and groupchat */
-           description { state: "callerid_groupchat" 0.0;
-               inherit: "default" 0.0;
-               rel1 { relative: 1.0 1.0; to_x: ENTRY_BUBBLE_READ_TEXT_CALLID_REL1_X_INC; to_y: ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC; }
-               rel2 { relative: 1.0 1.0; to_y: ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC; }
-           }
-               /* groupchat only */
-           description { state: "groupchat_on" 0.0;
-               inherit: "default" 0.0;
-               rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC; }
-               rel2 { relative: 1.0 1.0; to_y: ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC; }
-           }
-            description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               text {
-                  style: "entry_textblock_disabled_style";
+            description { state: "callerid_on" 0.0;
+               rel1 {
+                  to: "elm.swallow.callerid";
+                  relative: 0.0 1.0;
                }
-            }
-        }
-         part {
-            name: "elm.rect.status.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-               min: ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC 64;
-               max: ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC 64;
-              fixed: 1 1;
-              align: 0.0 1.0;
+               rel2 {
+                  to_x: "elm.swallow.callerid";
+                  relative: 0.0 1.0;
+               }
+               align: 0.0 0.0;
+               min: 0 0;
                visible: 0;
-                          color: 255 0 0 255;
-              rel1 { relative: ENTRY_BUBBLE_READ_STATUS_TIME_PAD_REL_INC; to_x: "elm.rect.right.pad"; to_y: "elm.rect.bottom.pad"; }
-              rel2 { relative: 1.0 1.0; to_y: "elm.rect.bottom.pad"; }
-           }
-        }
+            }
+         }
          part {
-            name: "elm.rect.time.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-               min: ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC GENLIST_PADDING_34_INC;
-               max: ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC GENLIST_PADDING_34_INC;
-              fixed: 1 1;
-              align: 0.0 0.0;
-               visible: 0;
-                          color: 0 255 0 255;
-              rel1.to: "elm.rect.status.pad";
-              rel2 { relative: 1.0 1.0; to_y: "elm.rect.bottom.pad"; }
-           }
-        }
-         part { name: "elm.text.status";
-            type: TEXT;
+            name: "elm.bubble.groupchat.pad";
+            type: RECT;
             scale: 1;
             description { state: "default" 0.0;
-               align: 0.0 1.0;
-               fixed: 1 1;
-               text {
-                  font: "Tizen:style=Roman";
-                  size: ENTRY_BUBBLE_STATUS_TIME_SIZE_INC;
-                  min: 1 0;
-                  text_class: "tizen";
+               rel1 {
+                  to: "elm.bubble.callerid.pad";
+                  relative: 1.0 0.0;
                }
-               visible: 1;
-               color: ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC;
-               rel1 { relative: ENTRY_BUBBLE_READ_STATUS_REL_INC; to_x: "elm.rect.status.pad"; to_y: "elm.rect.status.pad"; }
-               rel2 { relative: ENTRY_BUBBLE_READ_STATUS_REL_INC; to_x: "elm.rect.status.pad"; to_y: "elm.rect.status.pad"; }
+               rel2 {
+                  to: "elm.bubble.callerid.pad";
+                  relative: 1.0 0.0;
+               }
+               align: 0.0 0.0;
+               min: 0 0;
+               fixed: 1 1;
+               visible: 0;
             }
-            description { state: "disabled" 0.0;
+            description {
+               state: "groupchat_on";
                inherit: "default" 0.0;
+               min: 0 ENTRY_BUBBLE_GROUPCHAT_PAD;
+            }
+         }
+         part {
+            name: "elm.groupchat.text.pad";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "elm.bubble.groupchat.pad";
+               rel2 {
+                  to: "elm.bubble.groupchat.pad";
+                  relative: 0.0 1.0;
+               }
+               align: 0.0 0.5;
+               min: ENTRY_BUBBLE_GROUPCHAT_TEXT_PAD 0;
+               fixed: 1 0;
                visible: 0;
             }
          }
-         part { name: "elm.text.time";
+         part {
+            name: "elm.text.groupchat";
             type: TEXT;
             scale: 1;
             description { state: "default" 0.0;
                align: 0.0 0.0;
-               fixed: 1 1;
                text {
                   font: "Tizen:style=Roman";
-                  size: ENTRY_BUBBLE_STATUS_TIME_SIZE_INC;
-                  min: 1 0;
+                  size: ENTRY_BUBBLE_GROUPCHAT_SIZE_INC;
+                  align: 0.0 0.0;
                   text_class: "tizen";
+                  min: 1 1;
                }
-               visible: 1;
-               color: ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC;
-               rel1 { relative: ENTRY_BUBBLE_READ_TIME_REL_INC; to_x: "elm.rect.time.pad"; to_y: "elm.rect.time.pad"; }
-               rel2 { relative: ENTRY_BUBBLE_READ_TIME_REL_INC; to_x: "elm.rect.time.pad"; to_y: "elm.rect.time.pad"; }
+               rel1 {
+                  to: "elm.groupchat.text.pad";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "elm.groupchat.text.pad";
+                  relative: 1.0 0.0;
+               }
+               color: ENTRY_BUBBLE_GROUPCHAT_COLOR_INC;
+               visible: 0;
             }
-            description { state: "disabled" 0.0;
+            description { state: "groupchat_on" 0.0;
                inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "elm.bubble.status.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1.relative: 1.0 0.0;
+               align: 1.0 0.5;
+               min: ENTRY_BUBBLE_STATUS_PAD 0;
+               fixed: 1 0;
                visible: 0;
             }
          }
          part {
-            name: "elm.swallow.icon1";
-           type: SWALLOW;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-               min: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               max: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-              fixed: 1 1;
-              align: 0.0 1.0;
+            name: "elm.bubble.lefttop.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_x: "elm.bubble.callerid.pad";
+                  to_y: "elm.bubble.groupchat.pad";
+                  relative: 1.0 1.0;
+               }
+               rel2 {
+                  to_x: "elm.bubble.callerid.pad";
+                  to_y: "elm.bubble.groupchat.pad";
+               }
+               align: 0.0 0.0;
+               min: ENTRY_BUBBLE_READ_LEFTTOP_PAD;
                visible: 0;
-              rel1 { relative: 1.5 0.3; to_x: "elm.rect.right.pad"; to_y: "elm.rect.bottom.pad"; }
-              rel2 { relative: 1.0 0.3; to_y: "elm.rect.bottom.pad"; }
-           }
-            description { state: "enabled" 0.0;
+               fixed: 1 1;
+            }
+         }
+         part {
+            name: "elm.bubble.righttop.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_x: "elm.bubble.status.pad";
+                  to_y: "elm.bubble.groupchat.pad";
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  to_x: "elm.bubble.status.pad";
+                  to_y: "elm.bubble.groupchat.pad";
+                  relative: 0.0 1.0;
+               }
+               align: 1.0 0.0;
+               min: ENTRY_BUBBLE_READ_RIGHTTOP_PAD;
+               visible: 0;
+               fixed: 1 1;
+            }
+         }
+         part {
+            name: "elm.image.bg";
+            type: IMAGE;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1.to: "elm.bubble.lefttop.pad";
+               rel2.to: "elm.bubble.rightbottom.pad";
+               image {
+                  normal: "00_messagebubble_bg_receive.png";
+                  border: ENTRY_BUBBLE_RECEV_BG_BORDER_INC;
+                  border_scale: 1;
+               }
+            }
+         }
+         part {
+            name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 1;
+            scale: 1;
+            entry_mode: PLAIN;
+            select_mode: BLOCK_HANDLE;
+            //cursor_mode: BEFORE;
+            multiline: 1;
+            source: "elm/entry/selection/default"; // selection under
+            //source2: "X"; // selection over
+            //source3: "X"; // cursor under
+            source5: "elm/entry/anchor/default"; // anchor under
+            source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+            source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+            source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+            source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+            source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.0;
+               min: ENTRY_BUBBLE_TEXT_MIN;
+               rel1 {
+                  to: "elm.bubble.lefttop.pad";
+                  relative: 1.0 1.0;
+               }
+               rel2 {
+                  to: "elm.bubble.righttop.pad";
+                  relative: 0.0 1.0;
+               }
+               text {
+                  style: "entry_bubble_receive_textblock_style";
+                  min: 0 1;
+                  max: 1 0;
+               }
+            }
+            description { state: "disabled" 0.0;
                inherit: "default" 0.0;
-               visible: 1;
+               text {
+                  style: "entry_textblock_disabled_style";
+               }
             }
-        }
+         }
          part {
             name: "elm.rect.middle.pad";
             type: RECT;
             scale: 1;
             description {
                state: "default" 0.0;
+               rel1 {
+                  to: "elm.text";
+                  relative: 0.0 1.0;
+               }
+               rel2.to: "elm.text";
+               align: 0.5 0.0;
                min: 0 0;
-               max: 0 0;
-               align: 0.0 0.0;
-               color: 0 0 0 0;
-               rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.text"; }
+               visible: 0;
             }
             description {
                state: "show" 0.0;
                inherit: "default" 0.0;
                min: 0 ENTRY_BUBBLE_MIDDLE_PAD;
-               max: 0 ENTRY_BUBBLE_MIDDLE_PAD;
             }
          }
          part {
-           name: "elm.swallow.end";
-           type: SWALLOW;
-           scale: 1;
-           description { state: "default" 0.0;
-              align: 0.0 0.0;
-              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.middle.pad"; }
-              rel2 { relative: 0.0 0.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.bottom.pad"; }
-           }
-         }
-      }
-      programs {
-        program { name: "focus";
-            signal: "load";
-           source: "";
-           action: FOCUS_SET;
-           target: "elm.text";
-        }
-        program { name: "disable";
-           signal: "elm,state,disabled";
-           source: "elm";
-           action: STATE_SET "disabled" 0.0;
-           target: "elm.text";
-        }
-        program { name: "enable";
-           signal: "elm,state,enabled";
-           source: "elm";
-           action: STATE_SET "default" 0.0;
-           target: "elm.text";
-        }
-        program { name: "go_callerid_on";
-           signal: "elm,state,callerid,enabled";
-           source: "elm";
-         script {
-            new st[31];
-            new Float:vl;
-            get_state(PART:"elm.text", st, 30, vl);
-            if (!strcmp(st, "default")) {
-              set_state(PART:"elm.image.bg", "callerid_on", 0.0);
-              set_state(PART:"elm.text", "callerid_on", 0.0);
-                       }
-            else if (!strcmp(st, "groupchat_on")) {
-              set_state(PART:"elm.image.bg", "callerid_groupchat", 0.0);
-              set_state(PART:"elm.text", "callerid_groupchat", 0.0);
-                       }
-
-            set_state(PART:"elm.swallow.callerid", "callerid_on", 0.0);
-            set_state(PART:"elm.rect.left.pad", "callerid_on", 0.0);
-            set_state(PART:"elm.rect.groupchat.pad", "callerid_on", 0.0);
-         }
-        }
-        program { name: "go_callerid_off";
-           signal: "elm,state,callerid,disabled";
-           source: "elm";
-         script {
-            new st[31];
-            new Float:vl;
-            get_state(PART:"elm.text", st, 30, vl);
-            if (!strcmp(st, "callerid_groupchat")) {
-              set_state(PART:"elm.image.bg", "groupchat_on", 0.0);
-              set_state(PART:"elm.text", "groupchat_on", 0.0);
-                       }
-            else {
-              set_state(PART:"elm.image.bg", "default", 0.0);
-              set_state(PART:"elm.text", "default", 0.0);
-                       }
-
-            set_state(PART:"elm.swallow.callerid", "default", 0.0);
-            set_state(PART:"elm.rect.groupchat.pad", "default", 0.0);
-                }
-        }
-/* groupchat - since white-hd theme */
-#if ENTRY_BUBBLE_GROUPCHART_ENABLE_INC
-        program { name: "go_groupchat_on";
-           signal: "elm,state,groupchat,enabled";
-           source: "elm";
-         script {
-            new st[31];
-            new Float:vl;
-            get_state(PART:"elm.text", st, 30, vl);
-            if (!strcmp(st, "default")) {
-              set_state(PART:"elm.image.bg", "groupchat_on", 0.0);
-              set_state(PART:"elm.text", "groupchat_on", 0.0);
-                       }
-            else if (!strcmp(st, "callerid_on")) {
-              set_state(PART:"elm.image.bg", "callerid_groupchat", 0.0);
-              set_state(PART:"elm.text", "callerid_groupchat", 0.0);
-                       }
+            name: "elm.swallow.end";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1 {
+                  to: "elm.rect.middle.pad";
+                  relative: 0.0 1.0;
+               }
+               rel2.to: "elm.rect.middle.pad";
+               align: 0.0 0.0;
+            }
          }
-        }
-#endif
-        program { name: "go_textstatus_on";
-           signal: "elm,state,text,status,enabled";
-           source: "elm";
-           action: STATE_SET "default" 0.0;
-           target: "elm.text.time";
-           target: "elm.text.status";
-            after: "go_contentstatus_off";
-        }
-        program { name: "go_textstatus_off";
-           signal: "elm,state,text,status,disbled";
-           source: "elm";
-           action: STATE_SET "disabled" 0.0;
-           target: "elm.text.time";
-           target: "elm.text.status";
-        }
-        program { name: "go_contentstatus_on";
-           signal: "elm,state,content,status,enabled";
-           source: "elm";
-           action: STATE_SET "enabled" 0.0;
-           target: "elm.swallow.icon1";
-            after: "go_textstatus_off";
-        }
-        program { name: "go_contentstatus_off";
-           signal: "elm,state,content,status,disabled";
-           source: "elm";
-           action: STATE_SET "default" 0.0;
-           target: "elm.swallow.icon1";
-        }
-        program { name: "show_middle_pad";
-           signal: "elm,state,middle,pad,enabled";
-           source: "elm";
-           action: STATE_SET "show" 0.0;
-           target: "elm.rect.middle.pad";
-        }
-        program { name: "hide_middle_pad";
-           signal: "elm,state,middle,pad,disabled";
-           source: "elm";
-           action: STATE_SET "default" 0.0;
-           target: "elm.rect.middle.pad";
-        }
-      }
-   }
-
-   group { name: "elm/entry/base-noedit-charwrap/readmessage";
-      data.item: "default_font_size" "24";
-      data.item: "min_font_size" "8";
-      data.item: "max_font_size" "60";
-      data {
-         item: context_menu_orientation "horizontal";
-      }
-      parts {
          part {
-            name: "elm.rect.left.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-               min: ENTRY_BUBBLE_EX_PAD 0;
-               fixed: 1 0;
-              align: 0.0 0.0;
-               color: 0 0 0 0;
-              rel2.relative: 0.0 1.0;
-           }
+            name: "elm.bubble.rightbottom.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               rel1 {
+                  to: "elm.swallow.end";
+                  relative: 1.0 1.0;
+               }
+               rel2.to: "elm.swallow.end";
+               align: 0.0 0.0;
+               min: ENTRY_BUBBLE_READ_RIGHTBOTTOM_PAD;
+               visible: 0;
+               fixed: 1 1;
+            }
          }
          part {
-            name: "elm.rect.right.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-               min: ENTRY_BUBBLE_IX_PAD 0;
-               fixed: 1 0;
-              align: 0.0 0.0;
-               color: 0 0 0 0;
-              rel1 { relative: 1.0 0.0; to_x: "elm.text"; }
-               rel2.to_x: "elm.text";
-           }
-        }
+            name: "elm.icon.top.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.0;
+               rel1 {
+                  to: "elm.bubble.rightbottom.pad";
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  to: "elm.bubble.rightbottom.pad";
+                  relative: 0.0 1.0;
+               }
+               min: 0 0;
+               visible: 0;
+            }
+            description {
+               state: "contents_on" 0.0;
+               inherit: "default" 0.0;
+               min: 0 ENTRY_BUBBLE_ICON_TOP_PAD;
+            }
+         }
          part {
-           name: "elm.rect.top.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: 0 ENTRY_BUBBLE_Y_PAD;
-              fixed: 0 1;
-              align: 0.0 0.0;
-              color: 0 0 0 0;
-              rel2.relative: 1.0 0.0;
-           }
+            name: "elm.swallow.icon1";
+            type: SWALLOW;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_x: "elm.text";
+                  to_y: "elm.icon.top.pad";
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  to_x: "elm.text";
+                  to_y: "elm.icon.top.pad";
+                  relative: 0.0 1.0;
+               }
+               min: 0 0;
+               align: 0.0 0.0;
+               visible: 0;
+            }
+            description {
+               state: "contents_on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
          }
          part {
-           name: "elm.rect.bottom.pad";
+            name: "elm.icon.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "elm.swallow.icon1";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "elm.swallow.icon1";
+                  relative: 1.0 1.0;
+               }
+               min: ENTRY_BUBBLE_ICON_PAD 0;
+               align: 0.0 0.5;
+               visible: 0;
+            }
+         }
+         part {
+            name: "elm.swallow.icon2";
+            type: SWALLOW;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "elm.icon.pad";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "elm.icon.pad";
+                  relative: 1.0 1.0;
+               }
+               min: 0 0;
+               align: 0.0 0.5;
+               visible: 0;
+            }
+            description {
+               state: "contents_on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+         part {
+            name: "elm.bottom.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               rel1 {
+                  to_y: "elm.swallow.icon1";
+                  relative: 0.0 1.0;
+               }
+               min: 0 0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "elm.status.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "elm.bubble.rightbottom.pad";
+                  relative: 1.0 1.0;
+               }
+               rel2.to: "elm.bubble.rightbottom.pad";
+               min: ENTRY_BUBBLE_STATUS_TEXT_ICON_PAD;
+               align: 0.0 1.0;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part { name: "elm.text.time";
+            type: TEXT;
+            scale: 1;
+            description { state: "default" 0.0;
+               text {
+                  font: "Tizen:style=Roman";
+                  size: ENTRY_BUBBLE_STATUS_TIME_TEXT_SIZE_INC;
+                  min: 1 1;
+                  text_class: "tizen";
+                  align: 0.0 1.0;
+               }
+               color: ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC;
+               rel1 {
+                  to: "elm.status.pad";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "elm.status.pad";
+                  relative: 1.0 0.0;
+               }
+               align: 0.0 1.0;
+               min: ENTRY_BUBBLE_STATUS_TIME_SIZE;
+               fixed: 1 1;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part { name: "elm.text.status";
+            type: TEXT;
+            scale: 1;
+            description { state: "default" 0.0;
+               text {
+                  font: "Tizen:style=Roman";
+                  size: ENTRY_BUBBLE_STATUS_TIME_TEXT_SIZE_INC;
+                  min: 0 1;
+                  text_class: "tizen";
+                  align: 0.0 1.0;
+               }
+               color: ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC;
+               rel1.to: "elm.text.time";
+               rel2 {
+                  to: "elm.text.time";
+                  relative: 1.0 0.0;
+               }
+               align: 0.0 1.0;
+               min: ENTRY_BUBBLE_STATUS_TIME_SIZE;
+               fixed: 1 1;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "elm.swallow.status";
+            type: SWALLOW;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "elm.status.pad";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to: "elm.status.pad";
+                  relative: 1.0 0.0;
+               }
+               align: 0.0 1.0;
+               fixed: 1 1;
+               visible: 0;
+            }
+            description { state: "enabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
+         }
+      }
+      programs {
+         program { name: "focus";
+            signal: "load";
+            source: "";
+            action: FOCUS_SET;
+            target: "elm.text";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "elm.text";
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+         program { name: "go_callerid_on";
+            signal: "elm,state,callerid,enabled";
+            source: "elm";
+            action: STATE_SET "callerid_on" 0.0;
+            target: "elm.bubble.callerid.pad";
+            target: "elm.swallow.callerid";
+            target: "elm.callerid.bottom.pad";
+         }
+         program { name: "go_callerid_off";
+            signal: "elm,state,callerid,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.bubble.callerid.pad";
+            target: "elm.swallow.callerid";
+            target: "elm.callerid.bottom.pad";
+         }
+         program { name: "go_groupchat_on";
+            signal: "elm,state,groupchat,enabled";
+            source: "elm";
+            action: STATE_SET "groupchat_on" 0.0;
+            target: "elm.bubble.groupchat.pad";
+            target: "elm.text.groupchat";
+         }
+         program { name: "go_groupchat_off";
+            signal: "elm,state,groupchat,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.bubble.groupchat.pad";
+            target: "elm.text.groupchat";
+         }
+         program { name: "go_textstatus_on";
+            signal: "elm,state,text,status,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text.time";
+            target: "elm.text.status";
+            after: "go_contentstatus_off";
+         }
+         program { name: "go_textstatus_off";
+            signal: "elm,state,text,status,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "elm.text.time";
+            target: "elm.text.status";
+         }
+         program { name: "go_contentstatus_on";
+            signal: "elm,state,content,status,enabled";
+            source: "elm";
+            action: STATE_SET "enabled" 0.0;
+            target: "elm.swallow.status";
+            after: "go_textstatus_off";
+         }
+         program { name: "go_contentstatus_off";
+            signal: "elm,state,content,status,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.swallow.status";
+         }
+         program { name: "show_middle_pad";
+            signal: "elm,state,middle,pad,enabled";
+            source: "elm";
+            action: STATE_SET "show" 0.0;
+            target: "elm.rect.middle.pad";
+         }
+         program { name: "hide_middle_pad";
+            signal: "elm,state,middle,pad,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.rect.middle.pad";
+         }
+         program { name: "go_contents_on";
+            signal: "elm,state,contents,enabled";
+            source: "elm";
+            action: STATE_SET "contents_on" 0.0;
+            target: "elm.icon.top.pad";
+            target: "elm.swallow.icon1";
+            target: "elm.swallow.icon2";
+         }
+         program { name: "go_contents_off";
+            signal: "elm,state,contents,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.icon.top.pad";
+            target: "elm.swallow.icon1";
+            target: "elm.swallow.icon2";
+         }
+      }
+   }
+
+   group { name: "elm/entry/base-noedit-charwrap/readmessage";
+      data.item: "default_font_size" "24";
+      data.item: "min_font_size" "8";
+      data.item: "max_font_size" "60";
+      data {
+         item: context_menu_orientation "horizontal";
+      }
+      parts {
+         part {
+            name: "elm.rect.left.pad";
+           type: RECT;
+           scale: 1;
+           description {
+              state: "default" 0.0;
+               min: ENTRY_BUBBLE_EX_PAD 0;
+               fixed: 1 0;
+              align: 0.0 0.0;
+               color: 0 0 0 0;
+              rel2.relative: 0.0 1.0;
+           }
+         }
+         part {
+            name: "elm.rect.right.pad";
+           type: RECT;
+           scale: 1;
+           description {
+              state: "default" 0.0;
+               min: ENTRY_BUBBLE_IX_PAD 0;
+               fixed: 1 0;
+              align: 0.0 0.0;
+               color: 0 0 0 0;
+              rel1 { relative: 1.0 0.0; to_x: "elm.text"; }
+               rel2.to_x: "elm.text";
+           }
+        }
+         part {
+           name: "elm.rect.top.pad";
+           type: RECT;
+           scale: 1;
+           description {
+              state: "default" 0.0;
+              min: 0 ENTRY_BUBBLE_Y_PAD;
+              fixed: 0 1;
+              align: 0.0 0.0;
+              color: 0 0 0 0;
+              rel2.relative: 1.0 0.0;
+           }
+         }
+         part {
+           name: "elm.rect.bottom.pad";
            type: RECT;
            scale: 1;
            description {
@@ -3778,364 +3858,489 @@ styles {
    }
 
    group { name: "elm/entry/base-noedit/sentmessage";
-      data.item: "default_font_size" "24";
-      data.item: "min_font_size" "8";
-      data.item: "max_font_size" "60";
-      data {
-         item: context_menu_orientation "horizontal";
-      }
       parts {
          part {
-           name: "elm.rect.right.pad";
-              type: RECT;
-              scale: 1;
-              description {
-                 state: "default" 0.0;
-                 min: ENTRY_BUBBLE_EX_PAD 0;
-              fixed: 1 0;
-                 align: 1.0 0.0;
-              color: 0 0 0 0;
-              rel1.relative: 1.0 0.0;
-              }
-              description {
-               state: "callerid_on" 0.0;
+            name: "elm.bubble.callerid.pad";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.relative: 1.0 0.0;
+               rel2.relative: 1.0 0.0;
+               align: 1.0 0.0;
+               min: 0 0;
+               fixed: 1 1;
+               visible: 0;
+            }
+            description { state: "callerid_on";
                inherit: "default" 0.0;
-                  min: ENTRY_BUBBLE_EX_CALLERID_PAD 0;
-              }
+               min: ENTRY_BUBBLE_CALLERID_PAD 0;
+            }
          }
          part {
-            name: "elm.rect.left.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: ENTRY_BUBBLE_IX_PAD 0;
-              fixed: 1 0;
-              align: 1.0 0.0;
-               color: 0 0 0 0;
-              rel1 { relative: 0.0 0.0; to: "elm.text"; }
-               rel2 { relative: 0.0 1.0; to: "elm.text"; }
-           }
-        }
-         part {
-           name: "elm.rect.topright.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: ENTRY_BUBBLE_CALLERID_PAD ENTRY_BUBBLE_CALLERID_PAD;
-              max: ENTRY_BUBBLE_CALLERID_PAD ENTRY_BUBBLE_CALLERID_PAD;
-              align: 1.0 0.0;
-              visible: 0;
-              rel1.relative: 1.0 0.0;
-           }
+            name: "elm.callerid.icon.pad";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.relative: 1.0 0.0;
+               rel2.relative: 1.0 0.0;
+               align: 1.0 0.0;
+               min: ENTRY_BUBBLE_CALLERID_ICON_PAD 0;
+               fixed: 1 1;
+               visible: 0;
+            }
          }
          part {
-           name: "elm.rect.top.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: 0 ENTRY_BUBBLE_Y_PAD;
-              fixed: 0 1;
-              align: 0.0 0.0;
-              color: 0 0 0 0;
-              rel2.relative: 1.0 0.0;
-           }
+            name: "elm.swallow.callerid";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               min: ENTRY_BUBBLE_CALLERID_WIDTH ENTRY_BUBBLE_CALLERID_HEIGHT;
+               max: ENTRY_BUBBLE_CALLERID_WIDTH ENTRY_BUBBLE_CALLERID_HEIGHT;
+               fixed: 1 1;
+               align: 1.0 0.0;
+               rel1.to: "elm.callerid.icon.pad";
+               rel2 {
+                  to: "elm.callerid.icon.pad";
+                  relative: 0.0 0.0;
+               }
+               visible: 0;
+            }
+            description { state: "callerid_on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
          }
          part {
-           name: "elm.rect.bottom.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: 0 ENTRY_BUBBLE_BOTTOM_PAD;
-              fixed: 0 1;
-              align: 0.0 1.0;
-              color: 0 0 0 0;
-              rel1.relative: 0.0 1.0;
-           }
+            name: "elm.callerid.bottom.pad";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 0;
+            }
+            description { state: "callerid_on" 0.0;
+               rel1 {
+                  to: "elm.swallow.callerid";
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  to_x: "elm.swallow.callerid";
+                  relative: 0.0 1.0;
+               }
+               align: 0.0 0.0;
+               min: 0 0;
+               visible: 0;
+            }
          }
          part {
-           name: "elm.rect.bottomright.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: ENTRY_BUBBLE_BOTTOMRIGHT_PAD  2;
-              max: ENTRY_BUBBLE_BOTTOMRIGHT_PAD 2;
-              align: 1.0 1.0;
-                         visible: 0;
-           }
+            name: "elm.bubble.groupchat.pad";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1 {
+                  to: "elm.bubble.callerid.pad";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "elm.bubble.callerid.pad";
+                  relative: 0.0 0.0;
+               }
+               align: 1.0 0.0;
+               min: 0 0;
+               fixed: 1 1;
+               visible: 0;
+            }
+            description {
+               state: "groupchat_on";
+               inherit: "default" 0.0;
+               min: 0 ENTRY_BUBBLE_GROUPCHAT_PAD;
+            }
          }
          part {
-           name: "elm.rect.groupchat.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: ENTRY_BUBBLE_GROUPCHART_PAD;
-              max: ENTRY_BUBBLE_GROUPCHART_PAD;
-              align: 1.0 0.0;
-                         visible: 0;
-           }
-           description {
-              state: "callerid_on" 0.0;
-              inherit: "default" 0.0;
-              min: ENTRY_BUBBLE_GROUPCHART_WITH_CALLERID_PAD;
-              max: ENTRY_BUBBLE_GROUPCHART_WITH_CALLERID_PAD;
-           }
+            name: "elm.groupchat.text.pad";
+            type: RECT;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1 {
+                  to: "elm.bubble.groupchat.pad";
+                  relative: 1.0 0.0;
+               }
+               rel2.to: "elm.bubble.groupchat.pad";
+               align: 1.0 0.5;
+               min: ENTRY_BUBBLE_GROUPCHAT_TEXT_PAD 0;
+               fixed: 1 0;
+               visible: 0;
+            }
          }
          part {
-           name: "elm.rect.groupchat.text.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              min: 120 14;
-              max: 120 14;
-              align: 0.0 0.0;
-                         visible: 0;
-                         rel1 { relative: 0.0 1.0; to: "elm.rect.groupchat.pad"; }
-           }
-         }
-         part { name: "elm.text.groupchat";
+            name: "elm.text.groupchat";
             type: TEXT;
             scale: 1;
             description { state: "default" 0.0;
-               align: 1.0 1.0;
-               fixed: 1 1;
+               align: 1.0 0.0;
                text {
                   font: "Tizen:style=Roman";
                   size: ENTRY_BUBBLE_GROUPCHAT_SIZE_INC;
-                  min: 1 0;
-                                 align: 1.0 0.5;
+                  align: 1.0 0.0;
                   text_class: "tizen";
+                  min: 1 1;
+               }
+               rel1.to: "elm.groupchat.text.pad";
+               rel2 {
+                  to: "elm.groupchat.text.pad";
+                  relative: 0.0 0.0;
                }
-               visible: 1;
                color: ENTRY_BUBBLE_GROUPCHAT_COLOR_INC;
-               rel2 { relative: 0.0 1.0; to: "elm.rect.groupchat.pad"; }
+               visible: 0;
+            }
+            description { state: "groupchat_on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
             }
          }
-        part {
-           name: "elm.image.bg";
-           type: IMAGE;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-           rel1.to_x: "elm.rect.left.pad";
-              image {
-                     normal: "00_messagebubble_bg_sent.png";
-                     border: ENTRY_BUBBLE_SENT_BG_BORDER_INC;
-                     border_scale: 1;
+         part {
+            name: "elm.bubble.status.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel2.relative: 0.0 1.0;
+               align: 0.0 0.5;
+               min: ENTRY_BUBBLE_STATUS_PAD 0;
+               fixed: 1 0;
+               visible: 0;
+            }
+         }
+         part {
+            name: "elm.bubble.lefttop.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_x: "elm.bubble.status.pad";
+                  to_y: "elm.bubble.groupchat.pad";
+                  relative: 1.0 1.0;
+               }
+               rel2 {
+                  to_x: "elm.bubble.status.pad";
+                  to_y: "elm.bubble.groupchat.pad";
+               }
+               align: 0.0 0.0;
+               min: ENTRY_BUBBLE_SENT_LEFTTOP_PAD;
+               visible: 0;
+               fixed: 1 1;
+            }
+         }
+         part {
+            name: "elm.bubble.righttop.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_x: "elm.bubble.callerid.pad";
+                  to_y: "elm.bubble.groupchat.pad";
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  to_x: "elm.bubble.callerid.pad";
+                  to_y: "elm.bubble.groupchat.pad";
+                  relative: 0.0 1.0;
+               }
+               align: 1.0 0.0;
+               min: ENTRY_BUBBLE_SENT_RIGHTTOP_PAD;
+               fixed: 1 1;
+               visible: 0;
+            }
+         }
+         part {
+            name: "elm.image.bg";
+            type: IMAGE;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_x: "elm.bubble.leftbottom.pad";
+                  to_y: "elm.bubble.lefttop.pad";
+               }
+               rel2 {
+                  to_x: "elm.bubble.righttop.pad";
+                  to_y: "elm.bubble.leftbottom.pad";
+               }
+               image {
+                  normal: "00_messagebubble_bg_sent.png";
+                  border: ENTRY_BUBBLE_SENT_BG_BORDER_INC;
+                  border_scale: 1;
+               }
+            }
+         }
+         part {
+            name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 1;
+            scale: 1;
+            entry_mode: PLAIN;
+            select_mode: BLOCK_HANDLE;
+            //cursor_mode: BEFORE;
+            multiline: 1;
+            source: "elm/entry/selection/default"; // selection under
+            //source2: "X"; // selection over
+            //source3: "X"; // cursor under
+            source5: "elm/entry/anchor/default"; // anchor under
+            source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
+            source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
+            source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
+            source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
+            source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
+            description {
+               state: "default" 0.0;
+               align: 1.0 0.0;
+               min: ENTRY_BUBBLE_TEXT_MIN;
+               rel1 {
+                  to: "elm.bubble.lefttop.pad";
+                  relative: 1.0 1.0;
+               }
+               rel2 {
+                  to: "elm.bubble.righttop.pad";
+                  relative: 0.0 1.0;
+               }
+               text {
+                  style: "entry_bubble_sent_textblock_style";
+                  min: 0 1;
+                  max: 1 0;
+               }
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+              text {
+                 style: "entry_textblock_disabled_style";
               }
-           }
-           description {
-              state: "callerid_on" 0.0;
-           inherit: "default" 0.0;
-           rel2 { relative: 0.0 1.0; to: "elm.rect.bottomright.pad"; }
-           }
-           description {
-              state: "callerid_groupchat" 0.0;
-           inherit: "default" 0.0;
-                  rel1 { relative: 0.0 1.0; to_x:"elm.rect.left.pad"; to_y:"elm.rect.groupchat.pad"; }
-           rel2 { relative: 0.0 1.0; to: "elm.rect.bottomright.pad"; }
-           }
-           description {
-              state: "groupchat_on" 0.0;
-           inherit: "default" 0.0;
-                  rel1 { relative: 0.0 1.0; to_x:"elm.rect.left.pad"; to_y:"elm.rect.groupchat.pad"; }
-           }
-        }
-         // it's temporary blocked for prepare entry's signal feature
-         /*
+            }
+         }
          part {
-           name: "elm.text.subject";
-           type: TEXTBLOCK;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              align: 0.0 0.0;
-              text {
-                 style: "entry_textblock_style";
-                 min: 0 1;
-              }
-              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.top.pad"; }
-              rel2 { relative: 0.0 1.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.top.pad"; }
-           }
+            name: "elm.rect.middle.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "elm.text";
+                  relative: 0.0 1.0;
+               }
+               rel2.to: "elm.text";
+               align: 0.5 0.0;
+               min: 0 0;
+               visible: 0;
+            }
+            description {
+               state: "show" 0.0;
+               inherit: "default" 0.0;
+               min: 0 ENTRY_BUBBLE_MIDDLE_PAD;
+            }
+         }
+         part {
+            name: "elm.swallow.end";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1 {
+                  to: "elm.rect.middle.pad";
+                  relative: 0.0 1.0;
+               }
+               rel2.to: "elm.rect.middle.pad";
+               align: 1.0 0.0;
+            }
+         }
+         part {
+            name: "elm.bubble.leftbottom.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               rel1 {
+                  to: "elm.swallow.end";
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  to: "elm.swallow.end";
+                  relative: 0.0 1.0;
+               }
+               align: 1.0 0.0;
+               min: ENTRY_BUBBLE_SENT_LEFTBOTTOM_PAD;
+               visible: 0;
+               fixed: 1 1;
+            }
+         }
+         part {
+            name: "elm.icon.top.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               align: 0.0 0.0;
+               rel1 {
+                  to: "elm.bubble.leftbottom.pad";
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  to: "elm.bubble.leftbottom.pad";
+                  relative: 0.0 1.0;
+               }
+               min: 0 0;
+               visible: 0;
+            }
+            description {
+               state: "contents_on" 0.0;
+               inherit: "default" 0.0;
+               min: 0 ENTRY_BUBBLE_ICON_TOP_PAD;
+            }
+         }
+         part {
+            name: "elm.swallow.icon1";
+            type: SWALLOW;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to_x: "elm.text";
+                  to_y: "elm.icon.top.pad";
+                  relative: 1.0 1.0;
+               }
+               rel2 {
+                  to_x: "elm.text";
+                  to_y: "elm.icon.top.pad";
+               }
+               min: 0 0;
+               align: 1.0 0.0;
+               visible: 0;
+            }
+            description {
+               state: "contents_on" 0.0;
+               inherit: "default" 0.0;
+               visible: 1;
+            }
          }
-         */
-
          part {
-           name: "elm.rect.subject.line";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              visible: 0;
-              min: 0 1;
-              align: 0.0 0.0;
-              color: 0 0 0 255;
-              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.top.pad"; }
-              rel2 { relative: 0.0 1.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.top.pad"; }
-           }
+            name: "elm.icon.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "elm.swallow.icon1";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "elm.swallow.icon1";
+                  relative: 0.0 1.0;
+               }
+               min: ENTRY_BUBBLE_ICON_PAD 0;
+               align: 1.0 0.5;
+               visible: 0;
+            }
          }
          part {
-            name: "elm.swallow.callerid";
+            name: "elm.swallow.icon2";
             type: SWALLOW;
             scale: 1;
             description {
                state: "default" 0.0;
-               min: ENTRY_BUBBLE_CALLERID_WIDTH ENTRY_BUBBLE_CALLERID_HEIGHT;
-               max: ENTRY_BUBBLE_CALLERID_WIDTH ENTRY_BUBBLE_CALLERID_HEIGHT;
-               align: 1.0 0.0;
+               rel1 {
+                  to: "elm.icon.pad";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "elm.icon.pad";
+                  relative: 0.0 1.0;
+               }
+               min: 0 0;
+               align: 1.0 0.5;
                visible: 0;
-               rel1 { relative: ENTRY_BUBBLE_CALLERID_RELATIVE_INC; to_x: "elm.rect.topright.pad"; to_y: "elm.rect.topright.pad"; }
-               rel2 { relative: ENTRY_BUBBLE_CALLERID_RELATIVE_INC; to_x: "elm.rect.topright.pad"; to_y: "elm.rect.bottom.pad"; }
             }
-            description { state: "callerid_on" 0.0;
+            description {
+               state: "contents_on" 0.0;
                inherit: "default" 0.0;
                visible: 1;
             }
          }
          part {
-            name: "elm.rect.callerid.pad";
+            name: "elm.bottom.pad";
             type: RECT;
             scale: 1;
             description {
-               state: "default" 0.0;
-               min: ENTRY_BUBBLE_CALLERID_PAD ENTRY_BUBBLE_CALLERID_PAD;
-               max: ENTRY_BUBBLE_CALLERID_PAD ENTRY_BUBBLE_CALLERID_PAD;
-               align: 1.0 0.0;
+               rel1 {
+                  to_y: "elm.swallow.icon1";
+                  relative: 0.0 1.0;
+               }
+               min: 0 0;
                visible: 0;
-               rel1 { relative: 0.0 1.0; to_x: "elm.swallow.callerid"; to_y: "elm.rect.topright.pad"; }
-               rel2 { relative: 0.0 1.0; to_x: "elm.swallow.callerid"; to_y: "elm.rect.bottom.pad"; }
-               }
+            }
          }
-        part { name: "elm.text";
-           type: TEXTBLOCK;
-           mouse_events: 1;
-           scale: 1;
-           entry_mode: PLAIN;
-           select_mode: BLOCK_HANDLE;
-           //cursor_mode: BEFORE;
-           multiline: 1;
-           source: "elm/entry/selection/default"; // selection under
-           //source2: "X"; // selection over
-           //source3: "X"; // cursor under
-           source5: "elm/entry/anchor/default"; // anchor under
-           source7: ENTRY_BLOCK_HANDLE_SOURCE7; // start selection handler
-           source8: ENTRY_BLOCK_HANDLE_SOURCE8; // end selection handler
-           source9: ENTRY_CURSOR_HANDLE_SOURCE9; // cursor handler
-           source10: ENTRY_BLOCK_HANDLE_SOURCE10; // start edge selection
-           source11: ENTRY_BLOCK_HANDLE_SOURCE11; // end edge selection
-           description {
-           state: "default" 0.0;
-           fixed: 1 0;
-                  min: 200 0;
-           align: 1.0 0.0;
-           rel1 { relative: 0.0 1.0; to_y: "elm.rect.subject.line"; }
-           rel2 { relative: 0.0 1.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.subject.line"; }
-              text {
-                     style: "entry_bubble_sent_textblock_style";
-                     min: 0 1;
-              max: 1 0;
-              }
-           }
-               /* callerid only */
-           description { state: "callerid_on" 0.0;
-               inherit: "default" 0.0;
-               rel1 { relative: 0.0 1.0; to_y: "elm.rect.subject.line";}
-               rel2 { relative: 0.0 1.0; to_x: ENTRY_BUBBLE_TEXT_CALLID_REL2_X_INC; to_y: "elm.rect.subject.line"; }
-           }
-               /* callerid and groupchat */
-           description { state: "callerid_groupchat" 0.0;
-               inherit: "default" 0.0;
-               rel1 { relative: 0.0 1.0; to_y: ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC; }
-               rel2 { relative: 0.0 1.0; to_x: ENTRY_BUBBLE_TEXT_CALLID_REL2_X_INC; to_y: ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC; }
-           }
-               /* groupchat only */
-           description { state: "groupchat_on" 0.0;
-               inherit: "default" 0.0;
-               rel1 { relative: 0.0 1.0; to_y: ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC; }
-               rel2 { relative: 0.0 1.0; to_x: "elm.rect.right.pad"; to_y: ENTRY_BUBBLE_TEXT_CALLID_REL2_Y_INC; }
-           }
-           description { state: "disabled" 0.0;
-               inherit: "default" 0.0;
-              text {
-                 style: "entry_textblock_disabled_style";
-              }
-           }
-        }
-         part {
-            name: "elm.rect.status.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-               min: ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC 64;
-              fixed: 1 1;
-              align: 1.0 1.0;
-               visible: 0;
-                          color: 255 0 0 255;
-              rel1 { relative: ENTRY_BUBBLE_STATUS_TIME_PAD_REL_INC; to_x: "elm.rect.left.pad"; to_y: "elm.rect.bottom.pad"; }
-              rel2 { relative: ENTRY_BUBBLE_STATUS_TIME_PAD_REL_INC; to_x: "elm.rect.left.pad"; to_y: "elm.rect.bottom.pad"; }
-           }
-        }
          part {
-            name: "elm.rect.time.pad";
-           type: RECT;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-               min: ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC GENLIST_PADDING_34_INC;
-               max: ENTRY_BUBBLE_STATUS_TIME_PAD_MIN_H_INC GENLIST_PADDING_34_INC;
-              fixed: 1 1;
-              align: 0.0 0.0;
+            name: "elm.status.pad";
+            type: RECT;
+            scale: 1;
+            description {
+               state: "default" 0.0;
+               rel1 {
+                  to: "elm.bubble.leftbottom.pad";
+                  relative: 0.0 1.0;
+               }
+               rel2 {
+                  to: "elm.bubble.leftbottom.pad";
+                  relative: 0.0 1.0;
+               };
+               min: ENTRY_BUBBLE_STATUS_TEXT_ICON_PAD;
+               align: 1.0 1.0;
+               fixed: 1 1;
                visible: 0;
-                          color: 0 255 0 255;
-              rel1.to: "elm.rect.status.pad";
-              rel2 { relative: 0.0 1.0; to_x: "elm.rect.status.pad"; to_y: "elm.rect.bottom.pad"; }
-           }
-        }
-         part { name: "elm.text.status";
+            }
+         }
+         part { name: "elm.text.time";
             type: TEXT;
             scale: 1;
             description { state: "default" 0.0;
-               align: 1.0 1.0;
-               fixed: 1 1;
                text {
                   font: "Tizen:style=Roman";
-                  size: ENTRY_BUBBLE_STATUS_TIME_SIZE_INC;
-                  min: 1 0;
+                  size: ENTRY_BUBBLE_STATUS_TIME_TEXT_SIZE_INC;
+                  min: 1 1;
                   text_class: "tizen";
+                  align: 1.0 1.0;
                }
-               visible: 1;
-               color: ENTRY_BUBBLE_SENT_STATUS_TIME_COLOR_INC;
-               rel1 { relative: 0.0 0.0; to_x: "elm.rect.status.pad"; to_y: "elm.rect.status.pad"; }
-               rel2 { relative: 0.0 0.0; to_x: "elm.rect.status.pad"; to_y: "elm.rect.status.pad"; }
+               color: ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC;
+               rel1.to: "elm.status.pad";
+               rel2 {
+                  to: "elm.status.pad";
+                  relative: 0.0 0.0;
+               }
+               align: 1.0 1.0;
+               min: ENTRY_BUBBLE_STATUS_TIME_SIZE;
+               fixed: 1 1;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
                visible: 0;
             }
          }
-         part { name: "elm.text.time";
+         part { name: "elm.text.status";
             type: TEXT;
             scale: 1;
             description { state: "default" 0.0;
-               align: 1.0 0.0;
-               fixed: 1 1;
                text {
                   font: "Tizen:style=Roman";
-                  size: ENTRY_BUBBLE_STATUS_TIME_SIZE_INC;
-                  min: 1 0;
+                  size: ENTRY_BUBBLE_STATUS_TIME_TEXT_SIZE_INC;
+                  min: 0 1;
                   text_class: "tizen";
+                  align: 1.0 1.0;
                }
-               visible: 1;
-               color: ENTRY_BUBBLE_SENT_STATUS_TIME_COLOR_INC;
-               rel1 { relative: 0.0 1.0; to_x: "elm.rect.status.pad"; to_y: "elm.rect.time.pad"; }
-               rel2 { relative: 0.0 1.0; to_x: "elm.rect.status.pad"; to_y: "elm.rect.time.pad"; }
+               color: ENTRY_BUBBLE_READ_STATUS_TIME_COLOR_INC;
+               rel1.to: "elm.text.time";
+               rel2 {
+                  to: "elm.text.time";
+                  relative: 1.0 0.0;
+               }
+               align: 1.0 1.0;
+               min: ENTRY_BUBBLE_STATUS_TIME_SIZE;
+               fixed: 1 1;
             }
             description { state: "disabled" 0.0;
                inherit: "default" 0.0;
@@ -4143,192 +4348,131 @@ styles {
             }
          }
          part {
-            name: "elm.swallow.icon1";
-           type: SWALLOW;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-               min: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-               max: GENLIST_PADDING_64_INC GENLIST_PADDING_64_INC;
-              fixed: 1 1;
-              align: 1.0 1.0;
-               visible: 0;
-              rel1 { relative: -0.8 0.3; to_x: "elm.rect.left.pad"; to_y: "elm.rect.bottom.pad"; }
-              rel2 { relative: -0.8 0.3; to_x: "elm.rect.left.pad"; to_y: "elm.rect.bottom.pad"; }
-           }
-            description { state: "enabled" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-        }
-         part {
-            name: "elm.rect.middle.pad";
-            type: RECT;
+            name: "elm.swallow.status";
+            type: SWALLOW;
             scale: 1;
             description {
                state: "default" 0.0;
-               min: 0 0;
-               max: 0 0;
-               align: 0.0 0.0;
-               color: 0 0 0 0;
-               rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.text"; }
+               rel1.to: "elm.status.pad";
+               rel2 {
+                  to: "elm.status.pad";
+                  relative: 0.0 0.0;
+               }
+               align: 1.0 1.0;
+               fixed: 1 1;
+               visible: 0;
             }
-            description {
-               state: "show" 0.0;
+            description { state: "enabled" 0.0;
                inherit: "default" 0.0;
-               min: 0 ENTRY_BUBBLE_MIDDLE_PAD;
-               max: 0 ENTRY_BUBBLE_MIDDLE_PAD;
+               visible: 1;
             }
          }
-         part {
-           name: "elm.swallow.end";
-           type: SWALLOW;
-           scale: 1;
-           description {
-              state: "default" 0.0;
-              align: 0.0 0.0;
-              rel1 { relative: 1.0 1.0; to_x: "elm.rect.left.pad"; to_y: "elm.rect.middle.pad"; }
-              rel2 { relative: 0.0 0.0; to_x: "elm.rect.right.pad"; to_y: "elm.rect.bottom.pad"; }
-           }
-         }
       }
       programs {
-        program { name: "focus";
+         program { name: "focus";
             signal: "load";
-           source: "";
-           action: FOCUS_SET;
-           target: "elm.text";
-        }
-        program { name: "disable";
-           signal: "elm,state,disabled";
-           source: "elm";
-           action: STATE_SET "disabled" 0.0;
-           target: "elm.text";
-        }
-        program { name: "enable";
-           signal: "elm,state,enabled";
-           source: "elm";
-           action: STATE_SET "default" 0.0;
-           target: "elm.text";
-        }
-        program { name: "go_callerid_on";
-           signal: "elm,state,callerid,enabled";
-           source: "elm";
-         script {
-            new st[31];
-            new Float:vl;
-            get_state(PART:"elm.text", st, 30, vl);
-            if (!strcmp(st, "default")) {
-              set_state(PART:"elm.image.bg", "callerid_on", 0.0);
-              set_state(PART:"elm.text", "callerid_on", 0.0);
-                       }
-            else if (!strcmp(st, "groupchat_on")) {
-              set_state(PART:"elm.image.bg", "callerid_groupchat", 0.0);
-              set_state(PART:"elm.text", "callerid_groupchat", 0.0);
-                       }
-
-            set_state(PART:"elm.swallow.callerid", "callerid_on", 0.0);
-            set_state(PART:"elm.rect.right.pad", "callerid_on", 0.0);
-            set_state(PART:"elm.rect.groupchat.pad", "callerid_on", 0.0);
+            source: "";
+            action: FOCUS_SET;
+            target: "elm.text";
          }
-        }
-        program { name: "go_callerid_off";
-           signal: "elm,state,callerid,disabled";
-           source: "elm";
-         script {
-            new st[31];
-            new Float:vl;
-            get_state(PART:"elm.text", st, 30, vl);
-            if (!strcmp(st, "callerid_groupchat")) {
-              set_state(PART:"elm.image.bg", "groupchat_on", 0.0);
-              set_state(PART:"elm.text", "groupchat_on", 0.0);
-                       }
-            else {
-              set_state(PART:"elm.image.bg", "default", 0.0);
-              set_state(PART:"elm.text", "default", 0.0);
-                       }
-
-            set_state(PART:"elm.swallow.callerid", "default", 0.0);
-            set_state(PART:"elm.rect.groupchat.pad", "default", 0.0);
-                }
-        }
-/* groupchat - since white-hd theme */
-#if ENTRY_BUBBLE_GROUPCHART_ENABLE_INC
-        program { name: "go_groupchat_on";
-           signal: "elm,state,groupchat,enabled";
-           source: "elm";
-         script {
-            new st[31];
-            new Float:vl;
-            get_state(PART:"elm.text", st, 30, vl);
-            if (!strcmp(st, "default")) {
-              set_state(PART:"elm.image.bg", "groupchat_on", 0.0);
-              set_state(PART:"elm.text", "groupchat_on", 0.0);
-                       }
-            else if (!strcmp(st, "callerid_on")) {
-              set_state(PART:"elm.image.bg", "callerid_groupchat", 0.0);
-              set_state(PART:"elm.text", "callerid_groupchat", 0.0);
-                       }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "elm.text";
          }
-        }
-#endif
-        program { name: "go_groupchat_off";
-           signal: "elm,state,groupchat,disabled";
-           source: "elm";
-         script {
-            new st[31];
-            new Float:vl;
-            get_state(PART:"elm.text", st, 30, vl);
-            if (!strcmp(st, "callerid_groupchat")) {
-              set_state(PART:"elm.image.bg", "callerid_on", 0.0);
-              set_state(PART:"elm.text", "callerid_on", 0.0);
-                       }
-            else {
-              set_state(PART:"elm.image.bg", "default", 0.0);
-              set_state(PART:"elm.text", "default", 0.0);
-                       }
-                }
-        }
-        program { name: "go_textstatus_on";
-           signal: "elm,state,text,status,enabled";
-           source: "elm";
-           action: STATE_SET "default" 0.0;
-           target: "elm.text.time";
-           target: "elm.text.status";
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+         program { name: "go_callerid_on";
+            signal: "elm,state,callerid,enabled";
+            source: "elm";
+            action: STATE_SET "callerid_on" 0.0;
+            target: "elm.bubble.callerid.pad";
+            target: "elm.swallow.callerid";
+            target: "elm.callerid.bottom.pad";
+         }
+         program { name: "go_callerid_off";
+            signal: "elm,state,callerid,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.bubble.callerid.pad";
+            target: "elm.swallow.callerid";
+            target: "elm.callerid.bottom.pad";
+         }
+         program { name: "go_groupchat_on";
+            signal: "elm,state,groupchat,enabled";
+            source: "elm";
+            action: STATE_SET "groupchat_on" 0.0;
+            target: "elm.bubble.groupchat.pad";
+            target: "elm.text.groupchat";
+         }
+         program { name: "go_groupchat_off";
+            signal: "elm,state,groupchat,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.bubble.groupchat.pad";
+            target: "elm.text.groupchat";
+         }
+         program { name: "go_textstatus_on";
+            signal: "elm,state,text,status,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text.time";
+            target: "elm.text.status";
             after: "go_contentstatus_off";
-        }
-        program { name: "go_textstatus_off";
-           signal: "elm,state,text,status,disbled";
-           source: "elm";
-           action: STATE_SET "disabled" 0.0;
-           target: "elm.text.time";
-           target: "elm.text.status";
-        }
-        program { name: "go_contentstatus_on";
-           signal: "elm,state,content,status,enabled";
-           source: "elm";
-           action: STATE_SET "enabled" 0.0;
-           target: "elm.swallow.icon1";
+         }
+         program { name: "go_textstatus_off";
+            signal: "elm,state,text,status,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "elm.text.time";
+            target: "elm.text.status";
+         }
+         program { name: "go_contentstatus_on";
+            signal: "elm,state,content,status,enabled";
+            source: "elm";
+            action: STATE_SET "enabled" 0.0;
+            target: "elm.swallow.status";
             after: "go_textstatus_off";
-        }
-        program { name: "go_contentstatus_off";
-           signal: "elm,state,content,status,disabled";
-           source: "elm";
-           action: STATE_SET "default" 0.0;
-           target: "elm.swallow.icon1";
-        }
-        program { name: "show_middle_pad";
-           signal: "elm,state,middle,pad,enabled";
-           source: "elm";
-           action: STATE_SET "show" 0.0;
-           target: "elm.rect.middle.pad";
-        }
-        program { name: "hide_middle_pad";
-           signal: "elm,state,middle,pad,disabled";
-           source: "elm";
-           action: STATE_SET "default" 0.0;
-           target: "elm.rect.middle.pad";
-        }
+         }
+         program { name: "go_contentstatus_off";
+            signal: "elm,state,content,status,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.swallow.status";
+         }
+         program { name: "show_middle_pad";
+            signal: "elm,state,middle,pad,enabled";
+            source: "elm";
+            action: STATE_SET "show" 0.0;
+            target: "elm.rect.middle.pad";
+         }
+         program { name: "hide_middle_pad";
+            signal: "elm,state,middle,pad,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.rect.middle.pad";
+         }
+         program { name: "go_contents_on";
+            signal: "elm,state,contents,enabled";
+            source: "elm";
+            action: STATE_SET "contents_on" 0.0;
+            target: "elm.icon.top.pad";
+            target: "elm.swallow.icon1";
+            target: "elm.swallow.icon2";
+         }
+         program { name: "go_contents_off";
+            signal: "elm,state,contents,disabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.icon.top.pad";
+            target: "elm.swallow.icon1";
+            target: "elm.swallow.icon2";
+         }
       }
    }