From c1f5d64511b0421c0fe944b00c8a5b29879060d9 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Fri, 4 May 2018 20:34:29 +0900 Subject: [PATCH] elm_object : Support to translatable_part_text of legacy widget Summary: this commit supports aliasing of legacy widget about translatable_part_text_set/get. Test Plan: elm_object_domain_translatable_part_text_set(btn, "default", NULL, "sample_text"); const char* text = elm_object_translatable_part_text_get(btn, "default"); Reviewers: cedric, herb, id213sin, woohyun Tags: #efl Differential Revision: https://phab.enlightenment.org/D6056 --- src/lib/elementary/elm_main.c | 36 +++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c index 8e643cfd22..3bcefcafdf 100644 --- a/src/lib/elementary/elm_main.c +++ b/src/lib/elementary/elm_main.c @@ -1394,20 +1394,44 @@ EAPI void elm_object_domain_translatable_part_text_set(Evas_Object *obj, const char *part, const char *domain, const char *text) { EINA_SAFETY_ON_NULL_RETURN(obj); - if (!part) - efl_ui_translatable_text_set(obj, text, domain); + if (elm_widget_is_legacy(obj)) + { + if (!part) + part = efl_ui_widget_default_text_part_get(obj); + else if (efl_isa(obj, EFL_UI_LAYOUT_OBJECT_CLASS)) + _elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE); + + elm_widget_part_translatable_text_set(obj, part, text, domain); + } else - efl_ui_translatable_text_set(efl_part(obj, part), text, domain); + { + if (!part) + efl_ui_translatable_text_set(obj, text, domain); + else + efl_ui_translatable_text_set(efl_part(obj, part), text, domain); + } } EAPI const char * elm_object_translatable_part_text_get(const Evas_Object *obj, const char *part) { EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL); - if (!part) - return efl_ui_translatable_text_get(obj, NULL); + if (elm_widget_is_legacy(obj)) + { + if (!part) + part = efl_ui_widget_default_text_part_get(obj); + else if (efl_isa(obj, EFL_UI_LAYOUT_OBJECT_CLASS)) + _elm_layout_part_aliasing_eval(obj, &part, EINA_TRUE); + + return elm_widget_part_translatable_text_get(obj, part, NULL); + } else - return efl_ui_translatable_text_get(efl_part(obj, part), NULL); + { + if (!part) + return efl_ui_translatable_text_get(obj, NULL); + else + return efl_ui_translatable_text_get(efl_part(obj, part), NULL); + } } EAPI void