From 9b853479c5c366d4140b75f77b4d6602bb8b84ef Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Sun, 30 Jul 2017 19:34:28 +0200 Subject: [PATCH] presentator: save the scale value --- src/e_mod_main.c | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) diff --git a/src/e_mod_main.c b/src/e_mod_main.c index 4147fd8..72490d7 100644 --- a/src/e_mod_main.c +++ b/src/e_mod_main.c @@ -18,6 +18,13 @@ typedef struct { Ecore_Timer *timer; } Entry; +typedef struct { + float scale; +} Presentator_Config; + +static E_Config_DD *dd_config; +static Presentator_Config *config; + static void _del_key(const char *name); static Eina_Bool @@ -74,6 +81,14 @@ _update_place(void) evas_object_geometry_set(notify, EINA_RECTANGLE_ARGS(¬ify_geom)); } +static void +_flush_config(void) +{ + e_config_domain_save("presentator", dd_config, config); + elm_object_scale_set(lb, config->scale); + _update_place(); +} + static void _del_key(const char *name) { @@ -185,6 +200,8 @@ _start_logging(void) elm_object_content_set(notify, lb); evas_object_show(lb); + + _flush_config(); /* FIXME this is only on x11 need a different solution for wl */ { keylogger = ecore_exe_pipe_run(MODULE_DIR"/keylogger", ECORE_EXE_PIPE_WRITE | @@ -227,22 +244,41 @@ static void _decrease_fontsize(E_Object *e, const char *name) { float scale = elm_object_scale_get(lb); - elm_object_scale_set(lb, scale - 0.1); - _update_place(); + + config->scale = scale + 0.1; + _flush_config(); } static void _increase_fontsize(E_Object *e, const char *name) { float scale = elm_object_scale_get(lb); - elm_object_scale_set(lb, scale + 0.1); - _update_place(); + + config->scale = scale + 0.1; + _flush_config(); +} + + +static void +_config_init(void) +{ + E_Config_DD *result = E_CONFIG_DD_NEW("presentator", Presentator_Config); + + E_CONFIG_VAL(result, Presentator_Config, scale, FLOAT); + + dd_config = result; } E_API void * e_modapi_init(E_Module *m) { ecore_init(); + _config_init(); + + config = e_config_domain_load("presentator", dd_config); + + if (!config) + config = calloc(1, sizeof(Presentator_Config)); #define ACTION_ADD(_action, _cb, _title, _value, _params, _example, _editable) \ { \ @@ -264,6 +300,9 @@ e_modapi_init(E_Module *m) E_API int e_modapi_shutdown(E_Module *m EINA_UNUSED) { + E_CONFIG_DD_FREE(dd_config); + free(config); + config = NULL; ecore_shutdown(); return 1;