presentator: save the scale value

This commit is contained in:
Marcel Hollerbach 2017-07-30 19:34:28 +02:00
parent c30b7f16da
commit 9b853479c5
1 changed files with 43 additions and 4 deletions

View File

@ -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(&notify_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;