elementary/naviframe - improve the naviframe to not apply it's items style multiple...
authorChunEon Park <hermet@hermet.pe.kr>
Sat, 16 Feb 2013 12:08:42 +0000 (12:08 +0000)
committerChunEon Park <hermet@hermet.pe.kr>
Sat, 16 Feb 2013 12:08:42 +0000 (12:08 +0000)
SVN revision: 83985

legacy/elementary/ChangeLog
legacy/elementary/NEWS
legacy/elementary/src/lib/elc_naviframe.c

index 26d91b5..9edc230 100644 (file)
 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.
index 8ab7ce8..3b94dd1 100644 (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:
 
index e7cf3ba..a31ad79 100644 (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);
      }