okra pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=ae9966970b3a7cd19197d009056fb5a6eb69aa6d
commit ae9966970b3a7cd19197d009056fb5a6eb69aa6d Author: Stephen 'Okra' Houston <smhousto...@gmail.com> Date: Wed Aug 23 15:27:39 2017 -0500 Pager gadget: Take advantage of new theme. For this to work, you must update EFL first. --- src/modules/pager/gadget/pager.c | 120 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 118 insertions(+), 2 deletions(-) diff --git a/src/modules/pager/gadget/pager.c b/src/modules/pager/gadget/pager.c index e3f8f8a96..23c7726d6 100644 --- a/src/modules/pager/gadget/pager.c +++ b/src/modules/pager/gadget/pager.c @@ -140,6 +140,108 @@ static Eina_List *pagers = NULL; static E_Action *act_popup_show = NULL; static E_Action *act_popup_switch = NULL; +static const char * +_pager_location_get(Instance *inst) +{ + const char *s = "float"; + + if (!inst) return NULL; + + E_Gadget_Site_Orient orient = e_gadget_site_orient_get(e_gadget_site_get(inst->o_pager)); + E_Gadget_Site_Anchor anchor = e_gadget_site_anchor_get(e_gadget_site_get(inst->o_pager)); + + if (anchor & E_GADGET_SITE_ANCHOR_LEFT) + { + if (anchor & E_GADGET_SITE_ANCHOR_TOP) + { + switch (orient) + { + case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "top"; + break; + case E_GADGET_SITE_ORIENT_VERTICAL: + s = "left"; + break; + case E_GADGET_SITE_ORIENT_NONE: + s = "left"; + break; + } + } + else if (anchor & E_GADGET_SITE_ANCHOR_BOTTOM) + { + switch (orient) + { + case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "bottom"; + break; + case E_GADGET_SITE_ORIENT_VERTICAL: + s = "left"; + break; + case E_GADGET_SITE_ORIENT_NONE: + s = "left"; + break; + } + } + else + s = "left"; + } + else if (anchor & E_GADGET_SITE_ANCHOR_RIGHT) + { + if (anchor & E_GADGET_SITE_ANCHOR_TOP) + { + switch (orient) + { + case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "top"; + break; + case E_GADGET_SITE_ORIENT_VERTICAL: + s = "right"; + break; + case E_GADGET_SITE_ORIENT_NONE: + s = "right"; + break; + } + } + else if (anchor & E_GADGET_SITE_ANCHOR_BOTTOM) + { + switch (orient) + { + case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "bottom"; + break; + case E_GADGET_SITE_ORIENT_VERTICAL: + s = "right"; + break; + case E_GADGET_SITE_ORIENT_NONE: + s = "right"; + break; + } + } + else + s = "right"; + } + else if (anchor & E_GADGET_SITE_ANCHOR_TOP) + s = "top"; + else if (anchor & E_GADGET_SITE_ANCHOR_BOTTOM) + s = "bottom"; + else + { + switch (orient) + { + case E_GADGET_SITE_ORIENT_HORIZONTAL: + s = "bottom"; + break; + case E_GADGET_SITE_ORIENT_VERTICAL: + s = "left"; + break; + default: + s = "bottom"; + break; + } + } + return s; +} + static Eina_Bool _pager_check_modifiers(Evas_Modifier *modifiers) { @@ -502,6 +604,8 @@ _pager_desk_free(Pager_Desk *pd) static void _pager_desk_select(Pager_Desk *pd) { + char ori[32]; + const char *s = _pager_location_get(pd->pager->inst); if (pd->current) return; if (pd->pager->active_pd) { @@ -510,7 +614,11 @@ _pager_desk_select(Pager_Desk *pd) } pd->current = 1; evas_object_raise(pd->o_desk); - edje_object_signal_emit(pd->o_desk, "e,state,selected", "e"); + if (s) + snprintf(ori, sizeof(ori), "e,state,selected,%s", s); + else + snprintf(ori, sizeof(ori), "e,state,selected,bottom"); + edje_object_signal_emit(pd->o_desk, ori, "e"); pd->pager->active_pd = pd; } @@ -859,7 +967,15 @@ _pager_cb_config_gadget_updated(void) EINA_LIST_FOREACH(p->desks, ll, pd) { if (pd->current) - edje_object_signal_emit(pd->o_desk, "e,state,selected", "e"); + { + char ori[32]; + const char *s = _pager_location_get(pd->pager->inst); + if (s) + snprintf(ori, sizeof(ori), "e,state,selected,%s", s); + else + snprintf(ori, sizeof(ori), "e,state,selected,bottom"); + edje_object_signal_emit(pd->o_desk, ori, "e"); + } else edje_object_signal_emit(pd->o_desk, "e,state,unselected", "e"); if (pager_config->show_desk_names) --