From c0e4a218dd06ecf790a5338c4fcc09a4073dba0c Mon Sep 17 00:00:00 2001 From: Daniel Hirt Date: Thu, 29 Jun 2017 21:33:12 +0300 Subject: [PATCH] Elm layout: fix broken text part name resolving 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 | 2 +- src/lib/elementary/elc_popup.c | 2 +- src/lib/elementary/elm_actionslider.c | 3 +++ src/lib/elementary/elm_bubble.c | 1 + src/lib/elementary/elm_label.c | 1 + src/lib/elementary/elm_layout.c | 5 +---- 6 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/elc_multibuttonentry.c b/src/lib/elementary/elc_multibuttonentry.c index c982803062..ea4c23ff59 100644 --- a/src/lib/elementary/elc_multibuttonentry.c +++ b/src/lib/elementary/elc_multibuttonentry.c @@ -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; diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c index 45862b0901..e3ef8425af 100644 --- a/src/lib/elementary/elc_popup.c +++ b/src/lib/elementary/elc_popup.c @@ -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); diff --git a/src/lib/elementary/elm_actionslider.c b/src/lib/elementary/elm_actionslider.c index 95f4cd6b42..80888bbcc0 100644 --- a/src/lib/elementary/elm_actionslider.c +++ b/src/lib/elementary/elm_actionslider.c @@ -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; diff --git a/src/lib/elementary/elm_bubble.c b/src/lib/elementary/elm_bubble.c index 520a16198d..51f2de1d59 100644 --- a/src/lib/elementary/elm_bubble.c +++ b/src/lib/elementary/elm_bubble.c @@ -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; diff --git a/src/lib/elementary/elm_label.c b/src/lib/elementary/elm_label.c index 10a009cda1..7a5f65e2a9 100644 --- a/src/lib/elementary/elm_label.c +++ b/src/lib/elementary/elm_label.c @@ -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) diff --git a/src/lib/elementary/elm_layout.c b/src/lib/elementary/elm_layout.c index b15c99c241..5aa13a942b 100644 --- a/src/lib/elementary/elm_layout.c +++ b/src/lib/elementary/elm_layout.c @@ -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; }