netstar pushed a commit to branch master. http://git.enlightenment.org/apps/evisum.git/commit/?id=fa8976390a5f64ecc42447d56a66bbb566e8c1a0
commit fa8976390a5f64ecc42447d56a66bbb566e8c1a0 Author: Alastair Poole <nets...@gmail.com> Date: Wed Mar 10 15:35:30 2021 +0000 evisum: stop saving the config so much! Also no need to keep getting geometry etc etc --- src/bin/ui/ui.c | 47 ++++++++++++++++++++------------------------ src/bin/ui/ui_cpu.c | 4 +--- src/bin/ui/ui_disk.c | 4 ++-- src/bin/ui/ui_memory.c | 4 ++-- src/bin/ui/ui_network.c | 44 +++++++++-------------------------------- src/bin/ui/ui_process_list.c | 2 -- src/bin/ui/ui_sensors.c | 5 ++--- 7 files changed, 37 insertions(+), 73 deletions(-) diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c index ccbc404..269a65c 100644 --- a/src/bin/ui/ui.c +++ b/src/bin/ui/ui.c @@ -22,7 +22,6 @@ static Evas_Object *_slider_alpha = NULL; void evisum_ui_config_save(Ui *ui) { - Evas_Coord x, y, w, h; Eina_Bool notify = 0; if (!_evisum_config) return; @@ -62,51 +61,46 @@ evisum_ui_config_save(Ui *ui) if (ui->cpu.win) { - evas_object_geometry_get(ui->cpu.win, &x, &y, &w, &h); - _evisum_config->cpu.width = ui->cpu.width = w; - _evisum_config->cpu.height = ui->cpu.height = h; - _evisum_config->cpu.x = x; - _evisum_config->cpu.y = y; + _evisum_config->cpu.width = ui->cpu.width; + _evisum_config->cpu.height = ui->cpu.height; + _evisum_config->cpu.x = ui->cpu.x; + _evisum_config->cpu.y = ui->cpu.y; _evisum_config->cpu.restart = ui->cpu.restart; } if (ui->mem.win) { - evas_object_geometry_get(ui->mem.win, &x, &y, &w, &h); - _evisum_config->mem.width = ui->mem.width = w; - _evisum_config->mem.height = ui->mem.height = h; - _evisum_config->mem.x = x; - _evisum_config->mem.y = y; + _evisum_config->mem.width = ui->mem.width; + _evisum_config->mem.height = ui->mem.height; + _evisum_config->mem.x = ui->mem.x; + _evisum_config->mem.y = ui->mem.y; _evisum_config->mem.restart = ui->mem.restart; } if (ui->disk.win) { - evas_object_geometry_get(ui->disk.win, &x, &y, &w, &h); - _evisum_config->disk.width = ui->disk.width = w; - _evisum_config->disk.height = ui->disk.height = h; - _evisum_config->disk.x = x; - _evisum_config->disk.y = y; + _evisum_config->disk.width = ui->disk.width; + _evisum_config->disk.height = ui->disk.height; + _evisum_config->disk.x = ui->disk.x; + _evisum_config->disk.y = ui->disk.y; _evisum_config->disk.restart = ui->disk.restart; } if (ui->sensors.win) { - evas_object_geometry_get(ui->sensors.win, &x, &y, &w, &h); - _evisum_config->sensors.width = ui->sensors.width = w; - _evisum_config->sensors.height = ui->sensors.height = h; - _evisum_config->sensors.x = x; - _evisum_config->sensors.y = y; + _evisum_config->sensors.width = ui->sensors.width; + _evisum_config->sensors.height = ui->sensors.height; + _evisum_config->sensors.x = ui->sensors.x; + _evisum_config->sensors.y = ui->sensors.y; _evisum_config->sensors.restart = ui->sensors.restart; } if (ui->network.win) { - evas_object_geometry_get(ui->network.win, &x, &y, &w, &h); - _evisum_config->network.width = ui->network.width = w; - _evisum_config->network.height = ui->network.height = h; - _evisum_config->network.x = x; - _evisum_config->network.y = y; + _evisum_config->network.width = ui->network.width; + _evisum_config->network.height = ui->network.height; + _evisum_config->network.x = ui->network.x; + _evisum_config->network.y = ui->network.y; _evisum_config->network.restart = ui->network.restart; } @@ -734,6 +728,7 @@ void evisum_ui_shutdown(Ui *ui) { evisum_icon_cache_shutdown(); + evisum_ui_config_save(ui); free(ui); } diff --git a/src/bin/ui/ui_cpu.c b/src/bin/ui/ui_cpu.c index cdfc164..8cc5dcc 100644 --- a/src/bin/ui/ui_cpu.c +++ b/src/bin/ui/ui_cpu.c @@ -360,8 +360,6 @@ _win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void Animate *ad = data; Ui *ui = ad->ui; - evisum_ui_config_save(ui); - ecore_thread_cancel(ad->thread); ecore_thread_wait(ad->thread, 0.5); @@ -773,7 +771,7 @@ _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Ui *ui = data; - evisum_ui_config_save(ui); + evas_object_geometry_get(obj, NULL, NULL, &ui->cpu.width, &ui->cpu.height); } void diff --git a/src/bin/ui/ui_disk.c b/src/bin/ui/ui_disk.c index 58b5240..d19fa4f 100644 --- a/src/bin/ui/ui_disk.c +++ b/src/bin/ui/ui_disk.c @@ -310,7 +310,6 @@ _win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, pd = data; ui = pd->ui; - evisum_ui_config_save(ui);; ecore_thread_cancel(pd->thread); ecore_thread_wait(pd->thread, 0.5); @@ -535,9 +534,10 @@ static void _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Ui_Data *pd = data; + Ui *ui = pd->ui; _disks_poll_update(pd); - evisum_ui_config_save(pd->ui); + evas_object_geometry_get(obj, NULL, NULL, &ui->disk.width, &ui->disk.height); } static Evas_Object * diff --git a/src/bin/ui/ui_memory.c b/src/bin/ui/ui_memory.c index d000e8e..0018777 100644 --- a/src/bin/ui/ui_memory.c +++ b/src/bin/ui/ui_memory.c @@ -187,7 +187,6 @@ _win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, ui = pd->ui; - evisum_ui_config_save(ui); ecore_thread_cancel(pd->thread); ecore_thread_wait(pd->thread, 0.5); @@ -199,8 +198,9 @@ static void _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Ui_Data *pd = data; + Ui *ui = pd->ui; - evisum_ui_config_save(pd->ui); + evas_object_geometry_get(obj, NULL, NULL, &ui->mem.width, &ui->mem.height); } void diff --git a/src/bin/ui/ui_network.c b/src/bin/ui/ui_network.c index 27a7578..614d308 100644 --- a/src/bin/ui/ui_network.c +++ b/src/bin/ui/ui_network.c @@ -103,7 +103,7 @@ _network_update(void *data, Ecore_Thread *thread) } free(ifaces); - ecore_thread_feedback(thread, NULL); + ecore_thread_feedback(thread, pd->interfaces); for (int i = 0; i < 8; i++) { if (pd->skip_wait || ecore_thread_check(thread)) break; @@ -185,11 +185,13 @@ _network_update_feedback_cb(void *data, Ecore_Thread *thread, void *msgdata) { Network_Interface *iface; Evas_Object *obj; - Eina_List *l; + Eina_List *l, *interfaces; char *s; Eina_Strbuf *buf; Ui_Data *pd = data; + interfaces = msgdata; + EINA_LIST_FREE(pd->purge, obj) { elm_box_unpack(pd->bx, obj); @@ -198,7 +200,7 @@ _network_update_feedback_cb(void *data, Ecore_Thread *thread, void *msgdata) buf = eina_strbuf_new(); - EINA_LIST_FOREACH(pd->interfaces, l, iface) + EINA_LIST_FOREACH(interfaces, l, iface) { if (iface->is_new) { @@ -273,8 +275,6 @@ _win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, Ui *ui = pd->ui; Network_Interface *iface; - evisum_ui_config_save(ui); - ecore_thread_cancel(pd->thread); ecore_thread_wait(pd->thread, 0.5); eina_list_free(pd->purge); @@ -288,23 +288,15 @@ static void _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Ui_Data *pd = data; + Ui *ui = pd->ui; - evisum_ui_config_save(pd->ui); -} - -static void -_popup_gone_cb(void *data, Evas_Object *obj EINA_UNUSED, - void *event_info EINA_UNUSED) -{ - Ui_Data *pd = data; - - evas_object_del(pd->win); + evas_object_geometry_get(obj, NULL, NULL, &ui->network.width, &ui->network.height); } void ui_network_win_add(Ui *ui) { - Evas_Object *win, *pop, *scr, *bx; + Evas_Object *win, *bx; if (ui->network.win) { @@ -326,30 +318,12 @@ ui_network_win_add(Ui *ui) evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize_cb, pd); evas_object_event_callback_add(win, EVAS_CALLBACK_KEY_DOWN, _win_key_down_cb, pd); - pop = elm_popup_add(win); - elm_popup_allow_events_set(pop, 1); - elm_object_style_set(pop, "transparent"); - elm_object_part_text_set(pop, "title,text", "Interfaces"); - evas_object_size_hint_weight_set(pop, 1.0, 1.0); - evas_object_size_hint_align_set(pop, FILL, FILL); - elm_popup_align_set(pop, FILL, FILL); - evas_object_smart_callback_add(pop, "dismissed", _popup_gone_cb, pd); - evas_object_show(pop); - - scr = elm_scroller_add(win); - elm_scroller_content_min_limit(scr, 0, 1); - evas_object_size_hint_weight_set(scr, 1.0, 1.0); - evas_object_size_hint_align_set(scr, FILL, FILL); - evas_object_size_hint_min_set(scr, 1, ELM_SCALE_SIZE(400)); - evas_object_show(scr); - pd->bx = bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 1.0); evas_object_size_hint_align_set(bx, FILL, FILL); elm_box_padding_set(bx, ELM_SCALE_SIZE(10), ELM_SCALE_SIZE(10)); evas_object_show(bx); - elm_object_content_set(scr, bx); - elm_object_content_set(pop, scr); + elm_object_content_set(win, bx); if (ui->network.width > 0 && ui->network.height > 0) evas_object_resize(win, ui->network.width, ui->network.height); diff --git a/src/bin/ui/ui_process_list.c b/src/bin/ui/ui_process_list.c index fc4fb4e..9596068 100644 --- a/src/bin/ui/ui_process_list.c +++ b/src/bin/ui/ui_process_list.c @@ -2057,8 +2057,6 @@ _win_del_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, ui = pd->ui; - evisum_ui_config_save(ui); - if (pd->search.timer) ecore_timer_del(pd->search.timer); diff --git a/src/bin/ui/ui_sensors.c b/src/bin/ui/ui_sensors.c index f759511..bc331b4 100644 --- a/src/bin/ui/ui_sensors.c +++ b/src/bin/ui/ui_sensors.c @@ -225,8 +225,6 @@ _win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, Ui_Data *pd = data; Ui *ui = pd->ui; - evisum_ui_config_save(ui); - ecore_thread_cancel(pd->thread); ecore_thread_wait(pd->thread, 0.5); ui->sensors.win = NULL; @@ -241,8 +239,9 @@ static void _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Ui_Data *pd = data; + Ui *ui = pd->ui; - evisum_ui_config_save(pd->ui); + evas_object_geometry_get(obj, NULL, NULL, &ui->sensors.width, &ui->sensors.height); } void --