diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 26d91b55dd..9edc2308ab 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -1025,3 +1025,7 @@ 2013-02-16 Paulo C. A. Cavalcanti Jr * Fix elm_config to properly check file type. + +2013-02-16 ChunEon Park (Hermet) + + * Improve naviframe to not apply items'style multiple times. diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index 8ab7ce80aa..3b94dd141e 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -38,7 +38,8 @@ Additions: * Add APIs - elm_object_domain_translatable_part_text_set(), elm_object_translatable_part_text_get(). * Add APIs - elm_object_orientation_mode_disabled_set(), elm_object_orientation_mode_disabled_get(). * Add the reorder effect in toolbar. - * Support naviframe, label, button orientation mode. + * Added new APIs elm_transit_tween_mode_facator_set()/get() + * Support widget orientation mode in order to widgets have multiple styles for each window degree. Improvements: @@ -66,9 +67,9 @@ Improvements: in most case they don't need all parts at the same time. * Enhanced diskselector add and item_append time. * Expand elm_transit_tween_mode ELM_TRANSIT_TWEEN_MODE_DIVISOR_INTERP, ELM_TRANSIT_TWEEN_MODE_BOUNCE, ELM_TRANSIT_TWEEN_MODE_SPRING - * Added new APIs elm_transit_tween_mode_facator_set()/get() * Ctxpopup will be dismissed when language is changed. * Popup is now a focusable object. + * Improve naviframe to not apply items' style multiple times when theme/styles are changed. Fixes: diff --git a/legacy/elementary/src/lib/elc_naviframe.c b/legacy/elementary/src/lib/elc_naviframe.c index e7cf3ba896..a31ad79c56 100644 --- a/legacy/elementary/src/lib/elc_naviframe.c +++ b/legacy/elementary/src/lib/elc_naviframe.c @@ -283,12 +283,17 @@ _elm_naviframe_smart_theme(Eo *obj, void *_pd, va_list *list) Elm_Naviframe_Smart_Data *sd = _pd; Eina_Bool *ret = va_arg(*list, Eina_Bool *); Eina_Bool int_ret = EINA_FALSE; + const char *style, *sstyle; eo_do_super(obj, elm_wdg_theme(&int_ret)); if (!int_ret) return; + eo_do(obj, elm_wdg_style_get(&style)); + EINA_INLIST_FOREACH(sd->stack, it) { - _item_style_set(it, it->style); + eo_do(VIEW(it), elm_wdg_style_get(&sstyle)); + if ((style && sstyle) && strcmp(style, sstyle)) + _item_style_set(it, it->style); _item_signals_emit(it); _item_title_visible_update(it); }