From b33d69db8a42f58d5848f3b677cb3e9d64540ef0 Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Sat, 18 Apr 2020 20:56:04 +0100 Subject: [PATCH] config: save window and height. If the user finds a comfortable size let's remember it. Someone is bound to ask for that, just make it happen. --- src/bin/configuration.h | 2 ++ src/bin/ui.c | 13 +++++++++++++ src/bin/ui.h | 5 ++--- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/bin/configuration.h b/src/bin/configuration.h index 21e7e2c..a77b1e3 100644 --- a/src/bin/configuration.h +++ b/src/bin/configuration.h @@ -11,6 +11,8 @@ typedef struct _Evisum_Config int sort_type; Eina_Bool sort_reverse; int data_unit; + int width; + int height; } Evisum_Config; void config_init(void); diff --git a/src/bin/ui.c b/src/bin/ui.c index be0dbf2..a54fdec 100644 --- a/src/bin/ui.c +++ b/src/bin/ui.c @@ -27,11 +27,18 @@ typedef struct _Item_Cache { static void _config_save(Ui *ui) { + Evas_Coord w, h; + if (!_evisum_config) return; + if (!ui->ready) return; + + evas_object_geometry_get(ui->win, NULL, NULL, &w, &h); _evisum_config->sort_type = ui->sort_type; _evisum_config->sort_reverse = ui->sort_reverse; _evisum_config->data_unit = ui->data_unit; + _evisum_config->width = w; + _evisum_config->height = h; config_save(_evisum_config); } @@ -43,6 +50,11 @@ _config_load(Ui *ui) ui->sort_type = _evisum_config->sort_type; ui->sort_reverse = _evisum_config->sort_reverse; ui->data_unit = _evisum_config->data_unit == 0 ? DATA_UNIT_MB : _evisum_config->data_unit; + + if (_evisum_config->width > 0 && _evisum_config->height > 0) + { + evas_object_resize(ui->win, _evisum_config->width, _evisum_config->height); + } } static void @@ -2808,6 +2820,7 @@ _evisum_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) elm_genlist_clear(ui->genlist_procs); _process_panel_update(ui); + _config_save(ui); } void diff --git a/src/bin/ui.h b/src/bin/ui.h index 48e2de4..b8a5c39 100644 --- a/src/bin/ui.h +++ b/src/bin/ui.h @@ -5,8 +5,8 @@ #include "process.h" #include "configuration.h" -#define EVISUM_SIZE_WIDTH 600 -#define EVISUM_SIZE_HEIGHT 520 +#define EVISUM_SIZE_WIDTH 640 +#define EVISUM_SIZE_HEIGHT 480 typedef enum { @@ -52,7 +52,6 @@ typedef enum SORT_BY_CPU_USAGE, } Sort_Type; -#define TEXT_FIELD_MAX 65535 #define TAB_BTN_SIZE 75 typedef struct Ui