Enlightenment - Sysinfo Gadget - Size all sysinfo gadgets by aspect - should allow for proper theming.

This commit is contained in:
Stephen 'Okra' Houston 2017-01-27 14:55:24 -06:00
parent 1547ac080c
commit d99e88b78c
7 changed files with 69 additions and 16 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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