From 0bedba6f5fcf5da1204a02f491ab7bf6e36fdc2c Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Fri, 27 Sep 2013 02:05:00 +0900 Subject: [PATCH] elementary/layout - fix the layout to swallow contents again when theme is changed. --- legacy/elementary/ChangeLog | 4 ++++ legacy/elementary/NEWS | 1 + legacy/elementary/src/lib/elm_layout.c | 22 +++++++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 947f1be..884807c 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -1648,3 +1648,7 @@ 2013-09-21 Daniel Juyung Seo (SeoZ) * menu: added elm_menu_item_subitems_clear. + +2013-09-27 ChunEon Park (Hermet) + + * layout: fixed the layout to swallow the contents again when theme is changed. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index e7747ed..a974127 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -287,6 +287,7 @@ Fixes: * Spinner : change part name to access.text from access_text on default style. * Fix fileselector only send "selected" signal without selection when file path is typed on the path entry. * Fix spinner arrow key focus movement bug. + * Fix the layout to swallow the contents again when theme is changed. Removals: diff --git a/legacy/elementary/src/lib/elm_layout.c b/legacy/elementary/src/lib/elm_layout.c index 6c03511..b28704c 100644 --- a/legacy/elementary/src/lib/elm_layout.c +++ b/legacy/elementary/src/lib/elm_layout.c @@ -185,6 +185,23 @@ _parts_signals_emit(Elm_Layout_Smart_Data *sd) } static void +_parts_swallow_fix(Elm_Layout_Smart_Data *sd, Elm_Widget_Smart_Data *wd) +{ + Eina_List *l; + Elm_Layout_Sub_Object_Data *sub_d; + + EINA_LIST_FOREACH(sd->subs, l, sub_d) + { + if (sub_d->type == SWALLOW) + { + if (sub_d->part) + edje_object_part_swallow(wd->resize_obj, + sub_d->part, sub_d->obj); + } + } +} + +static void _parts_text_fix(Elm_Layout_Smart_Data *sd) { const Eina_List *l; @@ -263,13 +280,16 @@ static void _visuals_refresh(Evas_Object *obj, Elm_Layout_Smart_Data *sd) { + + Elm_Widget_Smart_Data *wd = eo_data_scope_get(obj, ELM_OBJ_WIDGET_CLASS); + + _parts_swallow_fix(sd, wd); _parts_text_fix(sd); _parts_signals_emit(sd); _parts_cursors_apply(sd); eo_do(obj, elm_obj_layout_sizing_eval()); - Elm_Widget_Smart_Data *wd = eo_data_scope_get(sd->obj, ELM_OBJ_WIDGET_CLASS); edje_object_signal_callback_del(wd->resize_obj, "edje,change,file", "edje", _reload_theme); -- 2.7.4