[TC-editifield, entry] fix fails
[framework/uifw/elementary.git] / src / lib / elm_editfield.c
index fb21e81..b773f10 100644 (file)
@@ -107,6 +107,10 @@ _theme_hook(Evas_Object *obj)
    edje_object_part_swallow(wd->base, "elm.swallow.content", wd->entry);
    if(!wd->editing)
       edje_object_signal_emit(wd->base, "elm,state,over,show", "elm");
+   if(wd->single_line)
+     edje_object_signal_emit(wd->base, "elm,state,text,singleline", "elm");
+   else
+     edje_object_signal_emit(wd->base, "elm,state,text,multiline", "elm");
    if(wd->show_guide_text)
      {
         if(_empty_entry(wd->entry))
@@ -189,7 +193,7 @@ _empty_entry(Evas_Object *entry)
    int len = 0;
 
    text = elm_entry_entry_get(entry);
-   if(!text) return EINA_FALSE;
+   if(!text) return EINA_TRUE;
    strip_text = elm_entry_markup_to_utf8(text);
    if (strip_text) {
         len = strlen(strip_text);
@@ -239,6 +243,15 @@ _entry_changed_cb(void *data, Evas_Object *obj, void* event_info __UNUSED__)
      {
         if(wd->eraser_show)
            edje_object_signal_emit(wd->base, "elm,state,eraser,hidden", "elm");
+        if(!elm_object_focus_get(wd->entry))
+          {
+             if(wd->guide_text)
+               {
+                  edje_object_part_text_set(wd->base, "elm.guidetext", wd->guide_text);
+                  edje_object_signal_emit(wd->base, "elm,state,guidetext,visible", "elm");
+                  wd->show_guide_text = EINA_TRUE;
+               }
+          }
      }
 
    if (!wd->editing && wd->single_line)
@@ -495,8 +508,7 @@ elm_editfield_left_icon_set(Evas_Object *obj, Evas_Object *icon)
       elm_widget_sub_object_del(obj, wd->licon);
    if (icon)
      {
-        if (!(edje_object_part_swallow(wd->base, "left_icon", icon)))
-           return;
+        edje_object_part_swallow(wd->base, "left_icon", icon);
         wd->licon = icon;
         elm_widget_sub_object_add(obj, icon);
         evas_object_event_callback_add(icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
@@ -545,8 +557,7 @@ elm_editfield_right_icon_set(Evas_Object *obj, Evas_Object *icon)
       elm_widget_sub_object_del(obj, wd->ricon);
    if (icon)
      {
-        if ( !(edje_object_part_swallow(wd->base, "right_icon", icon)) )
-           return;
+        edje_object_part_swallow(wd->base, "right_icon", icon);
         wd->ricon = icon;
         elm_widget_sub_object_add(obj, icon);
         evas_object_event_callback_add(icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS,