forked from enlightenment/evisum
windows: save the value for others.
This saves a job later...
This commit is contained in:
parent
5f75b25ca2
commit
d621b0b998
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include "ui/ui.h"
|
||||
|
||||
#define CONFIG_VERSION 0x0008
|
||||
#define CONFIG_VERSION 0x000a
|
||||
|
||||
typedef struct _Evisum_Config
|
||||
{
|
||||
|
@ -18,11 +18,31 @@ typedef struct _Evisum_Config
|
|||
Eina_Bool show_kthreads;
|
||||
Eina_Bool show_user;
|
||||
Eina_Bool show_desktop;
|
||||
|
||||
struct
|
||||
{
|
||||
int width;
|
||||
int height;
|
||||
} cpu;
|
||||
|
||||
struct
|
||||
{
|
||||
int width;
|
||||
int height;
|
||||
} mem;
|
||||
|
||||
struct
|
||||
{
|
||||
int width;
|
||||
int height;
|
||||
} disk;
|
||||
|
||||
struct
|
||||
{
|
||||
int width;
|
||||
int height;
|
||||
} sensors;
|
||||
|
||||
} Evisum_Config;
|
||||
|
||||
void config_init(void);
|
||||
|
|
|
@ -47,6 +47,27 @@ evisum_ui_config_save(Ui *ui)
|
|||
_evisum_config->cpu.height = ui->cpu.height = h;
|
||||
}
|
||||
|
||||
if (ui->mem.win)
|
||||
{
|
||||
evas_object_geometry_get(ui->mem.win, NULL, NULL, &w, &h);
|
||||
_evisum_config->mem.width = ui->mem.width = w;
|
||||
_evisum_config->mem.height = ui->mem.height = h;
|
||||
}
|
||||
|
||||
if (ui->disk.win)
|
||||
{
|
||||
evas_object_geometry_get(ui->disk.win, NULL, NULL, &w, &h);
|
||||
_evisum_config->disk.width = ui->disk.width = w;
|
||||
_evisum_config->disk.height = ui->disk.height = h;
|
||||
}
|
||||
|
||||
if (ui->sensors.win)
|
||||
{
|
||||
evas_object_geometry_get(ui->sensors.win, NULL, NULL, &w, &h);
|
||||
_evisum_config->sensors.width = ui->sensors.width = w;
|
||||
_evisum_config->sensors.height = ui->sensors.height = h;
|
||||
}
|
||||
|
||||
config_save(_evisum_config);
|
||||
}
|
||||
|
||||
|
@ -55,15 +76,12 @@ evisum_ui_config_load(Ui *ui)
|
|||
{
|
||||
_evisum_config = NULL;
|
||||
|
||||
_evisum_config = config_load();
|
||||
_evisum_config = config_load();
|
||||
|
||||
ui->settings.sort_type = _evisum_config->sort_type;
|
||||
ui->settings.sort_reverse = _evisum_config->sort_reverse;
|
||||
ui->settings.poll_delay = _evisum_config->poll_delay;
|
||||
|
||||
if ((_evisum_config->width > 0) && (_evisum_config->height > 0))
|
||||
evas_object_resize(ui->win, _evisum_config->width, _evisum_config->height);
|
||||
|
||||
evisum_ui_effects_enabled_set(_evisum_config->effects);
|
||||
evisum_ui_backgrounds_enabled_set(_evisum_config->backgrounds);
|
||||
|
||||
|
@ -74,6 +92,15 @@ evisum_ui_config_load(Ui *ui)
|
|||
|
||||
ui->cpu.width = _evisum_config->cpu.width;
|
||||
ui->cpu.height = _evisum_config->cpu.height;
|
||||
|
||||
ui->mem.width = _evisum_config->mem.width;
|
||||
ui->mem.height = _evisum_config->mem.height;
|
||||
|
||||
ui->disk.width = _evisum_config->disk.width;
|
||||
ui->disk.height = _evisum_config->disk.height;
|
||||
|
||||
ui->sensors.width = _evisum_config->sensors.width;
|
||||
ui->sensors.height = _evisum_config->sensors.height;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -92,6 +92,8 @@ typedef struct Ui
|
|||
struct
|
||||
{
|
||||
Evas_Object *win;
|
||||
int width;
|
||||
int height;
|
||||
Ecore_Timer *timer;
|
||||
Eina_Bool zfs_mounted;
|
||||
} mem;
|
||||
|
@ -99,11 +101,15 @@ typedef struct Ui
|
|||
struct
|
||||
{
|
||||
Evas_Object *win;
|
||||
int width;
|
||||
int height;
|
||||
} disk;
|
||||
|
||||
struct
|
||||
{
|
||||
Evas_Object *win;
|
||||
int width;
|
||||
int height;
|
||||
Evas_Object *box;
|
||||
Evas_Object *timer;
|
||||
} sensors;
|
||||
|
|
|
@ -709,6 +709,9 @@ ui_win_cpu_add(Ui *ui)
|
|||
evas_object_geometry_get(ui->win, &x, &y, NULL, NULL);
|
||||
if (x > 0 && y > 0)
|
||||
evas_object_move(win, x + 20, y + 20);
|
||||
else
|
||||
elm_win_center(win, 1, 1);
|
||||
|
||||
evas_object_show(win);
|
||||
}
|
||||
|
||||
|
|
|
@ -402,7 +402,10 @@ _btn_usage_clicked_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|||
static void
|
||||
_win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Ui *ui = data;
|
||||
|
||||
_disks_poll_timer_cb(NULL);
|
||||
evisum_ui_config_save(ui);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -420,8 +423,7 @@ ui_win_disk_add(Ui *ui)
|
|||
}
|
||||
|
||||
eina_lock_new(&_lock);
|
||||
ui->disk.win = win = elm_win_util_standard_add("evisum",
|
||||
_("Storage"));
|
||||
ui->disk.win = win = elm_win_util_standard_add("evisum", _("Storage"));
|
||||
evas_object_size_hint_weight_set(win, EXPAND, EXPAND);
|
||||
evas_object_size_hint_align_set(win, FILL, FILL);
|
||||
evisum_ui_background_random_add(win, (evisum_ui_effects_enabled_get() ||
|
||||
|
@ -498,7 +500,7 @@ ui_win_disk_add(Ui *ui)
|
|||
evas_object_size_hint_weight_set(scroller, EXPAND, EXPAND);
|
||||
evas_object_size_hint_align_set(scroller, FILL, FILL);
|
||||
elm_scroller_policy_set(scroller,
|
||||
ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
|
||||
ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
|
||||
evas_object_show(scroller);
|
||||
|
||||
pd->genlist = genlist = elm_genlist_add(win);
|
||||
|
@ -516,16 +518,22 @@ ui_win_disk_add(Ui *ui)
|
|||
|
||||
evas_object_smart_callback_add(win, "delete,request", _win_del_cb, ui);
|
||||
|
||||
if (ui->disk.width > 0 && ui->disk.height > 0)
|
||||
evas_object_resize(win, ui->disk.width, ui->disk.height);
|
||||
else
|
||||
evas_object_resize(win, UI_CHILD_WIN_WIDTH * 1.5, UI_CHILD_WIN_HEIGHT * 1.1);
|
||||
|
||||
if (ui->win)
|
||||
evas_object_geometry_get(ui->win, &x, &y, NULL, NULL);
|
||||
evas_object_resize(win, UI_CHILD_WIN_WIDTH * 1.5, UI_CHILD_WIN_HEIGHT * 1.1);
|
||||
evas_object_move(win, x + 20, y + 20);
|
||||
if (x > 0 && y > 0)
|
||||
evas_object_move(win, x, y);
|
||||
evas_object_move(win, x + 20, y + 20);
|
||||
else
|
||||
elm_win_center(win, 1, 1);
|
||||
|
||||
evas_object_show(win);
|
||||
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE,
|
||||
_win_resize_cb, NULL);
|
||||
_win_resize_cb, ui);
|
||||
|
||||
pd->cache = evisum_ui_item_cache_new(genlist, _item_create, 10);
|
||||
|
||||
|
|
|
@ -143,12 +143,21 @@ _win_del_cb(void *data, Evas_Object *obj,
|
|||
ecore_main_loop_quit();
|
||||
}
|
||||
|
||||
static void
|
||||
_win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Ui *ui = data;
|
||||
|
||||
evisum_ui_config_save(ui);
|
||||
}
|
||||
|
||||
void
|
||||
ui_win_memory_add(Ui *ui)
|
||||
{
|
||||
Evas_Object *win, *frame, *pb;
|
||||
Evas_Object *border, *rect, *label, *table;
|
||||
int i;
|
||||
Evas_Coord x = 0, y = 0;
|
||||
meminfo_t memory;
|
||||
|
||||
if (ui->mem.win)
|
||||
|
@ -163,12 +172,13 @@ ui_win_memory_add(Ui *ui)
|
|||
memset(&memory, 0, sizeof(memory));
|
||||
system_memory_usage_get(&memory);
|
||||
|
||||
ui->mem.win = win = elm_win_util_standard_add("evisum",
|
||||
_("Memory Usage"));
|
||||
ui->mem.win = win = elm_win_util_standard_add("evisum", _("Memory Usage"));
|
||||
evas_object_size_hint_weight_set(win, EXPAND, EXPAND);
|
||||
evas_object_size_hint_align_set(win, FILL, FILL);
|
||||
evisum_ui_background_random_add(win, (evisum_ui_effects_enabled_get() ||
|
||||
evisum_ui_backgrounds_enabled_get()));
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE,
|
||||
_win_resize_cb, ui);
|
||||
|
||||
frame = elm_frame_add(win);
|
||||
evas_object_size_hint_weight_set(frame, EXPAND, EXPAND);
|
||||
|
@ -238,8 +248,22 @@ ui_win_memory_add(Ui *ui)
|
|||
|
||||
evas_object_data_set(win, "widgets", widgets);
|
||||
evas_object_smart_callback_add(win, "delete,request", _win_del_cb, ui);
|
||||
evisum_child_window_show(ui->win, win);
|
||||
evas_object_resize(win, UI_CHILD_WIN_WIDTH , UI_CHILD_WIN_HEIGHT / 2);
|
||||
|
||||
if (ui->mem.width > 0 && ui->mem.height > 0)
|
||||
evas_object_resize(win, ui->mem.width, ui->mem.height);
|
||||
else
|
||||
evas_object_resize(win, UI_CHILD_WIN_WIDTH , UI_CHILD_WIN_HEIGHT / 2);
|
||||
|
||||
if (ui->win)
|
||||
evas_object_geometry_get(ui->win, &x, &y, NULL, NULL);
|
||||
if (x > 0 && y > 0)
|
||||
evas_object_move(win, x + 20, y + 20);
|
||||
else
|
||||
elm_win_center(win, 1, 1);
|
||||
|
||||
evas_object_show(win);
|
||||
|
||||
evas_object_show(win);
|
||||
|
||||
_memory_update(widgets);
|
||||
|
||||
|
|
|
@ -246,11 +246,20 @@ _win_del_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
ecore_main_loop_quit();
|
||||
}
|
||||
|
||||
static void
|
||||
_win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Ui *ui = data;
|
||||
|
||||
evisum_ui_config_save(ui);
|
||||
}
|
||||
|
||||
void
|
||||
ui_win_sensors_add(Ui *ui)
|
||||
{
|
||||
Evas_Object *win, *box, *hbox, *frame, *scroller;
|
||||
Evas_Object *table, *border, *rect;
|
||||
Evas_Coord x = 0, y = 0;
|
||||
|
||||
if (ui->sensors.win)
|
||||
{
|
||||
|
@ -263,6 +272,8 @@ ui_win_sensors_add(Ui *ui)
|
|||
evas_object_size_hint_align_set(win, FILL, FILL);
|
||||
evisum_ui_background_random_add(win, (evisum_ui_effects_enabled_get() ||
|
||||
evisum_ui_backgrounds_enabled_get()));
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE,
|
||||
_win_resize_cb, ui);
|
||||
|
||||
box = elm_box_add(win);
|
||||
evas_object_size_hint_weight_set(box, EXPAND, EXPAND);
|
||||
|
@ -284,7 +295,7 @@ ui_win_sensors_add(Ui *ui)
|
|||
evas_object_size_hint_weight_set(scroller, EXPAND, EXPAND);
|
||||
evas_object_size_hint_align_set(scroller, FILL, FILL);
|
||||
elm_scroller_policy_set(scroller,
|
||||
ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
|
||||
ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
|
||||
evas_object_show(scroller);
|
||||
|
||||
border = elm_frame_add(box);
|
||||
|
@ -312,7 +323,20 @@ ui_win_sensors_add(Ui *ui)
|
|||
elm_object_content_set(win, box);
|
||||
|
||||
evas_object_smart_callback_add(win, "delete,request", _win_del_cb, ui);
|
||||
evisum_child_window_show(ui->win, win);
|
||||
|
||||
if (ui->sensors.width > 0 && ui->sensors.height > 0)
|
||||
evas_object_resize(win, ui->sensors.width, ui->sensors.height);
|
||||
else
|
||||
evas_object_resize(win, UI_CHILD_WIN_WIDTH, UI_CHILD_WIN_HEIGHT);
|
||||
|
||||
if (ui->win)
|
||||
evas_object_geometry_get(ui->win, &x, &y, NULL, NULL);
|
||||
if (x > 0 && y > 0)
|
||||
evas_object_move(win, x + 20, y + 20);
|
||||
else
|
||||
elm_win_center(win, 1, 1);
|
||||
|
||||
evas_object_show(win);
|
||||
|
||||
_sensors_update(ui);
|
||||
|
||||
|
|
Loading…
Reference in New Issue