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

-- 


Reply via email to