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
This commit is contained in:
Mike Blumenkrantz 2017-08-25 14:47:05 -04:00
parent a72b88c0e7
commit 0f5b287866
2 changed files with 12 additions and 0 deletions

View File

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

View File

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