rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=d6d7a0a4e0a2c9179df0f36abaad04f950b71aea

commit d6d7a0a4e0a2c9179df0f36abaad04f950b71aea
Author: Andrii Kroitor <an.kroi...@samsung.com>
Date:   Tue Mar 29 09:36:11 2016 +0300

    genlist: move double-click expand from code to style
    
    Fixes T3350
---
 data/themes/default/widgets/genlist.edc | 48 +++++++++++++++++++++++++++++++++
 src/bin/ui/project_navigator.c          |  6 +----
 src/bin/ui/style_manager.c              | 14 ----------
 src/bin/ui/workspace/demo_group.c       | 11 --------
 src/bin/ui/workspace/group_navigator.c  | 12 ---------
 5 files changed, 49 insertions(+), 42 deletions(-)

diff --git a/data/themes/default/widgets/genlist.edc 
b/data/themes/default/widgets/genlist.edc
index 622a2d2..9883ba2 100644
--- a/data/themes/default/widgets/genlist.edc
+++ b/data/themes/default/widgets/genlist.edc
@@ -508,6 +508,13 @@ group { name: "elm/genlist/tree/default/default";
             }
          }
       }
+      part { name: "events";
+         type: RECT;
+         repeat_events: 1;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
       part { name: "arrow";
          type: IMAGE;
          description { state: "default" 0.0;
@@ -650,6 +657,11 @@ group { name: "elm/genlist/tree/default/default";
          action: STATE_SET "default" 0.00;
          target: "disclip";
       }
+      program { name: "dbl_click";
+         signal: "mouse,down,1,double";
+         source: "events";
+         action: SIGNAL_EMIT "elm,action,expand,toggle" "elm";
+      }
    }
 }
 
@@ -749,6 +761,13 @@ group { name: "elm/genlist/tree/part/default";
             color: 255 255 255 0;
          }
       }
+      part { name: "events";
+         type: RECT;
+         repeat_events: 1;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
       part { name: "arrow";
          type: IMAGE;
          description { state: "default" 0.0;
@@ -823,6 +842,11 @@ group { name: "elm/genlist/tree/part/default";
          action: STATE_SET "default" 0.00;
          target: "disclip";
       }
+      program { name: "dbl_click";
+         signal: "mouse,down,1,double";
+         source: "events";
+         action: SIGNAL_EMIT "elm,action,expand,toggle" "elm";
+      }
    }
 }
 
@@ -1254,6 +1278,13 @@ group { name: "elm/genlist/tree/items_caption/default";
             }
          }
       }
+      part { name: "events";
+         type: RECT;
+         repeat_events: 1;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
       part { name: "arrow";
          type: IMAGE;
          description { state: "default" 0.0;
@@ -1351,6 +1382,11 @@ group { name: "elm/genlist/tree/items_caption/default";
          action: STATE_SET "default" 0.00;
          target: "disclip";
       }
+      program { name: "dbl_click";
+         signal: "mouse,down,1,double";
+         source: "events";
+         action: SIGNAL_EMIT "elm,action,expand,toggle" "elm";
+      }
    }
 }
 
@@ -1466,6 +1502,13 @@ group { name: "elm/genlist/tree/caption/default";
             }
          }
       }
+      part { name: "events";
+         type: RECT;
+         repeat_events: 1;
+         description { state: "default" 0.0;
+            color: 0 0 0 0;
+         }
+      }
       part { name: "arrow";
          type: IMAGE;
          description { state: "default" 0.0;
@@ -1561,6 +1604,11 @@ group { name: "elm/genlist/tree/caption/default";
          action: STATE_SET "default" 0.00;
          target: "arrow";
       }
+      program { name: "dbl_click";
+         signal: "mouse,down,1,double";
+         source: "events";
+         action: SIGNAL_EMIT "elm,action,expand,toggle" "elm";
+      }
    }
 }
 
diff --git a/src/bin/ui/project_navigator.c b/src/bin/ui/project_navigator.c
index cfb17dd..6c80b30 100644
--- a/src/bin/ui/project_navigator.c
+++ b/src/bin/ui/project_navigator.c
@@ -279,11 +279,7 @@ _on_clicked_double(void *data __UNUSED__,
 {
    Elm_Object_Item *glit = (Elm_Object_Item *)event_info;
 
-   if (elm_genlist_item_type_get(glit) == ELM_GENLIST_ITEM_TREE)
-     {
-        elm_genlist_item_expanded_set(glit, 
!elm_genlist_item_expanded_get(glit));
-     }
-   else
+   if (elm_genlist_item_type_get(glit) != ELM_GENLIST_ITEM_TREE)
      {
         Group *group = (Group *)elm_object_item_data_get(glit);
         evas_object_smart_callback_call(project_navigator.layout, 
SIGNAL_GROUP_OPEN, group);
diff --git a/src/bin/ui/style_manager.c b/src/bin/ui/style_manager.c
index 19c5cef..3bf5116 100644
--- a/src/bin/ui/style_manager.c
+++ b/src/bin/ui/style_manager.c
@@ -802,19 +802,6 @@ _contracted_cb(void *data __UNUSED__,
 }
 
 static void
-_on_clicked_double(void *data __UNUSED__,
-                   Evas_Object *obj __UNUSED__,
-                   void *event_info)
-{
-   Elm_Object_Item *glit = (Elm_Object_Item *)event_info;
-
-   if (elm_genlist_item_type_get(glit) == ELM_GENLIST_ITEM_TREE)
-     {
-        elm_genlist_item_expanded_set(glit, 
!elm_genlist_item_expanded_get(glit));
-     }
-}
-
-static void
 _on_bt_add(void *data,
            Evas_Object *obj __UNUSED__,
            void *event_info __UNUSED__)
@@ -993,7 +980,6 @@ style_manager_add()
 
    style_edit->glist = elm_genlist_add(main_layout);
    elm_object_part_content_set(main_layout, "elm.swallow.list", 
style_edit->glist);
-   evas_object_smart_callback_add(style_edit->glist, "clicked,double", 
_on_clicked_double, NULL);
    evas_object_smart_callback_add(style_edit->glist, "expand,request", 
_expand_request_cb, NULL);
    evas_object_smart_callback_add(style_edit->glist, "expanded", _expanded_cb, 
style_edit);
    evas_object_smart_callback_add(style_edit->glist, "contract,request", 
_contract_request_cb, NULL);
diff --git a/src/bin/ui/workspace/demo_group.c 
b/src/bin/ui/workspace/demo_group.c
index ff39ff9..19bbc20 100644
--- a/src/bin/ui/workspace/demo_group.c
+++ b/src/bin/ui/workspace/demo_group.c
@@ -94,16 +94,6 @@ _sig_label_get(void *data,
 }
 
 static void
-_on_clicked_double(void *data __UNUSED__,
-                   Evas_Object *obj __UNUSED__,
-                   void *event_info)
-{
-   Elm_Object_Item *glit = (Elm_Object_Item *)event_info;
-
-   if (elm_genlist_item_type_get(glit) == ELM_GENLIST_ITEM_TREE)
-     elm_genlist_item_expanded_set(glit, !elm_genlist_item_expanded_get(glit));
-}
-static void
 _expand_request_cb(void *data __UNUSED__,
                    Evas_Object *o __UNUSED__,
                    void *event_info)
@@ -446,7 +436,6 @@ demo_group_add(Group *group)
    evas_object_smart_callback_add(ap.win, SIGNAL_PART_RENAMED, _part_renamed, 
pl);
    evas_object_smart_callback_add(ap.win, SIGNAL_EDITOR_PROGRAM_UPDATE, 
_program_add, pl);
 
-   evas_object_smart_callback_add(pl->genlist, "clicked,double", 
_on_clicked_double, pl);
    evas_object_smart_callback_add(pl->genlist, "expand,request", 
_expand_request_cb, pl);
    evas_object_smart_callback_add(pl->genlist, "contract,request", 
_contract_request_cb, pl);
    evas_object_smart_callback_add(pl->genlist, "expanded", _expanded_cb, pl);
diff --git a/src/bin/ui/workspace/group_navigator.c 
b/src/bin/ui/workspace/group_navigator.c
index 58e0f9d..e310cef 100644
--- a/src/bin/ui/workspace/group_navigator.c
+++ b/src/bin/ui/workspace/group_navigator.c
@@ -365,17 +365,6 @@ _contract_request_cb(void *data __UNUSED__,
 }
 
 static void
-_on_clicked_double(void *data __UNUSED__,
-                   Evas_Object *obj __UNUSED__,
-                   void *event_info)
-{
-   Elm_Object_Item *glit = (Elm_Object_Item *)event_info;
-
-   if (elm_genlist_item_type_get(glit) == ELM_GENLIST_ITEM_TREE)
-     elm_genlist_item_expanded_set(glit, !elm_genlist_item_expanded_get(glit));
-}
-
-static void
 _on_activated(void *data,
               Evas_Object *obj __UNUSED__,
               void *event_info)
@@ -1935,7 +1924,6 @@ group_navigator_add(Evas_Object *parent, Group *group)
    elm_scroller_policy_set(pl->genlist, ELM_SCROLLER_POLICY_OFF, 
ELM_SCROLLER_POLICY_AUTO);
    evas_object_show(pl->genlist);
    elm_object_content_set(pl->layout, pl->genlist);
-   evas_object_smart_callback_add(pl->genlist, "clicked,double", 
_on_clicked_double, pl);
    evas_object_smart_callback_add(pl->genlist, "activated", _on_activated, pl);
    evas_object_smart_callback_add(pl->genlist, "expand,request", 
_expand_request_cb, pl);
    evas_object_smart_callback_add(pl->genlist, "contract,request", 
_contract_request_cb, pl);

-- 


Reply via email to