discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=0f5b287866ddd9503b807b696c011358e0395443

commit 0f5b287866ddd9503b807b696c011358e0395443
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Aug 25 14:47:05 2017 -0400

    add gadget api for determining if a gadget site is a desklock site
    
    potentially this could be improved to use a vastly overengineered 'policy'
    setup, but for now this fits the biggest use case
    
    ref T4648
---
 src/bin/e_gadget.c | 11 +++++++++++
 src/bin/e_gadget.h |  1 +
 2 files changed, 12 insertions(+)

diff --git a/src/bin/e_gadget.c b/src/bin/e_gadget.c
index 1374fb02b..a7ed76e78 100644
--- a/src/bin/e_gadget.c
+++ b/src/bin/e_gadget.c
@@ -1498,6 +1498,7 @@ static void
 _site_create(E_Gadget_Site *zgs)
 {
    zgs->layout = elm_box_add(e_comp->elm);
+   evas_object_name_set(zgs->layout, zgs->name);
    elm_box_horizontal_set(zgs->layout, zgs->orient == 
E_GADGET_SITE_ORIENT_HORIZONTAL);
    _gravity_apply(zgs, zgs->gravity);
    if (!zgs->orient)
@@ -1748,6 +1749,15 @@ e_gadget_site_get(Evas_Object *g)
    return zgc->site->layout;
 }
 
+E_API Eina_Bool
+e_gadget_site_is_desklock(Evas_Object *obj)
+{
+   const char *name;
+   ZGS_GET(obj);
+   name = evas_object_name_get(obj);
+   return name && strstr(name, "desklock");
+}
+
 E_API void
 e_gadget_configure_cb_set(Evas_Object *g, E_Gadget_Configure_Cb cb)
 {
@@ -2615,6 +2625,7 @@ e_gadget_editor_add(Evas_Object *parent, Evas_Object 
*site)
    elm_scroller_bounce_set(list, 0, 0);
    elm_scroller_policy_set(list, ELM_SCROLLER_POLICY_OFF, 
ELM_SCROLLER_POLICY_AUTO);
    tempsite = e_gadget_site_add(orient, NULL);
+   evas_object_name_set(tempsite, evas_object_name_get(site));
    e_gadget_site_gravity_set(tempsite, E_GADGET_SITE_GRAVITY_NONE);
 
    it = e_gadget_type_iterator_get();
diff --git a/src/bin/e_gadget.h b/src/bin/e_gadget.h
index fd92b79fe..444817c2a 100644
--- a/src/bin/e_gadget.h
+++ b/src/bin/e_gadget.h
@@ -113,6 +113,7 @@ E_API void e_gadget_site_gravity_set(Evas_Object *obj, 
E_Gadget_Site_Gravity gra
 E_API void e_gadget_site_gadget_add(Evas_Object *obj, const char *type, 
Eina_Bool demo);
 E_API void e_gadget_site_gadget_external_add(Evas_Object *obj, const char 
*domain, const char *type, Eina_Bool demo);
 E_API Eina_List *e_gadget_site_gadgets_list(Evas_Object *obj);
+E_API Eina_Bool e_gadget_site_is_desklock(Evas_Object *obj);
 
 E_API void e_gadget_configure_cb_set(Evas_Object *g, E_Gadget_Configure_Cb cb);
 E_API void e_gadget_configure(Evas_Object *g);

-- 


Reply via email to