made count visible setting change dynamic
[psensor.git] / src / cfg.c
index 822abbb..14267dc 100644 (file)
--- a/src/cfg.c
+++ b/src/cfg.c
@@ -328,22 +328,22 @@ static void set_slog_interval(int interval)
        set_int(KEY_SLOG_INTERVAL, interval);
 }
 
-static bool is_window_decoration_enabled(void)
+bool config_is_window_decoration_enabled(void)
 {
        return !get_bool(KEY_INTERFACE_WINDOW_DECORATION_DISABLED);
 }
 
-static bool is_window_keep_below_enabled(void)
+bool config_is_window_keep_below_enabled(void)
 {
        return get_bool(KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED);
 }
 
-static void set_window_decoration_enabled(bool enabled)
+void config_set_window_decoration_enabled(bool enabled)
 {
        set_bool(KEY_INTERFACE_WINDOW_DECORATION_DISABLED, !enabled);
 }
 
-static void set_window_keep_below_enabled(bool enabled)
+void config_set_window_keep_below_enabled(bool enabled)
 {
        set_bool(KEY_INTERFACE_WINDOW_KEEP_BELOW_ENABLED, enabled);
 }
@@ -419,8 +419,6 @@ struct config *config_load(void)
        c->graph_bg_alpha = get_graph_background_alpha();
        c->alpha_channel_enabled = is_alpha_channel_enabled();
        c->sensorlist_position = get_sensorlist_position();
-       c->window_decoration_enabled = is_window_decoration_enabled();
-       c->window_keep_below_enabled = is_window_keep_below_enabled();
        c->slog_enabled = is_slog_enabled();
        c->slog_interval = config_get_slog_interval();
 
@@ -438,8 +436,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);
 
@@ -460,8 +456,6 @@ struct config *config_load(void)
                c->window_h = 200;
        }
 
-       c->temperature_unit = get_int(KEY_INTERFACE_TEMPERATURE_UNIT);
-
        c->sensor_values_max_length = compute_values_max_length(c);
 
        return c;
@@ -474,8 +468,6 @@ void config_save(const struct config *c)
        set_foreground_color(c->graph_fgcolor);
        set_graph_background_alpha(c->graph_bg_alpha);
        set_sensorlist_position(c->sensorlist_position);
-       set_window_decoration_enabled(c->window_decoration_enabled);
-       set_window_keep_below_enabled(c->window_keep_below_enabled);
        set_slog_enabled(c->slog_enabled);
        set_slog_interval(c->slog_interval);
 
@@ -485,8 +477,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);
 
@@ -501,8 +491,6 @@ void config_save(const struct config *c)
        set_int(KEY_INTERFACE_WINDOW_H, c->window_h);
 
        set_int(KEY_INTERFACE_WINDOW_DIVIDER_POS, c->window_divider_pos);
-
-       set_int(KEY_INTERFACE_TEMPERATURE_UNIT, c->temperature_unit);
 }
 
 const char *get_psensor_user_dir(void)
@@ -566,10 +554,12 @@ static GKeyFile *get_sensor_key_file(void)
                                                | G_KEY_FILE_KEEP_TRANSLATIONS,
                                                &err);
 
-               if (!ret)
+               if (!ret) {
                        log_warn(_("Failed to load configuration file %s: %s"),
                                 path,
                                 err->message);
+                       g_error_free(err);
+               }
        }
 
        return key_file;
@@ -633,8 +623,13 @@ static bool sensor_get_double(const char *sid, const char *att, double *d)
        err = NULL;
        v = g_key_file_get_double(kfile, sid, att, &err);
 
-       if (err)
+       if (err) {
+               log_err(err->message);
+
+               g_error_free(err);
+
                return false;
+       }
 
        *d = v;
        return true;
@@ -647,8 +642,8 @@ static bool sensor_get_bool(const char *sid, const char *att, bool dft)
        bool ret;
 
        kfile = get_sensor_key_file();
-       err = NULL;
 
+       err = NULL;
        ret = g_key_file_get_boolean(kfile, sid, att, &err);
 
        if (err) {
@@ -937,7 +932,32 @@ void config_set_udisks2_enable(bool b)
        set_bool(KEY_PROVIDER_UDISKS2_ENABLED, b);
 }
 
-int config_get_sensor_unit(void)
+enum temperature_unit config_get_temperature_unit(void)
 {
        return get_int(KEY_INTERFACE_TEMPERATURE_UNIT);
 }
+
+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);
+}