davemds pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=30c81ac188be8b430f73fd4f44f3c5fef31fff57
commit 30c81ac188be8b430f73fd4f44f3c5fef31fff57 Author: Dave Andreoli <d...@gurumeditation.it> Date: Sun Jan 8 18:00:00 2017 +0100 mem gadget: respect the aspect ratio of the theme I really don't like this implementation (taken from the clock gadget). If you know a better way to get the aspect from an elm layout please let me know --- src/modules/sysinfo/memusage/memusage.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/src/modules/sysinfo/memusage/memusage.c b/src/modules/sysinfo/memusage/memusage.c index f7daae1..a1cbd67 100644 --- a/src/modules/sysinfo/memusage/memusage.c +++ b/src/modules/sysinfo/memusage/memusage.c @@ -110,6 +110,37 @@ sysinfo_memusage_remove(Instance *inst) } static void +_memusage_eval_instance_aspect(Instance *inst) +{ + Evas_Coord w, h; + Evas_Coord sw = 0, sh = 0; + Evas_Object *owner, *ed; + + owner = e_gadget_site_get(inst->o_main); + switch (e_gadget_site_orient_get(owner)) + { + case E_GADGET_SITE_ORIENT_HORIZONTAL: + evas_object_geometry_get(owner, NULL, NULL, NULL, &sh); + sw = sh; + break; + + case E_GADGET_SITE_ORIENT_VERTICAL: + evas_object_geometry_get(owner, NULL, NULL, &sw, NULL); + sh = sw; + break; + + default: + sw = sh = 48; + break; + } + + evas_object_resize(inst->cfg->memusage.o_gadget, sw, sh); + ed = elm_layout_edje_get(inst->cfg->memusage.o_gadget); + edje_object_parts_extends_calc(ed, NULL, NULL, &w, &h); + evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); +} + +static void _memusage_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSED) { Instance *inst = data; @@ -122,6 +153,7 @@ _memusage_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSED) elm_box_pack_end(inst->o_main, inst->cfg->memusage.o_gadget); evas_object_show(inst->cfg->memusage.o_gadget); evas_object_smart_callback_del_full(obj, "gadget_created", _memusage_created_cb, data); + _memusage_eval_instance_aspect(inst); _memusage_config_updated(inst); } @@ -176,7 +208,6 @@ memusage_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient EINA_U *id = inst->cfg->id; inst->o_main = elm_box_add(parent); E_EXPAND(inst->o_main); - evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, 1, 1); evas_object_smart_callback_add(parent, "gadget_created", _memusage_created_cb, inst); evas_object_smart_callback_add(parent, "gadget_removed", _memusage_removed_cb, inst); evas_object_show(inst->o_main); --