elementary/naviframe - improve the naviframe to not apply it's items style multiple time when theme or styles are changed.

SVN revision: 83985
This commit is contained in:
ChunEon Park 2013-02-16 12:08:42 +00:00
parent 0bdf6191ea
commit e91c97418c
3 changed files with 13 additions and 3 deletions

View File

@ -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.

View File

@ -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:

View File

@ -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);
}