ajwillia-ms pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d99fe0e02a6f6e353723e187c99dcd9f05838e58
commit d99fe0e02a6f6e353723e187c99dcd9f05838e58 Author: Andy Williams <[email protected]> Date: Thu Mar 16 23:02:28 2017 +0000 luncher: Fix some wobble --- src/modules/luncher/bar.c | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/src/modules/luncher/bar.c b/src/modules/luncher/bar.c index ec8128d..1c5afee 100644 --- a/src/modules/luncher/bar.c +++ b/src/modules/luncher/bar.c @@ -1059,26 +1059,32 @@ _bar_icon_file_set(Icon *ic, Efreet_Desktop *desktop, E_Client *non_desktop_clie elm_image_file_set(ic->o_overlay, path, k); } +static float +_bar_size_calc(Instance *inst) +{ + Icon *ic; + Eina_List *l; + float tot = 0.0; + + EINA_LIST_FOREACH(inst->icons, l, ic) + tot += ic->scale; + + return tot; +} + static void _bar_resized_cb(void *data, Evas_Object *obj EINA_UNUSED, const char *emission EINA_UNUSED, const char *source EINA_UNUSED) { Instance *inst = data; - Icon *ic = NULL; - Eina_List *l = NULL; - Evas_Coord tot = 0; if (!inst->effect) return; switch (e_gadget_site_orient_get(e_gadget_site_get(inst->o_main))) { case E_GADGET_SITE_ORIENT_VERTICAL: - EINA_LIST_FOREACH(inst->icons, l, ic) - tot += ic->scale * 1000; - evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, 1000, tot); + evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, 1000, _bar_size_calc(inst) * 1000); break; default: - EINA_LIST_FOREACH(inst->icons, l, ic) - tot += ic->scale * 1000; - evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, tot, 1000); + evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, _bar_size_calc(inst) * 1000, 1000); } } @@ -1090,7 +1096,6 @@ _bar_icon_scale_message(void *data, Evas_Object *obj EINA_UNUSED, Edje_Message_T Icon *ic = data; float total; - ic->scale = mmsg->val[0]; if (ic->scale > 1.0) @@ -1102,14 +1107,14 @@ _bar_icon_scale_message(void *data, Evas_Object *obj EINA_UNUSED, Edje_Message_T case E_GADGET_SITE_ORIENT_VERTICAL: evas_object_resize(ic->o_spacerb, ic->inst->size, add); evas_object_size_hint_min_set(ic->o_spacerb, ic->inst->size, add); - evas_object_resize(ic->o_spacera, ic->inst->size, add); - evas_object_size_hint_min_set(ic->o_spacera, ic->inst->size, add); + evas_object_resize(ic->o_spacera, ic->inst->size, total - add); + evas_object_size_hint_min_set(ic->o_spacera, ic->inst->size, total - add); break; default: evas_object_resize(ic->o_spacerb, add, ic->inst->size); evas_object_size_hint_min_set(ic->o_spacerb, add, ic->inst->size); - evas_object_resize(ic->o_spacera, add, ic->inst->size); - evas_object_size_hint_min_set(ic->o_spacera, add, ic->inst->size); + evas_object_resize(ic->o_spacera, total - add, ic->inst->size); + evas_object_size_hint_min_set(ic->o_spacera, total - add, ic->inst->size); } } else --
