evisum: stop saving the config so much!

Also no need to keep getting geometry etc etc
This commit is contained in:
Alastair Poole 2021-03-10 15:35:30 +00:00
parent 2ea42c54aa
commit fa8976390a
7 changed files with 37 additions and 73 deletions

View File

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

View File

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

View File

@ -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 *

View File

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

View File

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

View File

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

View File

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