Elm layout: fix broken text part name resolving
authorDaniel Hirt <hirt.danny@gmail.com>
Thu, 29 Jun 2017 18:33:12 +0000 (21:33 +0300)
committerDaniel Hirt <hirt.danny@gmail.com>
Thu, 29 Jun 2017 21:20:10 +0000 (00:20 +0300)
This adds a few workaround to overcome the efl_part port.
Quite a few layouts got broken in some specific cases.

src/lib/elementary/elc_multibuttonentry.c
src/lib/elementary/elc_popup.c
src/lib/elementary/elm_actionslider.c
src/lib/elementary/elm_bubble.c
src/lib/elementary/elm_label.c
src/lib/elementary/elm_layout.c

index c982803..ea4c23f 100644 (file)
@@ -1523,7 +1523,7 @@ _elm_multibuttonentry_text_set(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSE
 {
    Eina_Bool int_ret = EINA_TRUE;
 
-   if (!part || !strcmp(part, "default"))
+   if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text"))
      {
         if (label) _label_set(obj, label);
         int_ret = EINA_TRUE;
index 45862b0..e3ef842 100644 (file)
@@ -1062,7 +1062,7 @@ _elm_popup_text_set(Eo *obj, Elm_Popup_Data *_pd, const char *part, const char *
 {
    Eina_Bool int_ret = EINA_FALSE;
 
-   if (!part || !strcmp(part, "default"))
+   if (!part || !strcmp(part, "default") || !strcmp(part, "elm.text"))
      int_ret = _content_text_set(obj, label);
    else if (!strcmp(part, "title,text"))
      int_ret = _title_text_set(obj, label);
index 95f4cd6..80888bb 100644 (file)
@@ -457,6 +457,8 @@ _elm_actionslider_text_set(Eo *obj, Elm_Actionslider_Data *_pd EINA_UNUSED, cons
    Eina_Bool int_ret = EINA_TRUE;
 
    _mirrored_part_fix(obj, &part);
+
+   if (!part || !strcmp(part, "elm.text")) part = _text_aliases[0].real_part;
    efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), text);
 
    return int_ret;
@@ -469,6 +471,7 @@ _elm_actionslider_text_get(Eo *obj, Elm_Actionslider_Data *_pd EINA_UNUSED, cons
 
    _mirrored_part_fix(obj, &part);
 
+   if (!part) part = _text_aliases[0].real_part;
    text = efl_text_get(efl_part(efl_super(obj, MY_CLASS), part));
 
    return text;
index 520a161..51f2de1 100644 (file)
@@ -121,6 +121,7 @@ _elm_bubble_text_set(Eo *obj, Elm_Bubble_Data *_pd EINA_UNUSED, const char *part
 {
    Eina_Bool int_ret = EINA_TRUE;
 
+   if (!part) part = _text_aliases[0].real_part;
    efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
    if (!int_ret) return EINA_FALSE;
 
index 10a009c..7a5f65e 100644 (file)
@@ -348,6 +348,7 @@ _elm_label_text_set(Eo *obj, Elm_Label_Data *sd, const char *part, const char *l
    if (!label) label = "";
    _label_format_set(wd->resize_obj, sd->format);
 
+   if (!part) part = _text_aliases[0].real_part;
    efl_text_set(efl_part(efl_super(obj, MY_CLASS), part), label);
 
    if (int_ret)
index b15c99c..5aa13a9 100644 (file)
@@ -2325,10 +2325,7 @@ elm_layout_table_clear(Elm_Layout *obj, const char *part, Eina_Bool clear)
 EAPI Eina_Bool
 elm_layout_text_set(Elm_Layout *obj, const char *part, const char *text)
 {
-   if (!part || (*part == '\0'))
-     {
-        part = "elm.text";
-     }
+   if (!part) part = "elm.text";
    efl_text_set(efl_part(obj, part), text);
    return EINA_TRUE;
 }