hermet pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=a7d6ffdd382fcaf68a6e6f9be9da691ac0fc2c05

commit a7d6ffdd382fcaf68a6e6f9be9da691ac0fc2c05
Author: ChunEon Park <[email protected]>
Date:   Wed Dec 31 19:10:40 2014 +0900

    genlist: send reorder signal to decoration item and views.
    
    Previous logic was too much stick to special case for *tizen*
    let decide item styles in theme as possible.
    
    This might break reorder group item ui, but it won't be critical.
    because tizen ui only depeneded on the scenario and they don't use them 
anymore.
    
    This will be much better for multiple scenario in the future.
---
 src/lib/elm_genlist.c | 40 +++++++++++++++++++++++++++-------------
 1 file changed, 27 insertions(+), 13 deletions(-)

diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 587372d..55d3346 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -1313,6 +1313,12 @@ _decorate_all_item_realize(Elm_Gen_Item *it,
    _elm_genlist_item_position_state_update(it);
    _elm_genlist_item_state_update(it, NULL);
 
+   if (GL_IT(it)->wsd->reorder_mode)
+     {
+        edje_object_signal_emit(it->deco_all_view, SIGNAL_REORDER_MODE_UNSET,
+                                "elm");
+     }
+
    if (effect_on)
      edje_object_signal_emit
         (it->deco_all_view, SIGNAL_DECORATE_ENABLED_EFFECT, "elm");
@@ -1649,13 +1655,11 @@ _item_realize(Elm_Gen_Item *it,
 
    _item_order_update(EINA_INLIST_GET(it), in);
 
-   if (!it->deco_all_view)
-     {
-        if (sd->reorder_mode)
-          edje_object_signal_emit(VIEW(it), SIGNAL_REORDER_MODE_SET, "elm");
-        else
-          edje_object_signal_emit(VIEW(it), SIGNAL_REORDER_MODE_UNSET, "elm");
-    }
+   if (sd->reorder_mode)
+     edje_object_signal_emit(VIEW(it), SIGNAL_REORDER_MODE_SET, "elm");
+   else
+     edje_object_signal_emit(VIEW(it), SIGNAL_REORDER_MODE_UNSET, "elm");
+
    treesize = edje_object_data_get(VIEW(it), "treesize");
    if (treesize) tsize = atoi(treesize);
 
@@ -7567,14 +7571,24 @@ _elm_genlist_reorder_mode_set(Eo *obj EINA_UNUSED, 
Elm_Genlist_Data *sd, Eina_Bo
    EINA_LIST_FREE(realized, eo_it)
     {
        ELM_GENLIST_ITEM_DATA_GET(eo_it, it);
-       Evas_Object *view;
-       if (it->deco_all_view) view = it->deco_all_view;
-       else view = VIEW(it);
-
        if (sd->reorder_mode)
-         edje_object_signal_emit(view, SIGNAL_REORDER_MODE_SET, "elm");
+         {
+            edje_object_signal_emit(VIEW(it), SIGNAL_REORDER_MODE_SET, "elm");
+            if (it->deco_all_view)
+              {
+                 edje_object_signal_emit(it->deco_all_view,
+                                         SIGNAL_REORDER_MODE_SET, "elm");
+              }
+         }
        else
-         edje_object_signal_emit(view, SIGNAL_REORDER_MODE_UNSET, "elm");
+         {
+            edje_object_signal_emit(VIEW(it), SIGNAL_REORDER_MODE_UNSET, 
"elm");
+            if (it->deco_all_view)
+              {
+                 edje_object_signal_emit(it->deco_all_view,
+                                         SIGNAL_REORDER_MODE_UNSET, "elm");
+              }
+         }
     }
 }
 

-- 


Reply via email to