Add the reorder feature when the more panel is shown.
[framework/uifw/elementary.git] / src / lib / elm_segment_control.c
index cb765cc..6ff6411 100644 (file)
@@ -331,7 +331,7 @@ _swallow_item_objects(Elm_Segment_Item *it)
 
    if (it->label)
      {
-        edje_object_part_text_set(VIEW(it), "elm.text", it->label);
+        edje_object_part_text_escaped_set(VIEW(it), "elm.text", it->label);
         edje_object_signal_emit(VIEW(it), "elm,state,text,visible", "elm");
      }
    else
@@ -453,7 +453,7 @@ _item_text_set_hook(Elm_Object_Item *it, const char *part, const char *label)
      edje_object_signal_emit(VIEW(item), "elm,state,text,hidden", "elm");
    edje_object_message_signal_process(VIEW(item));
    //label can be NULL also.
-   edje_object_part_text_set(VIEW(item), "elm.text", item->label);
+   edje_object_part_text_escaped_set(VIEW(item), "elm.text", item->label);
 }
 
 static const char *
@@ -469,18 +469,13 @@ _item_content_set_hook(Elm_Object_Item *it,
                        Evas_Object *content)
 {
    Elm_Segment_Item *item;
-
    if (part && strcmp(part, "icon")) return;
 
    item = (Elm_Segment_Item *)it;
+   if (content == item->icon) return;
 
    //Remove the existing icon
-   if (item->icon)
-     {
-        edje_object_part_unswallow(VIEW(item), item->icon);
-        evas_object_del(item->icon);
-        item->icon = NULL;
-     }
+   if (item->icon) evas_object_del(item->icon);
    item->icon = content;
    if (item->icon)
      {
@@ -537,8 +532,6 @@ _item_new(Evas_Object *obj, Evas_Object *icon, const char *label)
                          *_elm_config->scale);
    evas_object_smart_member_add(VIEW(it), obj);
    elm_widget_sub_object_add(obj, VIEW(it));
-   evas_object_clip_set(VIEW(it), evas_object_clip_get(obj));
-
    _elm_theme_object_set(obj, VIEW(it), "segment_control", "item",
                          elm_object_style_get(obj));
    edje_object_mirrored_set(VIEW(it),
@@ -551,7 +544,7 @@ _item_new(Evas_Object *obj, Evas_Object *icon, const char *label)
    else
      edje_object_signal_emit(VIEW(it), "elm,state,text,hidden", "elm");
    edje_object_message_signal_process(VIEW(it));
-   edje_object_part_text_set(VIEW(it), "elm.text", label);
+   edje_object_part_text_escaped_set(VIEW(it), "elm.text", label);
 
    it->icon = icon;
    if (it->icon) elm_widget_sub_object_add(VIEW(it), it->icon);