From d99e88b78c2fd7ce820d93632bb638e7a48fc167 Mon Sep 17 00:00:00 2001 From: Stephen 'Okra' Houston Date: Fri, 27 Jan 2017 14:55:24 -0600 Subject: [PATCH] Enlightenment - Sysinfo Gadget - Size all sysinfo gadgets by aspect - should allow for proper theming. --- src/modules/sysinfo/batman/batman.c | 15 +++++++++++++++ src/modules/sysinfo/cpuclock/cpuclock.c | 15 +++++++++++++++ src/modules/sysinfo/cpumonitor/cpumonitor.c | 14 ++++++++------ src/modules/sysinfo/memusage/memusage.c | 6 +++++- src/modules/sysinfo/netstatus/netstatus.c | 15 +++++++++++++++ src/modules/sysinfo/sysinfo.c | 14 ++++++-------- src/modules/sysinfo/thermal/thermal.c | 6 +++++- 7 files changed, 69 insertions(+), 16 deletions(-) diff --git a/src/modules/sysinfo/batman/batman.c b/src/modules/sysinfo/batman/batman.c index a9e3f6a8c..477c7224d 100644 --- a/src/modules/sysinfo/batman/batman.c +++ b/src/modules/sysinfo/batman/batman.c @@ -410,6 +410,19 @@ _batman_warning_popup(Instance *inst, int t, double percent) } } +static void +_batman_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data EINA_UNUSED) +{ + Evas_Coord w, h; + Instance *inst = data; + + edje_object_parts_extends_calc(elm_layout_edje_get(inst->cfg->batman.o_gadget), 0, 0, &w, &h); + if (inst->cfg->esm == E_SYSINFO_MODULE_BATMAN) + evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); + else + evas_object_size_hint_aspect_set(inst->cfg->batman.o_gadget, EVAS_ASPECT_CONTROL_BOTH, w, h); +} + static void _batman_removed_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_data) { @@ -474,6 +487,7 @@ _batman_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSED) E_EXPAND(inst->cfg->batman.o_gadget); E_FILL(inst->cfg->batman.o_gadget); elm_box_pack_end(inst->o_main, inst->cfg->batman.o_gadget); + evas_object_event_callback_add(inst->cfg->batman.o_gadget, EVAS_CALLBACK_RESIZE, _batman_resize_cb, inst); evas_object_show(inst->cfg->batman.o_gadget); evas_object_smart_callback_del_full(obj, "gadget_created", _batman_created_cb, data); _batman_config_updated(inst); @@ -493,6 +507,7 @@ sysinfo_batman_create(Evas_Object *parent, Instance *inst) "e/modules/battery/main"); E_EXPAND(inst->cfg->batman.o_gadget); E_FILL(inst->cfg->batman.o_gadget); + evas_object_event_callback_add(inst->cfg->batman.o_gadget, EVAS_CALLBACK_RESIZE, _batman_resize_cb, inst); evas_object_show(inst->cfg->batman.o_gadget); _batman_config_updated(inst); diff --git a/src/modules/sysinfo/cpuclock/cpuclock.c b/src/modules/sysinfo/cpuclock/cpuclock.c index b8f14cf21..c1f3ac522 100644 --- a/src/modules/sysinfo/cpuclock/cpuclock.c +++ b/src/modules/sysinfo/cpuclock/cpuclock.c @@ -679,6 +679,19 @@ _cpuclock_status_check_current(Cpu_Status *s) return ret; } +static void +_cpuclock_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data EINA_UNUSED) +{ + Evas_Coord w, h; + Instance *inst = data; + + edje_object_parts_extends_calc(elm_layout_edje_get(inst->cfg->cpuclock.o_gadget), 0, 0, &w, &h); + if (inst->cfg->esm == E_SYSINFO_MODULE_CPUCLOCK) + evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); + else + evas_object_size_hint_aspect_set(inst->cfg->cpuclock.o_gadget, EVAS_ASPECT_CONTROL_BOTH, w, h); +} + static void _cpuclock_cb_frequency_check_main(void *data, Ecore_Thread *th) { @@ -824,6 +837,7 @@ _cpuclock_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSED) _cpuclock_face_cb_set_frequency, inst); edje_object_signal_callback_add(elm_layout_edje_get(inst->cfg->cpuclock.o_gadget), "e,action,frequency,decrease", "*", _cpuclock_face_cb_set_frequency, inst); + evas_object_event_callback_add(inst->cfg->cpuclock.o_gadget, EVAS_CALLBACK_RESIZE, _cpuclock_resize_cb, inst); elm_box_pack_end(inst->o_main, inst->cfg->cpuclock.o_gadget); evas_object_show(inst->cfg->cpuclock.o_gadget); evas_object_smart_callback_del_full(obj, "gadget_created", _cpuclock_created_cb, data); @@ -852,6 +866,7 @@ sysinfo_cpuclock_create(Evas_Object *parent, Instance *inst) _cpuclock_face_cb_set_frequency, inst); edje_object_signal_callback_add(elm_layout_edje_get(inst->cfg->cpuclock.o_gadget), "e,action,frequency,decrease", "*", _cpuclock_face_cb_set_frequency, inst); + evas_object_event_callback_add(inst->cfg->cpuclock.o_gadget, EVAS_CALLBACK_RESIZE, _cpuclock_resize_cb, inst); evas_object_show(inst->cfg->cpuclock.o_gadget); inst->cfg->cpuclock.status = _cpuclock_status_new(); _cpuclock_status_check_available(inst->cfg->cpuclock.status); diff --git a/src/modules/sysinfo/cpumonitor/cpumonitor.c b/src/modules/sysinfo/cpumonitor/cpumonitor.c index ff96f5c52..223fd0770 100644 --- a/src/modules/sysinfo/cpumonitor/cpumonitor.c +++ b/src/modules/sysinfo/cpumonitor/cpumonitor.c @@ -111,22 +111,23 @@ _cpumonitor_mouse_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA } static void -_cpumonitor_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data EINA_UNUSED) +_cpumonitor_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_data EINA_UNUSED) { Evas_Coord w = 1, h = 1; Instance *inst = data; - CPU_Core *first_core; int num_cores = eina_list_count(inst->cfg->cpumonitor.cores); if (!num_cores || !inst->o_main) return; - first_core = eina_list_nth(inst->cfg->cpumonitor.cores, 0); - edje_object_parts_extends_calc(elm_layout_edje_get(first_core->layout), 0, 0, &w, &h); + edje_object_parts_extends_calc(elm_layout_edje_get(obj), 0, 0, &w, &h); if (e_gadget_site_orient_get(e_gadget_site_get(inst->o_main)) == E_GADGET_SITE_ORIENT_VERTICAL) h *= num_cores; else w *= num_cores; - evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); + if (inst->cfg->esm == E_SYSINFO_MODULE_CPUMONITOR) + evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); + else + evas_object_size_hint_aspect_set(inst->cfg->cpumonitor.o_gadget, EVAS_ASPECT_CONTROL_BOTH, w, h); } static void @@ -207,6 +208,8 @@ _cpumonitor_config_updated(Instance *inst) { core = E_NEW(CPU_Core, 1); core->layout = _cpumonitor_add_layout(inst); + if (i == 0) + evas_object_event_callback_add(core->layout, EVAS_CALLBACK_RESIZE, _cpumonitor_resize_cb, inst); core->percent = 0; core->total = 0; core->idle = 0; @@ -289,7 +292,6 @@ _cpumonitor_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSE E_FILL(inst->cfg->cpumonitor.o_gadget); elm_box_pack_end(inst->o_main, inst->cfg->cpumonitor.o_gadget); evas_object_event_callback_add(inst->cfg->cpumonitor.o_gadget, EVAS_CALLBACK_MOUSE_DOWN, _cpumonitor_mouse_down_cb, inst); - evas_object_event_callback_add(inst->cfg->cpumonitor.o_gadget, EVAS_CALLBACK_RESIZE, _cpumonitor_resize_cb, inst); evas_object_show(inst->cfg->cpumonitor.o_gadget); evas_object_smart_callback_del_full(obj, "gadget_created", _cpumonitor_created_cb, data); _cpumonitor_config_updated(inst); diff --git a/src/modules/sysinfo/memusage/memusage.c b/src/modules/sysinfo/memusage/memusage.c index 3451dfced..77e2e646d 100644 --- a/src/modules/sysinfo/memusage/memusage.c +++ b/src/modules/sysinfo/memusage/memusage.c @@ -117,7 +117,10 @@ _memusage_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSE Instance *inst = data; edje_object_parts_extends_calc(elm_layout_edje_get(inst->cfg->memusage.o_gadget), 0, 0, &w, &h); - evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); + if (inst->cfg->esm == E_SYSINFO_MODULE_MEMUSAGE) + evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); + else + evas_object_size_hint_aspect_set(inst->cfg->memusage.o_gadget, EVAS_ASPECT_CONTROL_BOTH, w, h); } static void @@ -252,6 +255,7 @@ sysinfo_memusage_create(Evas_Object *parent, Instance *inst) E_EXPAND(inst->cfg->memusage.o_gadget); E_FILL(inst->cfg->memusage.o_gadget); evas_object_event_callback_add(inst->cfg->memusage.o_gadget, EVAS_CALLBACK_MOUSE_DOWN, _memusage_mouse_down_cb, inst); + evas_object_event_callback_add(inst->cfg->memusage.o_gadget, EVAS_CALLBACK_RESIZE, _memusage_resize_cb, inst); evas_object_show(inst->cfg->memusage.o_gadget); _memusage_config_updated(inst); diff --git a/src/modules/sysinfo/netstatus/netstatus.c b/src/modules/sysinfo/netstatus/netstatus.c index 3b0f7fbc4..d7292bed5 100644 --- a/src/modules/sysinfo/netstatus/netstatus.c +++ b/src/modules/sysinfo/netstatus/netstatus.c @@ -112,6 +112,19 @@ _netstatus_mouse_down_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_ } } +static void +_netstatus_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_data EINA_UNUSED) +{ + Evas_Coord w, h; + Instance *inst = data; + + edje_object_parts_extends_calc(elm_layout_edje_get(inst->cfg->netstatus.o_gadget), 0, 0, &w, &h); + if (inst->cfg->esm == E_SYSINFO_MODULE_NETSTATUS) + evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); + else + evas_object_size_hint_aspect_set(inst->cfg->netstatus.o_gadget, EVAS_ASPECT_CONTROL_BOTH, w, h); +} + static void _netstatus_cb_usage_check_main(void *data, Ecore_Thread *th) { @@ -221,6 +234,7 @@ _netstatus_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSED E_FILL(inst->cfg->netstatus.o_gadget); elm_box_pack_end(inst->o_main, inst->cfg->netstatus.o_gadget); evas_object_event_callback_add(inst->cfg->netstatus.o_gadget, EVAS_CALLBACK_MOUSE_DOWN, _netstatus_mouse_down_cb, inst); + evas_object_event_callback_add(inst->cfg->netstatus.o_gadget, EVAS_CALLBACK_RESIZE, _netstatus_resize_cb, inst); evas_object_show(inst->cfg->netstatus.o_gadget); evas_object_smart_callback_del_full(obj, "gadget_created", _netstatus_created_cb, data); _netstatus_config_updated(inst); @@ -235,6 +249,7 @@ sysinfo_netstatus_create(Evas_Object *parent, Instance *inst) E_EXPAND(inst->cfg->netstatus.o_gadget); E_FILL(inst->cfg->netstatus.o_gadget); evas_object_event_callback_add(inst->cfg->netstatus.o_gadget, EVAS_CALLBACK_MOUSE_DOWN, _netstatus_mouse_down_cb, inst); + evas_object_event_callback_add(inst->cfg->netstatus.o_gadget, EVAS_CALLBACK_RESIZE, _netstatus_resize_cb, inst); evas_object_show(inst->cfg->netstatus.o_gadget); _netstatus_config_updated(inst); diff --git a/src/modules/sysinfo/sysinfo.c b/src/modules/sysinfo/sysinfo.c index c36455ae2..902750f1b 100644 --- a/src/modules/sysinfo/sysinfo.c +++ b/src/modules/sysinfo/sysinfo.c @@ -41,22 +41,21 @@ _sysinfo_created_cb(void *data, Evas_Object *obj, void *event_data EINA_UNUSED) Instance *inst = data; inst->o_table = elm_table_add(inst->o_main); - elm_table_homogeneous_set(inst->o_table, EINA_TRUE); + elm_table_homogeneous_set(inst->o_table, EINA_FALSE); E_EXPAND(inst->o_table); - evas_object_size_hint_aspect_set(inst->o_table, EVAS_ASPECT_CONTROL_BOTH, 1, 1); elm_object_content_set(inst->o_main, inst->o_table); evas_object_show(inst->o_table); inst->cfg->sysinfo.o_batman = sysinfo_batman_create(inst->o_table, inst); elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_batman, 0, 0, 1, 1); - inst->cfg->sysinfo.o_thermal = sysinfo_thermal_create(inst->o_table, inst); - elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_thermal, 1, 0, 1, 1); inst->cfg->sysinfo.o_cpuclock = sysinfo_cpuclock_create(inst->o_table, inst); - elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_cpuclock, 0, 1, 1, 1); + elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_cpuclock, 1, 0, 1, 1); inst->cfg->sysinfo.o_cpumonitor = sysinfo_cpumonitor_create(inst->o_table, inst); - elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_cpumonitor, 1, 1, 1, 1); + elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_cpumonitor, 0, 1, 1, 1); inst->cfg->sysinfo.o_memusage = sysinfo_memusage_create(inst->o_table, inst); - elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_memusage, 0, 2, 1, 1); + elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_memusage, 1, 1, 1, 1); + inst->cfg->sysinfo.o_thermal = sysinfo_thermal_create(inst->o_table, inst); + elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_thermal, 0, 2, 1, 1); inst->cfg->sysinfo.o_netstatus = sysinfo_netstatus_create(inst->o_table, inst); elm_table_pack(inst->o_table, inst->cfg->sysinfo.o_netstatus, 1, 2, 1, 1); @@ -158,7 +157,6 @@ sysinfo_create(Evas_Object *parent, int *id, E_Gadget_Site_Orient orient EINA_UN inst->o_main = elm_scroller_add(parent); elm_object_style_set(inst->o_main, "no_inset_shadow"); E_EXPAND(inst->o_main); - evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, 1, 1); evas_object_event_callback_add(inst->o_main, EVAS_CALLBACK_DEL, _sysinfo_deleted_cb, inst); evas_object_show(inst->o_main); diff --git a/src/modules/sysinfo/thermal/thermal.c b/src/modules/sysinfo/thermal/thermal.c index f5749eddf..16cc2dc49 100644 --- a/src/modules/sysinfo/thermal/thermal.c +++ b/src/modules/sysinfo/thermal/thermal.c @@ -189,7 +189,10 @@ _thermal_resize_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED Instance *inst = data; edje_object_parts_extends_calc(elm_layout_edje_get(inst->cfg->thermal.o_gadget), 0, 0, &w, &h); - evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); + if (inst->cfg->esm == E_SYSINFO_MODULE_THERMAL) + evas_object_size_hint_aspect_set(inst->o_main, EVAS_ASPECT_CONTROL_BOTH, w, h); + else + evas_object_size_hint_aspect_set(inst->cfg->thermal.o_gadget, EVAS_ASPECT_CONTROL_BOTH, w, h); } static void @@ -254,6 +257,7 @@ sysinfo_thermal_create(Evas_Object *parent, Instance *inst) "e/modules/temperature/main"); E_EXPAND(inst->cfg->thermal.o_gadget); E_FILL(inst->cfg->thermal.o_gadget); + evas_object_event_callback_add(inst->cfg->thermal.o_gadget, EVAS_CALLBACK_RESIZE, _thermal_resize_cb, inst); evas_object_show(inst->cfg->thermal.o_gadget); _thermal_config_updated(inst);