summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorCarsten Haitzler <raster@rasterman.com>2012-04-20 12:51:10 +0000
committerCarsten Haitzler <raster@rasterman.com>2012-04-20 12:51:10 +0000
commit54c3814f36053ea6574e203ac04a9c771ad6f739 (patch)
tree55fd344d8223347b6b032b7a7f7510333dacb41f /src/lib
parent1d6072b8df4fe8ef8860592071299795475752e9 (diff)
use the new escape text set to clear up issues if theme has TEXT vs
TEXTBLOCK items and handling escapes so text is consistend across elm. fiuxes the fileselector issues kai reported. SVN revision: 70362
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/elc_fileselector.c59
-rw-r--r--src/lib/elc_fileselector_entry.c23
-rw-r--r--src/lib/elc_multibuttonentry.c8
-rw-r--r--src/lib/elc_popup.c6
-rw-r--r--src/lib/elm_actionslider.c26
-rw-r--r--src/lib/elm_bubble.c12
-rw-r--r--src/lib/elm_button.c4
-rw-r--r--src/lib/elm_calendar.c10
-rw-r--r--src/lib/elm_check.c12
-rw-r--r--src/lib/elm_datetime.c4
-rw-r--r--src/lib/elm_diskselector.c22
-rw-r--r--src/lib/elm_flipselector.c10
-rw-r--r--src/lib/elm_frame.c4
-rw-r--r--src/lib/elm_gengrid.c2
-rw-r--r--src/lib/elm_genlist.c2
-rw-r--r--src/lib/elm_index.c6
-rw-r--r--src/lib/elm_layout.c6
-rw-r--r--src/lib/elm_list.c4
-rw-r--r--src/lib/elm_map.c4
-rw-r--r--src/lib/elm_progressbar.c8
-rw-r--r--src/lib/elm_radio.c4
-rw-r--r--src/lib/elm_segment_control.c6
-rw-r--r--src/lib/elm_slider.c20
-rw-r--r--src/lib/elm_spinner.c2
-rw-r--r--src/lib/elm_toolbar.c8
-rw-r--r--src/lib/elm_video.c2
-rw-r--r--src/lib/elm_win.c4
-rw-r--r--src/lib/elu_ews_wm.c6
28 files changed, 168 insertions, 116 deletions
diff --git a/src/lib/elc_fileselector.c b/src/lib/elc_fileselector.c
index 565ddea4d..148c73d60 100644
--- a/src/lib/elc_fileselector.c
+++ b/src/lib/elc_fileselector.c
@@ -247,9 +247,9 @@ _itc_text_get(void *data,
247 Evas_Object *obj __UNUSED__, 247 Evas_Object *obj __UNUSED__,
248 const char *source __UNUSED__) 248 const char *source __UNUSED__)
249{ 249{
250 return strdup(ecore_file_file_get(data)); /* NOTE this will be 250 return elm_entry_utf8_to_markup(ecore_file_file_get(data)); /* NOTE this will be
251 * free() by the 251 * free() by the
252 * caller */ 252 * caller */
253} 253}
254 254
255static Evas_Object * 255static Evas_Object *
@@ -388,6 +388,8 @@ _sel_do(void *data)
388 } 388 }
389 else /* navigating through folders only or file is not a dir. */ 389 else /* navigating through folders only or file is not a dir. */
390 { 390 {
391 char *s;
392
391 if (wd->expand && wd->mode == ELM_FILESELECTOR_LIST) 393 if (wd->expand && wd->mode == ELM_FILESELECTOR_LIST)
392 _do_anchors(sd->fs, path); 394 _do_anchors(sd->fs, path);
393 else if (wd->only_folder) 395 else if (wd->only_folder)
@@ -397,8 +399,14 @@ _sel_do(void *data)
397 _populate(sd->fs, p, NULL); 399 _populate(sd->fs, p, NULL);
398 eina_stringshare_del(p); 400 eina_stringshare_del(p);
399 } 401 }
400 elm_object_text_set(wd->filename_entry, 402 s = elm_entry_utf8_to_markup(ecore_file_file_get(path));
401 ecore_file_file_get(path)); 403 if (s)
404 {
405 elm_object_text_set(wd->filename_entry, s);
406 free(s);
407 }
408 else
409 elm_object_text_set(wd->filename_entry, "");
402 } 410 }
403 411
404 evas_object_smart_callback_call(sd->fs, SIG_SELECTED, (void *)path); 412 evas_object_smart_callback_call(sd->fs, SIG_SELECTED, (void *)path);
@@ -519,11 +527,15 @@ _do_anchors(Evas_Object *obj,
519 const char *path) 527 const char *path)
520{ 528{
521 Widget_Data *wd = elm_widget_data_get(obj); 529 Widget_Data *wd = elm_widget_data_get(obj);
522 char **tok, buf[PATH_MAX * 3]; 530 char **tok, buf[PATH_MAX * 3], *s;
523 int i, j; 531 int i, j;
532
524 if (!wd) return; 533 if (!wd) return;
534 s = elm_entry_utf8_to_markup(path);
535 if (!s) return;
525 buf[0] = '\0'; 536 buf[0] = '\0';
526 tok = eina_str_split(path, "/", 0); 537 tok = eina_str_split(s, "/", 0);
538 free(s);
527 eina_strlcat(buf, "<a href=/>root</a>", sizeof(buf)); 539 eina_strlcat(buf, "<a href=/>root</a>", sizeof(buf));
528 for (i = 0; tok[i]; i++) 540 for (i = 0; tok[i]; i++)
529 { 541 {
@@ -1144,16 +1156,31 @@ elm_fileselector_selected_get(const Evas_Object *obj)
1144 Widget_Data *wd = elm_widget_data_get(obj); 1156 Widget_Data *wd = elm_widget_data_get(obj);
1145 if (!wd) return NULL; 1157 if (!wd) return NULL;
1146 1158
1159 if (!wd->path) return NULL;
1160
1147 if (wd->filename_entry) 1161 if (wd->filename_entry)
1148 { 1162 {
1149 const char *name; 1163 const char *name;
1150 char buf[PATH_MAX]; 1164 char buf[PATH_MAX];
1151 char *dir; 1165 char *dir, *s;
1152 1166
1153 dir = wd->only_folder ? ecore_file_dir_get(wd->path) : strdup(wd->path); 1167 dir = wd->only_folder ? ecore_file_dir_get(wd->path) : strdup(wd->path);
1154 name = elm_object_text_get(wd->filename_entry); 1168 name = elm_object_text_get(wd->filename_entry);
1155 snprintf(buf, sizeof(buf), "%s/%s", 1169 if (name)
1156 dir, name); 1170 {
1171 s = elm_entry_markup_to_utf8(name);
1172 if (s)
1173 {
1174 snprintf(buf, sizeof(buf), "%s/%s", dir, s);
1175 free(s);
1176 }
1177 else
1178 snprintf(buf, sizeof(buf), "%s", dir);
1179 }
1180 else
1181 {
1182 snprintf(buf, sizeof(buf), "%s", dir);
1183 }
1157 if (wd->only_folder && !ecore_file_is_dir(buf)) 1184 if (wd->only_folder && !ecore_file_is_dir(buf))
1158 eina_stringshare_replace(&wd->selection, ecore_file_dir_get(buf)); 1185 eina_stringshare_replace(&wd->selection, ecore_file_dir_get(buf));
1159 else 1186 else
@@ -1201,8 +1228,16 @@ elm_fileselector_selected_set(Evas_Object *obj,
1201 _populate(obj, ecore_file_dir_get(path), NULL); 1228 _populate(obj, ecore_file_dir_get(path), NULL);
1202 if (wd->filename_entry) 1229 if (wd->filename_entry)
1203 { 1230 {
1204 elm_object_text_set(wd->filename_entry, 1231 char *s;
1205 ecore_file_file_get(path)); 1232
1233 s = elm_entry_utf8_to_markup(ecore_file_file_get(path));
1234 if (s)
1235 {
1236 elm_object_text_set(wd->filename_entry, s);
1237 free(s);
1238 }
1239 else
1240 elm_object_text_set(wd->filename_entry, "");
1206 eina_stringshare_replace(&wd->selection, path); 1241 eina_stringshare_replace(&wd->selection, path);
1207 } 1242 }
1208 } 1243 }
diff --git a/src/lib/elc_fileselector_entry.c b/src/lib/elc_fileselector_entry.c
index 8fbfce09b..7c78e2aea 100644
--- a/src/lib/elc_fileselector_entry.c
+++ b/src/lib/elc_fileselector_entry.c
@@ -8,6 +8,7 @@ struct _Widget_Data
8 Evas_Object *edje; 8 Evas_Object *edje;
9 Evas_Object *button; 9 Evas_Object *button;
10 Evas_Object *entry; 10 Evas_Object *entry;
11 char *path;
11}; 12};
12 13
13static const char *widtype = NULL; 14static const char *widtype = NULL;
@@ -71,7 +72,12 @@ _FILE_CHOSEN_fwd(void *data, Evas_Object *obj __UNUSED__, void *event_info)
71{ 72{
72 Widget_Data *wd = elm_widget_data_get(data); 73 Widget_Data *wd = elm_widget_data_get(data);
73 const char *file = event_info; 74 const char *file = event_info;
74 elm_object_text_set(wd->entry, file); 75 char *s;
76
77 s = elm_entry_utf8_to_markup(file);
78 if (!s) return;
79 elm_object_text_set(wd->entry, s);
80 free(s);
75 evas_object_smart_callback_call(data, SIG_FILE_CHOSEN, event_info); 81 evas_object_smart_callback_call(data, SIG_FILE_CHOSEN, event_info);
76} 82}
77 83
@@ -99,6 +105,7 @@ static void
99_del_hook(Evas_Object *obj) 105_del_hook(Evas_Object *obj)
100{ 106{
101 Widget_Data *wd = elm_widget_data_get(obj); 107 Widget_Data *wd = elm_widget_data_get(obj);
108 if (wd->path) free(wd->path);
102 free(wd); 109 free(wd);
103} 110}
104 111
@@ -404,9 +411,16 @@ elm_fileselector_entry_path_set(Evas_Object *obj, const char *path)
404{ 411{
405 ELM_CHECK_WIDTYPE(obj, widtype); 412 ELM_CHECK_WIDTYPE(obj, widtype);
406 Widget_Data *wd = elm_widget_data_get(obj); 413 Widget_Data *wd = elm_widget_data_get(obj);
414 char *s;
415
407 if (!wd) return; 416 if (!wd) return;
408 elm_fileselector_button_path_set(wd->button, path); 417 elm_fileselector_button_path_set(wd->button, path);
409 elm_object_text_set(wd->entry, path); 418 s = elm_entry_utf8_to_markup(path);
419 if (s)
420 {
421 elm_object_text_set(wd->entry, s);
422 free(s);
423 }
410} 424}
411 425
412EAPI const char * 426EAPI const char *
@@ -414,8 +428,11 @@ elm_fileselector_entry_path_get(const Evas_Object *obj)
414{ 428{
415 ELM_CHECK_WIDTYPE(obj, widtype) NULL; 429 ELM_CHECK_WIDTYPE(obj, widtype) NULL;
416 Widget_Data *wd = elm_widget_data_get(obj); 430 Widget_Data *wd = elm_widget_data_get(obj);
431
417 if (!wd) return NULL; 432 if (!wd) return NULL;
418 return elm_object_text_get(wd->entry); 433 if (wd->path) free(wd->path);
434 wd->path = elm_entry_markup_to_utf8(elm_object_text_get(wd->entry));
435 return wd->path;
419} 436}
420 437
421EAPI void 438EAPI void
diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c
index ab34839a6..c9ab83c6c 100644
--- a/src/lib/elc_multibuttonentry.c
+++ b/src/lib/elc_multibuttonentry.c
@@ -590,7 +590,7 @@ _set_label(Evas_Object *obj, const char *str)
590 Evas_Coord width, height, sum_width = 0; 590 Evas_Coord width, height, sum_width = 0;
591 evas_object_size_hint_min_set(wd->label, 0, 0); 591 evas_object_size_hint_min_set(wd->label, 0, 0);
592 evas_object_resize(wd->label, 0, 0); 592 evas_object_resize(wd->label, 0, 0);
593 edje_object_part_text_set(wd->label, "mbe.label", str); 593 edje_object_part_text_escaped_set(wd->label, "mbe.label", str);
594 594
595 if (!strcmp(str, "")) 595 if (!strcmp(str, ""))
596 { 596 {
@@ -636,7 +636,7 @@ _set_guidetext(Evas_Object *obj, const char *str)
636 evas_object_size_hint_weight_set(wd->guidetext, 0.0, EVAS_HINT_EXPAND); 636 evas_object_size_hint_weight_set(wd->guidetext, 0.0, EVAS_HINT_EXPAND);
637 evas_object_size_hint_align_set(wd->guidetext, EVAS_HINT_FILL, 637 evas_object_size_hint_align_set(wd->guidetext, EVAS_HINT_FILL,
638 EVAS_HINT_FILL); 638 EVAS_HINT_FILL);
639 edje_object_part_text_set(wd->guidetext, "elm.text", str); 639 edje_object_part_text_escaped_set(wd->guidetext, "elm.text", str);
640 _view_update(obj); 640 _view_update(obj);
641 } 641 }
642} 642}
@@ -848,7 +848,7 @@ _add_button_item(Evas_Object *obj, const char *str, Multibuttonentry_Pos pos, co
848 elm_object_text_set(wd->entry, ""); 848 elm_object_text_set(wd->entry, "");
849 849
850 _elm_theme_object_set(obj, btn, "multibuttonentry", "btn", elm_widget_style_get(obj)); 850 _elm_theme_object_set(obj, btn, "multibuttonentry", "btn", elm_widget_style_get(obj));
851 edje_object_part_text_set(btn, "elm.btn.text", str_utf8); 851 edje_object_part_text_escaped_set(btn, "elm.btn.text", str_utf8);
852 edje_object_part_geometry_get(btn, "elm.btn.text", NULL, NULL, &width, &height); 852 edje_object_part_geometry_get(btn, "elm.btn.text", NULL, NULL, &width, &height);
853 853
854 evas_object_size_hint_min_set(btn, width, height); 854 evas_object_size_hint_min_set(btn, width, height);
@@ -1383,7 +1383,7 @@ _item_text_set_hook(Elm_Object_Item *it, const char *part, const char *label)
1383 if (part && strcmp(part, "default")) return; 1383 if (part && strcmp(part, "default")) return;
1384 if (!label) return; 1384 if (!label) return;
1385 item = (Elm_Multibuttonentry_Item *)it; 1385 item = (Elm_Multibuttonentry_Item *)it;
1386 edje_object_part_text_set(item->button, "elm.btn.text", label); 1386 edje_object_part_text_escaped_set(item->button, "elm.btn.text", label);
1387 _resize_button(item->button, &item->rw, &item->vw); 1387 _resize_button(item->button, &item->rw, &item->vw);
1388} 1388}
1389 1389
diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
index fd5c8b0ba..1013f4946 100644
--- a/src/lib/elc_popup.c
+++ b/src/lib/elc_popup.c
@@ -206,8 +206,8 @@ _theme_hook(Evas_Object *obj)
206 "item", elm_widget_style_get(obj)); 206 "item", elm_widget_style_get(obj));
207 if (item->label) 207 if (item->label)
208 { 208 {
209 edje_object_part_text_set(VIEW(item), "elm.text", 209 edje_object_part_text_escaped_set(VIEW(item), "elm.text",
210 item->label); 210 item->label);
211 edje_object_signal_emit(VIEW(item), 211 edje_object_signal_emit(VIEW(item),
212 "elm,state,item,text,visible", "elm"); 212 "elm,state,item,text,visible", "elm");
213 } 213 }
@@ -1048,7 +1048,7 @@ static void
1048_item_text_set(Elm_Popup_Content_Item *item, const char *label) 1048_item_text_set(Elm_Popup_Content_Item *item, const char *label)
1049{ 1049{
1050 if (!eina_stringshare_replace(&item->label, label)) return; 1050 if (!eina_stringshare_replace(&item->label, label)) return;
1051 edje_object_part_text_set(VIEW(item), "elm.text", label); 1051 edje_object_part_text_escaped_set(VIEW(item), "elm.text", label);
1052 if (item->label) 1052 if (item->label)
1053 edje_object_signal_emit(VIEW(item), 1053 edje_object_signal_emit(VIEW(item),
1054 "elm,state,item,text,visible", "elm"); 1054 "elm,state,item,text,visible", "elm");
diff --git a/src/lib/elm_actionslider.c b/src/lib/elm_actionslider.c
index 49cdda1e0..ec3087b1e 100644
--- a/src/lib/elm_actionslider.c
+++ b/src/lib/elm_actionslider.c
@@ -79,13 +79,13 @@ _mirrored_set(Evas_Object *obj, Eina_Bool rtl)
79 edje_object_mirrored_set(wd->as, rtl); 79 edje_object_mirrored_set(wd->as, rtl);
80 if (!elm_widget_mirrored_get(obj)) 80 if (!elm_widget_mirrored_get(obj))
81 { 81 {
82 edje_object_part_text_set(wd->as, "elm.text.left", wd->text_left); 82 edje_object_part_text_escaped_set(wd->as, "elm.text.left", wd->text_left);
83 edje_object_part_text_set(wd->as, "elm.text.right", wd->text_right); 83 edje_object_part_text_escaped_set(wd->as, "elm.text.right", wd->text_right);
84 } 84 }
85 else 85 else
86 { 86 {
87 edje_object_part_text_set(wd->as, "elm.text.left", wd->text_right); 87 edje_object_part_text_escaped_set(wd->as, "elm.text.left", wd->text_right);
88 edje_object_part_text_set(wd->as, "elm.text.right", wd->text_left); 88 edje_object_part_text_escaped_set(wd->as, "elm.text.right", wd->text_left);
89 } 89 }
90 edje_object_part_drag_value_get(wd->as, "elm.drag_button_base", &pos, NULL); 90 edje_object_part_drag_value_get(wd->as, "elm.drag_button_base", &pos, NULL);
91 edje_object_part_drag_value_set(wd->as, "elm.drag_button_base", 1.0 - pos, 0.5); 91 edje_object_part_drag_value_set(wd->as, "elm.drag_button_base", 1.0 - pos, 0.5);
@@ -126,8 +126,8 @@ _theme_hook(Evas_Object *obj)
126 edje_object_part_swallow(wd->as, "elm.drag_button_base", wd->drag_button_base); 126 edje_object_part_swallow(wd->as, "elm.drag_button_base", wd->drag_button_base);
127 127
128 _mirrored_set(obj, elm_widget_mirrored_get(obj)); 128 _mirrored_set(obj, elm_widget_mirrored_get(obj));
129 edje_object_part_text_set(wd->as, "elm.text.center", wd->text_center); 129 edje_object_part_text_escaped_set(wd->as, "elm.text.center", wd->text_center);
130 edje_object_part_text_set(wd->as, "elm.text.indicator", wd->indicator_label); 130 edje_object_part_text_escaped_set(wd->as, "elm.text.indicator", wd->indicator_label);
131 edje_object_message_signal_process(wd->as); 131 edje_object_message_signal_process(wd->as);
132 _sizing_eval(obj); 132 _sizing_eval(obj);
133} 133}
@@ -326,29 +326,29 @@ _elm_actionslider_label_set(Evas_Object *obj, const char *item, const char *labe
326 if (!item || !strcmp(item, "indicator")) 326 if (!item || !strcmp(item, "indicator"))
327 { 327 {
328 eina_stringshare_replace(&wd->indicator_label, label); 328 eina_stringshare_replace(&wd->indicator_label, label);
329 edje_object_part_text_set(wd->as, "elm.text.indicator", 329 edje_object_part_text_escaped_set(wd->as, "elm.text.indicator",
330 wd->indicator_label); 330 wd->indicator_label);
331 } 331 }
332 else if (!strcmp(item, "left")) 332 else if (!strcmp(item, "left"))
333 { 333 {
334 eina_stringshare_replace(&wd->text_left, label); 334 eina_stringshare_replace(&wd->text_left, label);
335 if (!elm_widget_mirrored_get(obj)) 335 if (!elm_widget_mirrored_get(obj))
336 edje_object_part_text_set(wd->as, "elm.text.left", wd->text_left); 336 edje_object_part_text_escaped_set(wd->as, "elm.text.left", wd->text_left);
337 else 337 else
338 edje_object_part_text_set(wd->as, "elm.text.right", wd->text_left); 338 edje_object_part_text_escaped_set(wd->as, "elm.text.right", wd->text_left);
339 } 339 }
340 else if (!strcmp(item, "center")) 340 else if (!strcmp(item, "center"))
341 { 341 {
342 eina_stringshare_replace(&wd->text_center, label); 342 eina_stringshare_replace(&wd->text_center, label);
343 edje_object_part_text_set(wd->as, "elm.text.center", wd->text_center); 343 edje_object_part_text_escaped_set(wd->as, "elm.text.center", wd->text_center);
344 } 344 }
345 else if (!strcmp(item, "right")) 345 else if (!strcmp(item, "right"))
346 { 346 {
347 eina_stringshare_replace(&wd->text_right, label); 347 eina_stringshare_replace(&wd->text_right, label);
348 if (!elm_widget_mirrored_get(obj)) 348 if (!elm_widget_mirrored_get(obj))
349 edje_object_part_text_set(wd->as, "elm.text.right", wd->text_right); 349 edje_object_part_text_escaped_set(wd->as, "elm.text.right", wd->text_right);
350 else 350 else
351 edje_object_part_text_set(wd->as, "elm.text.left", wd->text_right); 351 edje_object_part_text_escaped_set(wd->as, "elm.text.left", wd->text_right);
352 } 352 }
353} 353}
354 354
diff --git a/src/lib/elm_bubble.c b/src/lib/elm_bubble.c
index 3094c44d9..0f3557876 100644
--- a/src/lib/elm_bubble.c
+++ b/src/lib/elm_bubble.c
@@ -66,10 +66,10 @@ _theme_hook(Evas_Object *obj)
66 _mirrored_set(obj, elm_widget_mirrored_get(obj)); 66 _mirrored_set(obj, elm_widget_mirrored_get(obj));
67 _elm_theme_object_set(obj, wd->bbl, "bubble", corner_string[wd->pos], 67 _elm_theme_object_set(obj, wd->bbl, "bubble", corner_string[wd->pos],
68 elm_widget_style_get(obj)); 68 elm_widget_style_get(obj));
69 edje_object_part_text_set(wd->bbl, "elm.text", wd->label); 69 edje_object_part_text_escaped_set(wd->bbl, "elm.text", wd->label);
70 if (wd->label) edje_object_signal_emit(wd->bbl, "elm,state,text,visible", "elm"); 70 if (wd->label) edje_object_signal_emit(wd->bbl, "elm,state,text,visible", "elm");
71 else edje_object_signal_emit(wd->bbl, "elm,state,text,hidden", "elm"); 71 else edje_object_signal_emit(wd->bbl, "elm,state,text,hidden", "elm");
72 edje_object_part_text_set(wd->bbl, "elm.info", wd->info); 72 edje_object_part_text_escaped_set(wd->bbl, "elm.info", wd->info);
73 if (wd->info) edje_object_signal_emit(wd->bbl, "elm,state,info,visible", "elm"); 73 if (wd->info) edje_object_signal_emit(wd->bbl, "elm,state,info,visible", "elm");
74 else edje_object_signal_emit(wd->bbl, "elm,state,info,hidden", "elm"); 74 else edje_object_signal_emit(wd->bbl, "elm,state,info,hidden", "elm");
75 if (wd->content) 75 if (wd->content)
@@ -270,18 +270,18 @@ _elm_bubble_label_set(Evas_Object *obj, const char *item, const char *label)
270 if (!item || !strcmp(item, "default")) 270 if (!item || !strcmp(item, "default"))
271 { 271 {
272 eina_stringshare_replace(&wd->label, label); 272 eina_stringshare_replace(&wd->label, label);
273 edje_object_part_text_set(wd->bbl, "elm.text", label); 273 edje_object_part_text_escaped_set(wd->bbl, "elm.text", label);
274 if (label) edje_object_signal_emit(wd->bbl, "elm,state,text,visible", 274 if (label) edje_object_signal_emit(wd->bbl, "elm,state,text,visible",
275 "elm"); 275 "elm");
276 else edje_object_signal_emit(wd->bbl, "elm,state,text,hidden", "elm"); 276 else edje_object_signal_emit(wd->bbl, "elm,state,text,hidden", "elm");
277 _sizing_eval(obj); 277 _sizing_eval(obj);
278 } 278 }
279 else if (!strcmp(item, "info")) 279 else if (!strcmp(item, "info"))
280 { 280 {
281 eina_stringshare_replace(&wd->info, label); 281 eina_stringshare_replace(&wd->info, label);
282 edje_object_part_text_set(wd->bbl, "elm.info", label); 282 edje_object_part_text_escaped_set(wd->bbl, "elm.info", label);
283 if (label) edje_object_signal_emit(wd->bbl, "elm,state,info,visible", 283 if (label) edje_object_signal_emit(wd->bbl, "elm,state,info,visible",
284 "elm"); 284 "elm");
285 else edje_object_signal_emit(wd->bbl, "elm,state,info,hidden", "elm"); 285 else edje_object_signal_emit(wd->bbl, "elm,state,info,hidden", "elm");
286 _sizing_eval(obj); 286 _sizing_eval(obj);
287 } 287 }
diff --git a/src/lib/elm_button.c b/src/lib/elm_button.c
index 713080793..be2506b02 100644
--- a/src/lib/elm_button.c
+++ b/src/lib/elm_button.c
@@ -127,7 +127,7 @@ _theme_hook(Evas_Object *obj)
127 edje_object_signal_emit(wd->btn, "elm,state,icon,visible", "elm"); 127 edje_object_signal_emit(wd->btn, "elm,state,icon,visible", "elm");
128 else 128 else
129 edje_object_signal_emit(wd->btn, "elm,state,icon,hidden", "elm"); 129 edje_object_signal_emit(wd->btn, "elm,state,icon,hidden", "elm");
130 edje_object_part_text_set(wd->btn, "elm.text", wd->label); 130 edje_object_part_text_escaped_set(wd->btn, "elm.text", wd->label);
131 if (elm_object_disabled_get(obj)) 131 if (elm_object_disabled_get(obj))
132 edje_object_signal_emit(wd->btn, "elm,state,disabled", "elm"); 132 edje_object_signal_emit(wd->btn, "elm,state,disabled", "elm");
133 edje_object_message_signal_process(wd->btn); 133 edje_object_message_signal_process(wd->btn);
@@ -375,7 +375,7 @@ _elm_button_label_set(Evas_Object *obj, const char *item, const char *label)
375 else 375 else
376 edje_object_signal_emit(wd->btn, "elm,state,text,hidden", "elm"); 376 edje_object_signal_emit(wd->btn, "elm,state,text,hidden", "elm");
377 edje_object_message_signal_process(wd->btn); 377 edje_object_message_signal_process(wd->btn);
378 edje_object_part_text_set(wd->btn, "elm.text", label); 378 edje_object_part_text_escaped_set(wd->btn, "elm.text", label);
379 _sizing_eval(obj); 379 _sizing_eval(obj);
380} 380}
381 381
diff --git a/src/lib/elm_calendar.c b/src/lib/elm_calendar.c
index 4f0473e9a..2e41c5fc3 100644
--- a/src/lib/elm_calendar.c
+++ b/src/lib/elm_calendar.c
@@ -207,11 +207,11 @@ _set_month_year(Widget_Data *wd)
207 buf = wd->format_func(&wd->selected_time); 207 buf = wd->format_func(&wd->selected_time);
208 if (buf) 208 if (buf)
209 { 209 {
210 edje_object_part_text_set(wd->calendar, "month_text", buf); 210 edje_object_part_text_escaped_set(wd->calendar, "month_text", buf);
211 free(buf); 211 free(buf);
212 } 212 }
213 else 213 else
214 edje_object_part_text_set(wd->calendar, "month_text", ""); 214 edje_object_part_text_escaped_set(wd->calendar, "month_text", "");
215} 215}
216 216
217static void 217static void
@@ -384,9 +384,9 @@ _set_headers(Evas_Object *obj)
384 for (i = 0; i < ELM_DAY_LAST; i++) 384 for (i = 0; i < ELM_DAY_LAST; i++)
385 { 385 {
386 part[3] = i + '0'; 386 part[3] = i + '0';
387 edje_object_part_text_set( 387 edje_object_part_text_escaped_set
388 wd->calendar, part, 388 (wd->calendar, part,
389 wd->weekdays[(i + wd->first_week_day) % ELM_DAY_LAST]); 389 wd->weekdays[(i + wd->first_week_day) % ELM_DAY_LAST]);
390 } 390 }
391} 391}
392 392
diff --git a/src/lib/elm_check.c b/src/lib/elm_check.c
index e74447f9f..e3f40b4fb 100644
--- a/src/lib/elm_check.c
+++ b/src/lib/elm_check.c
@@ -115,9 +115,9 @@ _theme_hook(Evas_Object *obj)
115 edje_object_signal_emit(wd->chk, "elm,state,text,visible", "elm"); 115 edje_object_signal_emit(wd->chk, "elm,state,text,visible", "elm");
116 else 116 else
117 edje_object_signal_emit(wd->chk, "elm,state,text,hidden", "elm"); 117 edje_object_signal_emit(wd->chk, "elm,state,text,hidden", "elm");
118 edje_object_part_text_set(wd->chk, "elm.text", wd->label); 118 edje_object_part_text_escaped_set(wd->chk, "elm.text", wd->label);
119 edje_object_part_text_set(wd->chk, "elm.ontext", wd->ontext); 119 edje_object_part_text_escaped_set(wd->chk, "elm.ontext", wd->ontext);
120 edje_object_part_text_set(wd->chk, "elm.offtext", wd->offtext); 120 edje_object_part_text_escaped_set(wd->chk, "elm.offtext", wd->offtext);
121 if (elm_widget_disabled_get(obj)) 121 if (elm_widget_disabled_get(obj))
122 edje_object_signal_emit(wd->chk, "elm,state,disabled", "elm"); 122 edje_object_signal_emit(wd->chk, "elm,state,disabled", "elm");
123 edje_object_message_signal_process(wd->chk); 123 edje_object_message_signal_process(wd->chk);
@@ -341,17 +341,17 @@ _elm_check_label_set(Evas_Object *obj, const char *item, const char *label)
341 else 341 else
342 edje_object_signal_emit(wd->chk, "elm,state,text,hidden", "elm"); 342 edje_object_signal_emit(wd->chk, "elm,state,text,hidden", "elm");
343 edje_object_message_signal_process(wd->chk); 343 edje_object_message_signal_process(wd->chk);
344 edje_object_part_text_set(wd->chk, "elm.text", label); 344 edje_object_part_text_escaped_set(wd->chk, "elm.text", label);
345 } 345 }
346 else if ((item) && (!strcmp(item, "on"))) 346 else if ((item) && (!strcmp(item, "on")))
347 { 347 {
348 eina_stringshare_replace(&wd->ontext, label); 348 eina_stringshare_replace(&wd->ontext, label);
349 edje_object_part_text_set(wd->chk, "elm.ontext", wd->ontext); 349 edje_object_part_text_escaped_set(wd->chk, "elm.ontext", wd->ontext);
350 } 350 }
351 else if ((item) && (!strcmp(item, "off"))) 351 else if ((item) && (!strcmp(item, "off")))
352 { 352 {
353 eina_stringshare_replace(&wd->offtext, label); 353 eina_stringshare_replace(&wd->offtext, label);
354 edje_object_part_text_set(wd->chk, "elm.offtext", wd->offtext); 354 edje_object_part_text_escaped_set(wd->chk, "elm.offtext", wd->offtext);
355 } 355 }
356 _sizing_eval(obj); 356 _sizing_eval(obj);
357} 357}
diff --git a/src/lib/elm_datetime.c b/src/lib/elm_datetime.c
index 1873f3745..8736e8dec 100644
--- a/src/lib/elm_datetime.c
+++ b/src/lib/elm_datetime.c
@@ -325,7 +325,7 @@ _theme_hook(Evas_Object *obj)
325 snprintf(buf, sizeof(buf), EDC_PART_FIELD_ENABLE_SIG_STR, field->location); 325 snprintf(buf, sizeof(buf), EDC_PART_FIELD_ENABLE_SIG_STR, field->location);
326 edje_object_signal_emit(wd->base, buf, "elm"); 326 edje_object_signal_emit(wd->base, buf, "elm");
327 snprintf(buf, sizeof(buf), EDC_PART_SEPARATOR_STR, field->location); 327 snprintf(buf, sizeof(buf), EDC_PART_SEPARATOR_STR, field->location);
328 edje_object_part_text_set(wd->base, buf, field->separator); 328 edje_object_part_text_escaped_set(wd->base, buf, field->separator);
329 dt_mod->field_value_display(wd->mod_data, field->item_obj); 329 dt_mod->field_value_display(wd->mod_data, field->item_obj);
330 } 330 }
331 else 331 else
@@ -751,7 +751,7 @@ _reload_format(Evas_Object *obj)
751 edje_object_signal_emit(wd->base, buf, "elm"); 751 edje_object_signal_emit(wd->base, buf, "elm");
752 } 752 }
753 snprintf(buf, sizeof(buf), EDC_PART_SEPARATOR_STR, (field->location + 1)); 753 snprintf(buf, sizeof(buf), EDC_PART_SEPARATOR_STR, (field->location + 1));
754 edje_object_part_text_set(wd->base, buf, field->separator); 754 edje_object_part_text_escaped_set(wd->base, buf, field->separator);
755 } 755 }
756 edje_object_message_signal_process(wd->base); 756 edje_object_message_signal_process(wd->base);
757 _field_list_arrange(obj); 757 _field_list_arrange(obj);
diff --git a/src/lib/elm_diskselector.c b/src/lib/elm_diskselector.c
index c241011ff..8334d3775 100644
--- a/src/lib/elm_diskselector.c
+++ b/src/lib/elm_diskselector.c
@@ -226,7 +226,7 @@ _check_string(void *data)
226 // cut it off at byte mark returned form _check_letter 226 // cut it off at byte mark returned form _check_letter
227 strncpy(buf, it->label, length); 227 strncpy(buf, it->label, length);
228 buf[length] = '\0'; 228 buf[length] = '\0';
229 edje_object_part_text_set(VIEW(it), "elm.text", buf); 229 edje_object_part_text_escaped_set(VIEW(it), "elm.text", buf);
230 } 230 }
231 231
232 if (wd->check_idler) 232 if (wd->check_idler)
@@ -288,14 +288,14 @@ _item_del_pre_hook(Elm_Object_Item *it)
288 if (dit) 288 if (dit)
289 { 289 {
290 eina_stringshare_replace(&wd->first->label, dit->label); 290 eina_stringshare_replace(&wd->first->label, dit->label);
291 edje_object_part_text_set(wd->VIEW(first), "elm.text", 291 edje_object_part_text_escaped_set(wd->VIEW(first), "elm.text",
292 wd->first->label); 292 wd->first->label);
293 } 293 }
294 dit = eina_list_nth(wd->items, 1); 294 dit = eina_list_nth(wd->items, 1);
295 if (dit) 295 if (dit)
296 { 296 {
297 eina_stringshare_replace(&wd->second->label, dit->label); 297 eina_stringshare_replace(&wd->second->label, dit->label);
298 edje_object_part_text_set(wd->VIEW(second), "elm.text", 298 edje_object_part_text_escaped_set(wd->VIEW(second), "elm.text",
299 wd->second->label); 299 wd->second->label);
300 } 300 }
301 // if more than 3 itmes should be displayed 301 // if more than 3 itmes should be displayed
@@ -304,21 +304,21 @@ _item_del_pre_hook(Elm_Object_Item *it)
304 dit = eina_list_nth(wd->items, i); 304 dit = eina_list_nth(wd->items, i);
305 item2 = eina_list_nth(wd->over_items, i - 2); 305 item2 = eina_list_nth(wd->over_items, i - 2);
306 eina_stringshare_replace(&item2->label, dit->label); 306 eina_stringshare_replace(&item2->label, dit->label);
307 edje_object_part_text_set(VIEW(item2), "elm.text", item2->label); 307 edje_object_part_text_escaped_set(VIEW(item2), "elm.text", item2->label);
308 } 308 }
309 309
310 dit = eina_list_nth(wd->items, eina_list_count(wd->items) - 1); 310 dit = eina_list_nth(wd->items, eina_list_count(wd->items) - 1);
311 if (dit) 311 if (dit)
312 { 312 {
313 eina_stringshare_replace(&wd->last->label, dit->label); 313 eina_stringshare_replace(&wd->last->label, dit->label);
314 edje_object_part_text_set(wd->VIEW(last), "elm.text", 314 edje_object_part_text_escaped_set(wd->VIEW(last), "elm.text",
315 wd->last->label); 315 wd->last->label);
316 } 316 }
317 dit = eina_list_nth(wd->items, eina_list_count(wd->items) - 2); 317 dit = eina_list_nth(wd->items, eina_list_count(wd->items) - 2);
318 if (dit) 318 if (dit)
319 { 319 {
320 eina_stringshare_replace(&wd->s_last->label, dit->label); 320 eina_stringshare_replace(&wd->s_last->label, dit->label);
321 edje_object_part_text_set(wd->VIEW(s_last), "elm.text", 321 edje_object_part_text_escaped_set(wd->VIEW(s_last), "elm.text",
322 wd->s_last->label); 322 wd->s_last->label);
323 } 323 }
324 // if more than 3 itmes should be displayed 324 // if more than 3 itmes should be displayed
@@ -327,7 +327,7 @@ _item_del_pre_hook(Elm_Object_Item *it)
327 dit = eina_list_nth(wd->items, wd->item_count - i); 327 dit = eina_list_nth(wd->items, wd->item_count - i);
328 item2 = eina_list_nth(wd->under_items, i - 3); 328 item2 = eina_list_nth(wd->under_items, i - 3);
329 eina_stringshare_replace(&item2->label, dit->label); 329 eina_stringshare_replace(&item2->label, dit->label);
330 edje_object_part_text_set(VIEW(item2), "elm.text", 330 edje_object_part_text_escaped_set(VIEW(item2), "elm.text",
331 item2->label); 331 item2->label);
332 } 332 }
333 } 333 }
@@ -367,7 +367,7 @@ _item_new(Evas_Object *obj, Evas_Object *icon, const char *label, Evas_Smart_Cb
367 367
368 if (it->label) 368 if (it->label)
369 { 369 {
370 edje_object_part_text_set(VIEW(it), "elm.text", it->label); 370 edje_object_part_text_escaped_set(VIEW(it), "elm.text", it->label);
371 edje_object_signal_callback_add(VIEW(it), "elm,action,click", "", _item_click_cb, it); 371 edje_object_signal_callback_add(VIEW(it), "elm,action,click", "", _item_click_cb, it);
372 } 372 }
373 if (it->icon) 373 if (it->icon)
@@ -504,7 +504,7 @@ _theme_hook(Evas_Object * obj)
504 { 504 {
505 _elm_theme_object_set(obj, VIEW(it), "diskselector", "item", 505 _elm_theme_object_set(obj, VIEW(it), "diskselector", "item",
506 elm_widget_style_get(obj)); 506 elm_widget_style_get(obj));
507 edje_object_part_text_set(VIEW(it), "elm.text", it->label); 507 edje_object_part_text_escaped_set(VIEW(it), "elm.text", it->label);
508 } 508 }
509 } 509 }
510 else 510 else
@@ -513,7 +513,7 @@ _theme_hook(Evas_Object * obj)
513 { 513 {
514 _elm_theme_object_set(obj, VIEW(it), "diskselector", "item", 514 _elm_theme_object_set(obj, VIEW(it), "diskselector", "item",
515 elm_widget_style_get(obj)); 515 elm_widget_style_get(obj));
516 edje_object_part_text_set(VIEW(it), "elm.text", it->label); 516 edje_object_part_text_escaped_set(VIEW(it), "elm.text", it->label);
517 } 517 }
518 } 518 }
519 _elm_theme_object_set(obj, wd->right_blank, "diskselector", "item", 519 _elm_theme_object_set(obj, wd->right_blank, "diskselector", "item",
@@ -986,7 +986,7 @@ _item_text_set_hook(Elm_Object_Item *it, const char *part, const char *label)
986 if (part && strcmp(part, "default")) return; 986 if (part && strcmp(part, "default")) return;
987 item = (Elm_Diskselector_Item *)it; 987 item = (Elm_Diskselector_Item *)it;
988 eina_stringshare_replace(&item->label, label); 988 eina_stringshare_replace(&item->label, label);
989 edje_object_part_text_set(VIEW(item), "elm.text", item->label); 989 edje_object_part_text_escaped_set(VIEW(item), "elm.text", item->label);
990} 990}
991 991
992static const char * 992static const char *
diff --git a/src/lib/elm_flipselector.c b/src/lib/elm_flipselector.c
index 0eaeeb9a3..7939aba8e 100644
--- a/src/lib/elm_flipselector.c
+++ b/src/lib/elm_flipselector.c
@@ -371,15 +371,15 @@ _sizing_eval(Evas_Object *obj)
371 if (wd->sentinel) 371 if (wd->sentinel)
372 { 372 {
373 const char *label = elm_object_item_text_get(DATA_GET(wd->sentinel)); 373 const char *label = elm_object_item_text_get(DATA_GET(wd->sentinel));
374 tmp = edje_object_part_text_get(wd->base, "top"); 374 tmp = edje_object_part_text_get(wd->base, "elm.top");
375 edje_object_part_text_set(wd->base, "top", label); 375 edje_object_part_text_escaped_set(wd->base, "elm.top", label);
376 } 376 }
377 377
378 edje_object_size_min_restricted_calc(wd->base, &minw, &minh, minw, minh); 378 edje_object_size_min_restricted_calc(wd->base, &minw, &minh, minw, minh);
379 elm_coords_finger_size_adjust(1, &minw, 2, &minh); 379 elm_coords_finger_size_adjust(1, &minw, 2, &minh);
380 evas_object_size_hint_min_get(obj, &w, &h); 380 evas_object_size_hint_min_get(obj, &w, &h);
381 381
382 if (wd->sentinel) edje_object_part_text_set(wd->base, "top", tmp); 382 if (wd->sentinel) edje_object_part_text_escaped_set(wd->base, "elm.top", tmp);
383 383
384 if (w > minw) minw = w; 384 if (w > minw) minw = w;
385 if (h > minh) minh = h; 385 if (h > minh) minh = h;
@@ -401,8 +401,8 @@ _update_view(Evas_Object *obj)
401 item = DATA_GET(wd->current); 401 item = DATA_GET(wd->current);
402 if (item) label = item->label; 402 if (item) label = item->label;
403 403
404 edje_object_part_text_set(wd->base, "top", label ? label : ""); 404 edje_object_part_text_escaped_set(wd->base, "elm.top", label ? label : "");
405 edje_object_part_text_set(wd->base, "bottom", label ? label : ""); 405 edje_object_part_text_escaped_set(wd->base, "elm.bottom", label ? label : "");
406 edje_object_message_signal_process(wd->base); 406 edje_object_message_signal_process(wd->base);
407} 407}
408 408
diff --git a/src/lib/elm_frame.c b/src/lib/elm_frame.c
index 61b323a87..0d32c16b7 100644
--- a/src/lib/elm_frame.c
+++ b/src/lib/elm_frame.c
@@ -57,7 +57,7 @@ _theme_hook(Evas_Object *obj)
57 _mirrored_set(obj, elm_widget_mirrored_get(obj)); 57 _mirrored_set(obj, elm_widget_mirrored_get(obj));
58 _elm_theme_object_set(obj, wd->frm, "frame", "base", 58 _elm_theme_object_set(obj, wd->frm, "frame", "base",
59 elm_widget_style_get(obj)); 59 elm_widget_style_get(obj));
60 edje_object_part_text_set(wd->frm, "elm.text", wd->label); 60 edje_object_part_text_escaped_set(wd->frm, "elm.text", wd->label);
61 if (wd->content) 61 if (wd->content)
62 edje_object_part_swallow(wd->frm, "elm.swallow.content", wd->content); 62 edje_object_part_swallow(wd->frm, "elm.swallow.content", wd->content);
63 edje_object_scale_set(wd->frm, 63 edje_object_scale_set(wd->frm,
@@ -127,7 +127,7 @@ _elm_frame_label_set(Evas_Object *obj, const char *item, const char *label)
127 if (item && strcmp(item, "default")) return; 127 if (item && strcmp(item, "default")) return;
128 if (!wd) return; 128 if (!wd) return;
129 eina_stringshare_replace(&(wd->label), label); 129 eina_stringshare_replace(&(wd->label), label);
130 edje_object_part_text_set(wd->frm, "elm.text", wd->label); 130 edje_object_part_text_escaped_set(wd->frm, "elm.text", wd->label);
131 _sizing_eval(obj); 131 _sizing_eval(obj);
132} 132}
133 133
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 0b133e33f..8ee50c47c 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -934,7 +934,7 @@ _item_realize(Elm_Gen_Item *it)
934 ((void *)it->base.data, WIDGET(it), key); 934 ((void *)it->base.data, WIDGET(it), key);
935 if (s) 935 if (s)
936 { 936 {
937 edje_object_part_text_set(VIEW(it), key, s); 937 edje_object_part_text_escaped_set(VIEW(it), key, s);
938 free(s); 938 free(s);
939 } 939 }
940 } 940 }
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 824334e6b..e0531c33b 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -1926,7 +1926,7 @@ _item_text_realize(Elm_Gen_Item *it,
1926 1926
1927 if (s) 1927 if (s)
1928 { 1928 {
1929 edje_object_part_text_set(target, key, s); 1929 edje_object_part_text_escaped_set(target, key, s);
1930 free(s); 1930 free(s);
1931 } 1931 }
1932 else 1932 else
diff --git a/src/lib/elm_index.c b/src/lib/elm_index.c
index c69f0ca6b..985b1819f 100644
--- a/src/lib/elm_index.c
+++ b/src/lib/elm_index.c
@@ -288,7 +288,7 @@ _index_box_auto_fill(Evas_Object *obj, Evas_Object *box, int level)
288 elm_widget_style_get(obj)); 288 elm_widget_style_get(obj));
289 } 289 }
290 290
291 edje_object_part_text_set(o, "elm.text", it->letter); 291 edje_object_part_text_escaped_set(o, "elm.text", it->letter);
292 edje_object_size_min_restricted_calc(o, &mw, &mh, 0, 0); 292 edje_object_size_min_restricted_calc(o, &mw, &mh, 0, 0);
293 evas_object_size_hint_min_set(o, mw, mh); 293 evas_object_size_hint_min_set(o, mw, mh);
294 evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 294 evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -458,8 +458,8 @@ _sel_eval(Evas_Object *obj, Evas_Coord evx, Evas_Coord evy)
458 } 458 }
459 if (!label) label = strdup(""); 459 if (!label) label = strdup("");
460 if (!last) last = strdup(""); 460 if (!last) last = strdup("");
461 edje_object_part_text_set(wd->base, "elm.text.body", label); 461 edje_object_part_text_escaped_set(wd->base, "elm.text.body", label);
462 edje_object_part_text_set(wd->base, "elm.text", last); 462 edje_object_part_text_escaped_set(wd->base, "elm.text", last);
463 free(label); 463 free(label);
464 free(last); 464 free(last);
465} 465}
diff --git a/src/lib/elm_layout.c b/src/lib/elm_layout.c
index 8a2a78169..6f144849b 100644
--- a/src/lib/elm_layout.c
+++ b/src/lib/elm_layout.c
@@ -308,7 +308,7 @@ _parts_text_fix(Widget_Data *wd)
308 EINA_LIST_FOREACH(wd->subs, l, si) 308 EINA_LIST_FOREACH(wd->subs, l, si)
309 { 309 {
310 if (si->type == TEXT) 310 if (si->type == TEXT)
311 edje_object_part_text_set(wd->lay, si->part, si->p.text.text); 311 edje_object_part_text_escaped_set(wd->lay, si->part, si->p.text.text);
312 } 312 }
313} 313}
314 314
@@ -330,7 +330,7 @@ _elm_layout_label_set(Evas_Object *obj, const char *part, const char *text)
330 eina_stringshare_del(si->part); 330 eina_stringshare_del(si->part);
331 eina_stringshare_del(si->p.text.text); 331 eina_stringshare_del(si->p.text.text);
332 free(si); 332 free(si);
333 edje_object_part_text_set(wd->lay, part, NULL); 333 edje_object_part_text_escaped_set(wd->lay, part, NULL);
334 wd->subs = eina_list_remove_list(wd->subs, l); 334 wd->subs = eina_list_remove_list(wd->subs, l);
335 return; 335 return;
336 } 336 }
@@ -350,7 +350,7 @@ _elm_layout_label_set(Evas_Object *obj, const char *part, const char *text)
350 } 350 }
351 351
352 eina_stringshare_replace(&si->p.text.text, text); 352 eina_stringshare_replace(&si->p.text.text, text);
353 edje_object_part_text_set(wd->lay, part, text); 353 edje_object_part_text_escaped_set(wd->lay, part, text);
354 _request_sizing_eval(wd); 354 _request_sizing_eval(wd);
355} 355}
356 356
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index 1f45c70db..d370baac5 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -1138,7 +1138,7 @@ _item_text_set_hook(Elm_Object_Item *it, const char *part, const char *text)
1138 if (part && strcmp(part, "default")) return; 1138 if (part && strcmp(part, "default")) return;
1139 if (!eina_stringshare_replace(&list_it->label, text)) return; 1139 if (!eina_stringshare_replace(&list_it->label, text)) return;
1140 if (VIEW(list_it)) 1140 if (VIEW(list_it))
1141 edje_object_part_text_set(VIEW(list_it), "elm.text", text); 1141 edje_object_part_text_escaped_set(VIEW(list_it), "elm.text", text);
1142} 1142}
1143 1143
1144static const char * 1144static const char *
@@ -1351,7 +1351,7 @@ _fix_items(Evas_Object *obj)
1351 else if (!strcmp(stacking, "above")) 1351 else if (!strcmp(stacking, "above"))
1352 evas_object_raise(VIEW(it)); 1352 evas_object_raise(VIEW(it));
1353 } 1353 }
1354 edje_object_part_text_set(VIEW(it), "elm.text", it->label); 1354 edje_object_part_text_escaped_set(VIEW(it), "elm.text", it->label);
1355 1355
1356 if ((!it->icon) && (minh[0] > 0)) 1356 if ((!it->icon) && (minh[0] > 0))
1357 { 1357 {
diff --git a/src/lib/elm_map.c b/src/lib/elm_map.c
index e97ec3eef..54b7292de 100644
--- a/src/lib/elm_map.c
+++ b/src/lib/elm_map.c
@@ -1513,7 +1513,7 @@ static void
1513_overlay_default_layout_text_update(Overlay_Default *ovl, const char *text) 1513_overlay_default_layout_text_update(Overlay_Default *ovl, const char *text)
1514{ 1514{
1515 if (!ovl->content && !ovl->icon && !ovl->clas_content && !ovl->clas_icon) 1515 if (!ovl->content && !ovl->icon && !ovl->clas_content && !ovl->clas_icon)
1516 edje_object_part_text_set(elm_layout_edje_get(ovl->layout), "elm.text", 1516 edje_object_part_text_escaped_set(elm_layout_edje_get(ovl->layout), "elm.text",
1517 text); 1517 text);
1518} 1518}
1519 1519
@@ -2277,7 +2277,7 @@ _overlay_scale_show(Overlay_Scale *ovl)
2277 if (text < 1) snprintf(buf, sizeof(buf), "%d m", (int)(text * 1000)); 2277 if (text < 1) snprintf(buf, sizeof(buf), "%d m", (int)(text * 1000));
2278 else snprintf(buf, sizeof(buf), "%d km", (int)text); 2278 else snprintf(buf, sizeof(buf), "%d km", (int)text);
2279 2279
2280 edje_object_part_text_set(elm_layout_edje_get(ovl->obj), "elm.text", buf); 2280 edje_object_part_text_escaped_set(elm_layout_edje_get(ovl->obj), "elm.text", buf);
2281 _obj_place(ovl->obj, ovl->x, ovl->y, w, ovl->h); 2281 _obj_place(ovl->obj, ovl->x, ovl->y, w, ovl->h);
2282} 2282}
2283 2283
diff --git a/src/lib/elm_progressbar.c b/src/lib/elm_progressbar.c
index 9966371b4..c67c5e684 100644
--- a/src/lib/elm_progressbar.c
+++ b/src/lib/elm_progressbar.c
@@ -68,7 +68,7 @@ _theme_hook(Evas_Object *obj)
68 } 68 }
69 if (wd->label) 69 if (wd->label)
70 { 70 {
71 edje_object_part_text_set(wd->progressbar, "elm.text", wd->label); 71 edje_object_part_text_escaped_set(wd->progressbar, "elm.text", wd->label);
72 edje_object_signal_emit(wd->progressbar, "elm,state,text,visible", "elm"); 72 edje_object_signal_emit(wd->progressbar, "elm,state,text,visible", "elm");
73 } 73 }
74 if (wd->pulse) 74 if (wd->pulse)
@@ -159,10 +159,10 @@ _units_set(Evas_Object *obj)
159 { 159 {
160 char buf[1024]; 160 char buf[1024];
161 snprintf(buf, sizeof(buf), wd->units, 100 * wd->val); 161 snprintf(buf, sizeof(buf), wd->units, 100 * wd->val);
162 edje_object_part_text_set(wd->progressbar, "elm.text.status", buf); 162 edje_object_part_text_escaped_set(wd->progressbar, "elm.text.status", buf);
163 } 163 }
164 else 164 else
165 edje_object_part_text_set(wd->progressbar, "elm.text.status", NULL); 165 edje_object_part_text_escaped_set(wd->progressbar, "elm.text.status", NULL);
166} 166}
167 167
168static void 168static void
@@ -183,7 +183,7 @@ _elm_progressbar_label_set(Evas_Object *obj, const char *item, const char *label
183 edje_object_signal_emit(wd->progressbar, "elm,state,text,hidden", "elm"); 183 edje_object_signal_emit(wd->progressbar, "elm,state,text,hidden", "elm");
184 edje_object_message_signal_process(wd->progressbar); 184 edje_object_message_signal_process(wd->progressbar);
185 } 185 }
186 edje_object_part_text_set(wd->progressbar, "elm.text", label); 186 edje_object_part_text_escaped_set(wd->progressbar, "elm.text", label);
187 _sizing_eval(obj); 187 _sizing_eval(obj);
188} 188}
189 189
diff --git a/src/lib/elm_radio.c b/src/lib/elm_radio.c
index b0b08a434..0f6c0f633 100644
--- a/src/lib/elm_radio.c
+++ b/src/lib/elm_radio.c
@@ -117,7 +117,7 @@ _theme_hook(Evas_Object *obj)
117 edje_object_signal_emit(wd->radio, "elm,state,text,visible", "elm"); 117 edje_object_signal_emit(wd->radio, "elm,state,text,visible", "elm");
118 else 118 else
119 edje_object_signal_emit(wd->radio, "elm,state,text,hidden", "elm"); 119 edje_object_signal_emit(wd->radio, "elm,state,text,hidden", "elm");
120 edje_object_part_text_set(wd->radio, "elm.text", wd->label); 120 edje_object_part_text_escaped_set(wd->radio, "elm.text", wd->label);
121 if (elm_widget_disabled_get(obj)) 121 if (elm_widget_disabled_get(obj))
122 { 122 {
123 edje_object_signal_emit(wd->radio, "elm,state,disabled", "elm"); 123 edje_object_signal_emit(wd->radio, "elm,state,disabled", "elm");
@@ -263,7 +263,7 @@ _elm_radio_label_set(Evas_Object *obj, const char *item, const char *label)
263 edje_object_signal_emit(wd->radio, "elm,state,text,hidden", "elm"); 263 edje_object_signal_emit(wd->radio, "elm,state,text,hidden", "elm");
264 edje_object_message_signal_process(wd->radio); 264 edje_object_message_signal_process(wd->radio);
265 } 265 }
266 edje_object_part_text_set(wd->radio, "elm.text", label); 266 edje_object_part_text_escaped_set(wd->radio, "elm.text", label);
267 _sizing_eval(obj); 267 _sizing_eval(obj);
268} 268}
269 269
diff --git a/src/lib/elm_segment_control.c b/src/lib/elm_segment_control.c
index d1838dc34..6ff6411ff 100644
--- a/src/lib/elm_segment_control.c
+++ b/src/lib/elm_segment_control.c
@@ -331,7 +331,7 @@ _swallow_item_objects(Elm_Segment_Item *it)
331 331
332 if (it->label) 332 if (it->label)
333 { 333 {
334 edje_object_part_text_set(VIEW(it), "elm.text", it->label); 334 edje_object_part_text_escaped_set(VIEW(it), "elm.text", it->label);
335 edje_object_signal_emit(VIEW(it), "elm,state,text,visible", "elm"); 335 edje_object_signal_emit(VIEW(it), "elm,state,text,visible", "elm");
336 } 336 }
337 else 337 else
@@ -453,7 +453,7 @@ _item_text_set_hook(Elm_Object_Item *it, const char *part, const char *label)
453 edje_object_signal_emit(VIEW(item), "elm,state,text,hidden", "elm"); 453 edje_object_signal_emit(VIEW(item), "elm,state,text,hidden", "elm");
454 edje_object_message_signal_process(VIEW(item)); 454 edje_object_message_signal_process(VIEW(item));
455 //label can be NULL also. 455 //label can be NULL also.
456 edje_object_part_text_set(VIEW(item), "elm.text", item->label); 456 edje_object_part_text_escaped_set(VIEW(item), "elm.text", item->label);
457} 457}
458 458
459static const char * 459static const char *
@@ -544,7 +544,7 @@ _item_new(Evas_Object *obj, Evas_Object *icon, const char *label)
544 else 544 else
545 edje_object_signal_emit(VIEW(it), "elm,state,text,hidden", "elm"); 545 edje_object_signal_emit(VIEW(it), "elm,state,text,hidden", "elm");
546 edje_object_message_signal_process(VIEW(it)); 546 edje_object_message_signal_process(VIEW(it));
547 edje_object_part_text_set(VIEW(it), "elm.text", label); 547 edje_object_part_text_escaped_set(VIEW(it), "elm.text", label);
548 548
549 it->icon = icon; 549 it->icon = icon;
550 if (it->icon) elm_widget_sub_object_add(VIEW(it), it->icon); 550 if (it->icon) elm_widget_sub_object_add(VIEW(it), it->icon);
diff --git a/src/lib/elm_slider.c b/src/lib/elm_slider.c
index e93c6fbf1..7221ea086 100644
--- a/src/lib/elm_slider.c
+++ b/src/lib/elm_slider.c
@@ -175,7 +175,7 @@ _labels_foreach_text_set(const Eina_Hash *hash __UNUSED__, const void *key, void
175{ 175{
176 Widget_Data *wd = fdata; 176 Widget_Data *wd = fdata;
177 177
178 edje_object_part_text_set(wd->slider, key, data); 178 edje_object_part_text_escaped_set(wd->slider, key, data);
179 179
180 return 1; 180 return 1;
181} 181}
@@ -352,7 +352,7 @@ _units_set(Evas_Object *obj)
352 { 352 {
353 char *buf; 353 char *buf;
354 buf = wd->units_format_func(wd->val); 354 buf = wd->units_format_func(wd->val);
355 edje_object_part_text_set(wd->slider, "elm.units", buf); 355 edje_object_part_text_escaped_set(wd->slider, "elm.units", buf);
356 if (wd->units_format_free) wd->units_format_free(buf); 356 if (wd->units_format_free) wd->units_format_free(buf);
357 } 357 }
358 else if (wd->units) 358 else if (wd->units)
@@ -360,10 +360,10 @@ _units_set(Evas_Object *obj)
360 char buf[1024]; 360 char buf[1024];
361 361
362 snprintf(buf, sizeof(buf), wd->units, wd->val); 362 snprintf(buf, sizeof(buf), wd->units, wd->val);
363 edje_object_part_text_set(wd->slider, "elm.units", buf); 363 edje_object_part_text_escaped_set(wd->slider, "elm.units", buf);
364 } 364 }
365 else 365 else
366 edje_object_part_text_set(wd->slider, "elm.units", NULL); 366 edje_object_part_text_escaped_set(wd->slider, "elm.units", NULL);
367} 367}
368 368
369static void 369static void
@@ -375,17 +375,17 @@ _indicator_set(Evas_Object *obj)
375 { 375 {
376 char *buf; 376 char *buf;
377 buf = wd->indicator_format_func(wd->val); 377 buf = wd->indicator_format_func(wd->val);
378 edje_object_part_text_set(wd->slider, "elm.dragable.slider:elm.indicator", buf); 378 edje_object_part_text_escaped_set(wd->slider, "elm.dragable.slider:elm.indicator", buf);
379 if (wd->indicator_format_free) wd->indicator_format_free(buf); 379 if (wd->indicator_format_free) wd->indicator_format_free(buf);
380 } 380 }
381 else if (wd->indicator) 381 else if (wd->indicator)
382 { 382 {
383 char buf[1024]; 383 char buf[1024];
384 snprintf(buf, sizeof(buf), wd->indicator, wd->val); 384 snprintf(buf, sizeof(buf), wd->indicator, wd->val);
385 edje_object_part_text_set(wd->slider, "elm.dragable.slider:elm.indicator", buf); 385 edje_object_part_text_escaped_set(wd->slider, "elm.dragable.slider:elm.indicator", buf);
386 } 386 }
387 else 387 else
388 edje_object_part_text_set(wd->slider, "elm.dragable.slider:elm.indicator", NULL); 388 edje_object_part_text_escaped_set(wd->slider, "elm.dragable.slider:elm.indicator", NULL);
389} 389}
390 390
391static void 391static void
@@ -605,7 +605,7 @@ _elm_slider_label_set(Evas_Object *obj, const char *part, const char *label)
605 edje_object_message_signal_process(wd->slider); 605 edje_object_message_signal_process(wd->slider);
606 } 606 }
607 607
608 edje_object_part_text_set(wd->slider, real_part, label); 608 edje_object_part_text_escaped_set(wd->slider, real_part, label);
609 _sizing_eval(obj); 609 _sizing_eval(obj);
610} 610}
611 611
@@ -770,8 +770,8 @@ _min_max_set(Evas_Object *obj)
770 snprintf((char*) buf_max, length + 128, wd->units, wd->val_max); 770 snprintf((char*) buf_max, length + 128, wd->units, wd->val_max);
771 } 771 }
772 772
773 edje_object_part_text_set(wd->slider, "elm.units.min", buf_min); 773 edje_object_part_text_escaped_set(wd->slider, "elm.units.min", buf_min);
774 edje_object_part_text_set(wd->slider, "elm.units.max", buf_max); 774 edje_object_part_text_escaped_set(wd->slider, "elm.units.max", buf_max);
775 775
776 if (wd->units_format_func && wd->units_format_free) 776 if (wd->units_format_func && wd->units_format_free)
777 { 777 {
diff --git a/src/lib/elm_spinner.c b/src/lib/elm_spinner.c
index 98da81ce4..9ff7de113 100644
--- a/src/lib/elm_spinner.c
+++ b/src/lib/elm_spinner.c
@@ -227,7 +227,7 @@ _write_label(Evas_Object *obj)
227 snprintf(buf, sizeof(buf), "%.0f", wd->val); 227 snprintf(buf, sizeof(buf), "%.0f", wd->val);
228 228
229apply: 229apply:
230 edje_object_part_text_set(wd->spinner, "elm.text", buf); 230 edje_object_part_text_escaped_set(wd->spinner, "elm.text", buf);
231 if (wd->entry_visible) _entry_show(wd); 231 if (wd->entry_visible) _entry_show(wd);
232} 232}
233 233
diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c
index b867feeb2..2a883c1d1 100644
--- a/src/lib/elm_toolbar.c
+++ b/src/lib/elm_toolbar.c
@@ -336,7 +336,7 @@ _theme_hook_item(Evas_Object *obj, Elm_Toolbar_Item *it, double scale, int icon_
336 evas_object_size_hint_max_set(it->icon, ms, ms); 336 evas_object_size_hint_max_set(it->icon, ms, ms);
337 edje_object_part_swallow(view, "elm.swallow.icon", it->icon); 337 edje_object_part_swallow(view, "elm.swallow.icon", it->icon);
338 } 338 }
339 edje_object_part_text_set(view, "elm.text", it->label); 339 edje_object_part_text_escaped_set(view, "elm.text", it->label);
340 } 340 }
341 else 341 else
342 { 342 {
@@ -1000,7 +1000,7 @@ _item_new(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb f
1000 evas_object_show(it->icon); 1000 evas_object_show(it->icon);
1001 elm_widget_sub_object_add(obj, it->icon); 1001 elm_widget_sub_object_add(obj, it->icon);
1002 } 1002 }
1003 edje_object_part_text_set(VIEW(it), "elm.text", it->label); 1003 edje_object_part_text_escaped_set(VIEW(it), "elm.text", it->label);
1004 mw = mh = -1; 1004 mw = mh = -1;
1005 elm_coords_finger_size_adjust(1, &mw, 1, &mh); 1005 elm_coords_finger_size_adjust(1, &mw, 1, &mh);
1006 edje_object_size_min_restricted_calc(VIEW(it), &mw, &mh, mw, mh); 1006 edje_object_size_min_restricted_calc(VIEW(it), &mw, &mh, mw, mh);
@@ -1038,7 +1038,7 @@ _elm_toolbar_item_label_update(Elm_Toolbar_Item *item)
1038{ 1038{
1039 Evas_Coord mw = -1, mh = -1; 1039 Evas_Coord mw = -1, mh = -1;
1040 Widget_Data *wd = elm_widget_data_get(WIDGET(item)); 1040 Widget_Data *wd = elm_widget_data_get(WIDGET(item));
1041 edje_object_part_text_set(VIEW(item), "elm.text", item->label); 1041 edje_object_part_text_escaped_set(VIEW(item), "elm.text", item->label);
1042 1042
1043 elm_coords_finger_size_adjust(1, &mw, 1, &mh); 1043 elm_coords_finger_size_adjust(1, &mw, 1, &mh);
1044 edje_object_size_min_restricted_calc(VIEW(item), &mw, &mh, mw, mh); 1044 edje_object_size_min_restricted_calc(VIEW(item), &mw, &mh, mw, mh);
@@ -1085,7 +1085,7 @@ _item_label_set(Elm_Toolbar_Item *item, const char *label, const char *sig)
1085 s = edje_object_data_get(VIEW(item), "transition_animation_on"); 1085 s = edje_object_data_get(VIEW(item), "transition_animation_on");
1086 if ((s) && (atoi(s))) 1086 if ((s) && (atoi(s)))
1087 { 1087 {
1088 edje_object_part_text_set(VIEW(item), "elm.text_new", item->label); 1088 edje_object_part_text_escaped_set(VIEW(item), "elm.text_new", item->label);
1089 edje_object_signal_emit (VIEW(item), sig, "elm"); 1089 edje_object_signal_emit (VIEW(item), sig, "elm");
1090 edje_object_signal_callback_add(VIEW(item), 1090 edje_object_signal_callback_add(VIEW(item),
1091 "elm,state,label_set,done", "elm", 1091 "elm,state,label_set,done", "elm",
diff --git a/src/lib/elm_video.c b/src/lib/elm_video.c
index e4d73b6de..173f9ed28 100644
--- a/src/lib/elm_video.c
+++ b/src/lib/elm_video.c
@@ -211,7 +211,7 @@ _title_change(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED
211 const char *title; 211 const char *title;
212 212
213 title = emotion_object_title_get(wd->emotion); 213 title = emotion_object_title_get(wd->emotion);
214 edje_object_part_text_set(wd->layout, "elm,title", title); 214 edje_object_part_text_escaped_set(wd->layout, "elm,title", title);
215 edje_object_signal_emit(wd->layout, "elm,video,title", "elm"); 215 edje_object_signal_emit(wd->layout, "elm,video,title", "elm");
216} 216}
217 217
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index d1cd8a66a..54127c0a7 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -2127,7 +2127,7 @@ elm_win_title_set(Evas_Object *obj, const char *title)
2127 eina_stringshare_replace(&(win->title), title); 2127 eina_stringshare_replace(&(win->title), title);
2128 ecore_evas_title_set(win->ee, win->title); 2128 ecore_evas_title_set(win->ee, win->title);
2129 if (win->frame_obj) 2129 if (win->frame_obj)
2130 edje_object_part_text_set(win->frame_obj, "elm.text.title", win->title); 2130 edje_object_part_text_escaped_set(win->frame_obj, "elm.text.title", win->title);
2131} 2131}
2132 2132
2133EAPI const char * 2133EAPI const char *
@@ -3239,7 +3239,7 @@ _elm_inwin_text_set_hook(Evas_Object *obj, const char *item, const char *text)
3239 Widget_Data *wd = elm_widget_data_get(obj); 3239 Widget_Data *wd = elm_widget_data_get(obj);
3240 3240
3241 if (!wd || !item) return; 3241 if (!wd || !item) return;
3242 edje_object_part_text_set(wd->frm, item, text); 3242 edje_object_part_text_escaped_set(wd->frm, item, text);
3243 _sizing_eval(obj); 3243 _sizing_eval(obj);
3244} 3244}
3245 3245
diff --git a/src/lib/elu_ews_wm.c b/src/lib/elu_ews_wm.c
index 0ea3c1944..15fdb65ee 100644
--- a/src/lib/elu_ews_wm.c
+++ b/src/lib/elu_ews_wm.c
@@ -180,9 +180,9 @@ _elm_ews_border_config_apply(Ecore_Evas *ee, Evas_Object *o, Elm_Theme *th)
180 180
181 title = ecore_evas_title_get(ee); 181 title = ecore_evas_title_get(ee);
182 ecore_evas_name_class_get(ee, &name, &class); 182 ecore_evas_name_class_get(ee, &name, &class);
183 edje_object_part_text_set(o, "elm.text.title", title); 183 edje_object_part_text_escaped_set(o, "elm.text.title", title);
184 edje_object_part_text_set(o, "elm.text.name", name); 184 edje_object_part_text_escaped_set(o, "elm.text.name", name);
185 edje_object_part_text_set(o, "elm.text.class", class); 185 edje_object_part_text_escaped_set(o, "elm.text.class", class);
186 186
187 _elm_ews_border_geo_apply(ee, o); 187 _elm_ews_border_geo_apply(ee, o);
188 _elm_ews_border_focus_apply(ee, o); 188 _elm_ews_border_focus_apply(ee, o);