X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fcfg.c;h=61e8b0c328654f8750eac5bf9b3fb63f3276b9c7;hb=db67d2960c15ee66c36b4095349226310d76f7fd;hp=96baa27714c9ca033b74ac32ab3cc6d8056b86ea;hpb=51450a36b7143fe230197dfa89b5fd072af7421c;p=psensor.git diff --git a/src/cfg.c b/src/cfg.c index 96baa27..61e8b0c 100644 --- a/src/cfg.c +++ b/src/cfg.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2014 jeanfi@gmail.com + * Copyright (C) 2010-2016 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -237,12 +237,12 @@ static void set_alpha_channeld_enabled(bool b) set_bool(KEY_ALPHA_CHANNEL_ENABLED, b); } -static enum sensorlist_position get_sensorlist_position(void) +enum sensorlist_position config_get_sensorlist_position(void) { return get_int(KEY_INTERFACE_SENSORLIST_POSITION); } -static void set_sensorlist_position(enum sensorlist_position pos) +void config_set_sensorlist_position(enum sensorlist_position pos) { set_int(KEY_INTERFACE_SENSORLIST_POSITION, pos); } @@ -418,7 +418,6 @@ struct config *config_load(void) c->graph_fgcolor = get_foreground_color(); c->graph_bg_alpha = get_graph_background_alpha(); c->alpha_channel_enabled = is_alpha_channel_enabled(); - c->sensorlist_position = get_sensorlist_position(); c->slog_enabled = is_slog_enabled(); c->slog_interval = config_get_slog_interval(); @@ -436,13 +435,6 @@ struct config *config_load(void) if (c->graph_monitoring_duration < 1) c->graph_monitoring_duration = 10; - c->menu_bar_disabled = get_bool(KEY_INTERFACE_MENU_BAR_DISABLED); - - c->unity_launcher_count_disabled - = get_bool(KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED); - - c->hide_on_startup = get_bool(KEY_INTERFACE_HIDE_ON_STARTUP); - c->window_restore_enabled = get_bool(KEY_INTERFACE_WINDOW_RESTORE_ENABLED); @@ -469,7 +461,6 @@ void config_save(const struct config *c) set_background_color(c->graph_bgcolor); set_foreground_color(c->graph_fgcolor); set_graph_background_alpha(c->graph_bg_alpha); - set_sensorlist_position(c->sensorlist_position); set_slog_enabled(c->slog_enabled); set_slog_interval(c->slog_interval); @@ -479,11 +470,6 @@ void config_save(const struct config *c) set_int(KEY_SENSOR_UPDATE_INTERVAL, c->sensor_update_interval); - set_bool(KEY_INTERFACE_MENU_BAR_DISABLED, c->menu_bar_disabled); - - set_bool(KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED, - c->unity_launcher_count_disabled); - set_bool(KEY_INTERFACE_HIDE_ON_STARTUP, c->hide_on_startup); set_bool(KEY_INTERFACE_WINDOW_RESTORE_ENABLED, @@ -616,7 +602,10 @@ static char *sensor_get_str(const char *sid, const char *att) return g_key_file_get_string(kfile, sid, att, NULL); } -static bool sensor_get_double(const char *sid, const char *att, double *d) +static bool sensor_get_double(const char *sid, + const char *att, + double *d, + double d_default) { GKeyFile *kfile; GError *err; @@ -625,6 +614,18 @@ static bool sensor_get_double(const char *sid, const char *att, double *d) kfile = get_sensor_key_file(); err = NULL; + if (!g_key_file_has_key(kfile, sid, att, &err)) { + if (err) { + log_err(err->message); + g_error_free(err); + return false; + } + + *d = d_default; + return true; + } + + err = NULL; v = g_key_file_get_double(kfile, sid, att, &err); if (err) { @@ -712,7 +713,8 @@ void config_set_sensor_color(const char *sid, const GdkRGBA *color) static const char *next_default_color(void) { /* copied from the default colors of the gtk color color - * chooser. */ + * chooser. + */ const char *default_colors[27] = { "#ef2929", /* Scarlet Red */ "#fcaf3e", /* Orange */ @@ -783,9 +785,11 @@ void config_set_sensor_graph_enabled(const char *sid, bool enabled) sensor_set_bool(sid, ATT_SENSOR_GRAPH_ENABLED, enabled); } -bool config_get_sensor_alarm_high_threshold(const char *sid, double *v) +bool config_get_sensor_alarm_high_threshold(const char *sid, + double *v, + double d) { - return sensor_get_double(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD, v); + return sensor_get_double(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD, v, d); } void config_set_sensor_alarm_high_threshold(const char *sid, int threshold) @@ -793,9 +797,9 @@ void config_set_sensor_alarm_high_threshold(const char *sid, int threshold) sensor_set_int(sid, ATT_SENSOR_ALARM_HIGH_THRESHOLD, threshold); } -bool config_get_sensor_alarm_low_threshold(const char *sid, double *v) +bool config_get_sensor_alarm_low_threshold(const char *sid, double *v, double d) { - return sensor_get_double(sid, ATT_SENSOR_ALARM_LOW_THRESHOLD, v); + return sensor_get_double(sid, ATT_SENSOR_ALARM_LOW_THRESHOLD, v, d); } void config_set_sensor_alarm_low_threshold(const char *sid, int threshold) @@ -945,3 +949,23 @@ void config_set_temperature_unit(enum temperature_unit u) { set_int(KEY_INTERFACE_TEMPERATURE_UNIT, u); } + +bool config_is_menu_bar_enabled(void) +{ + return !get_bool(KEY_INTERFACE_MENU_BAR_DISABLED); +} + +void config_set_menu_bar_enabled(bool enabled) +{ + set_bool(KEY_INTERFACE_MENU_BAR_DISABLED, !enabled); +} + +bool config_is_count_visible(void) +{ + return !get_bool(KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED); +} + +void config_set_count_visible(bool visible) +{ + set_bool(KEY_INTERFACE_UNITY_LAUNCHER_COUNT_DISABLED, !visible); +}