implemented sensor logging
authorJean-Philippe Orsini <jeanfi@gmail.com>
Tue, 4 Sep 2012 11:22:42 +0000 (11:22 +0000)
committerJean-Philippe Orsini <jeanfi@gmail.com>
Tue, 4 Sep 2012 11:22:42 +0000 (11:22 +0000)
19 files changed:
po/de.po
po/es.po
po/fr.po
po/hu.po
po/it.po
po/lv.po
po/psensor.pot
po/pt_BR.po
po/ru.po
po/sl.po
po/sr.po
po/tr.po
po/uk.po
po/zh_CN.po
src/cfg.c
src/cfg.h
src/lib/slog.c
src/main.c
src/ui.c

index c73dfa5..9667aa7 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor 0.7.0.x\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-06-09 17:45+0000\n"
 "Last-Translator: Daniel Winzen <d@winzen4.de>\n"
 "Language-Team: German\n"
@@ -251,16 +251,20 @@ msgstr "U/min"
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, fuzzy, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr "Protokolldatei kann nicht geöffnet werden: %s"
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 msgid "slog_init: gettimeofday failed."
 msgstr ""
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr ""
 
index 0a61a7e..95074b4 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-08-19 01:12+0000\n"
 "Last-Translator: Javier <buik8roadmaster@hotmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -251,17 +251,21 @@ msgstr "RPM"
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, fuzzy, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr "Imposible abrir el archivo de registro: %s"
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 #, fuzzy
 msgid "slog_init: gettimeofday failed."
 msgstr "Error en la adquisición del horario."
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 #, fuzzy
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr "Error en la adquisición del horario."
index 37cd2b5..8d3fa93 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-05-13 18:15+0000\n"
 "Last-Translator: jeanfi <Unknown>\n"
 "Language-Team: French <>\n"
@@ -253,17 +253,21 @@ msgstr "RPM"
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, fuzzy, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr "Impossible d'ouvrir le journal: %s"
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 #, fuzzy
 msgid "slog_init: gettimeofday failed."
 msgstr "Échec de gettimeofday."
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 #, fuzzy
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr "Échec de gettimeofday."
index c53bb5d..50334cf 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-07-09 17:56+0000\n"
 "Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n"
 "Language-Team: Hungarian <gnome-hu-list-request@gnome.org>\n"
@@ -252,17 +252,21 @@ msgstr "RPM"
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, fuzzy, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr "A naplófájl megnyitása sikertelen: %s"
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 #, fuzzy
 msgid "slog_init: gettimeofday failed."
 msgstr "gettimeofday meghiúsult."
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 #, fuzzy
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr "gettimeofday meghiúsult."
index 389e9cf..366bde0 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor 0.7.0.x\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-08-13 08:20+0000\n"
 "Last-Translator: Andrea Bernini <andrea.bernini@gmail.com>\n"
 "Language-Team: Italian\n"
@@ -251,17 +251,21 @@ msgstr "RPM"
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, fuzzy, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr "Impossibile aprire il file di log: %s"
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 #, fuzzy
 msgid "slog_init: gettimeofday failed."
 msgstr "gettimeofday fallito."
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 #, fuzzy
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr "gettimeofday fallito."
index ad634b7..3608f0c 100644 (file)
--- a/po/lv.po
+++ b/po/lv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-07-15 16:16+0000\n"
 "Last-Translator: tuxmaniack <Unknown>\n"
 "Language-Team: Latvian <lv@li.org>\n"
@@ -251,16 +251,20 @@ msgstr ""
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr ""
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 msgid "slog_init: gettimeofday failed."
 msgstr ""
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr ""
 
index 8898c0c..3807ce8 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -249,16 +249,20 @@ msgstr ""
 msgid "%"
 msgstr ""
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr ""
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 msgid "slog_init: gettimeofday failed."
 msgstr ""
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr ""
 
index 7e0715e..523275e 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor 0.7.0.x\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-06-25 13:26+0000\n"
 "Last-Translator: Rafael Neri <Unknown>\n"
 "Language-Team: Brazilian Portuguese\n"
@@ -251,16 +251,20 @@ msgstr "RPM"
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr ""
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 msgid "slog_init: gettimeofday failed."
 msgstr ""
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr ""
 
index 8fb1cfb..ba22ef5 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor 0.7.0.x\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-07-17 14:16+0000\n"
 "Last-Translator: Ilya Volchanetskiy <Unknown>\n"
 "Language-Team: Russian\n"
@@ -251,17 +251,21 @@ msgstr "об/мин"
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, fuzzy, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr "Ошибка открытия файла журнала: %s"
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 #, fuzzy
 msgid "slog_init: gettimeofday failed."
 msgstr "ошибка gettimeofday."
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 #, fuzzy
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr "ошибка gettimeofday."
index a1e6df7..66406f5 100644 (file)
--- a/po/sl.po
+++ b/po/sl.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-04-14 21:02+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Slovenian <sl@li.org>\n"
@@ -250,16 +250,20 @@ msgstr ""
 msgid "%"
 msgstr ""
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr ""
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 msgid "slog_init: gettimeofday failed."
 msgstr ""
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr ""
 
index 2273adb..70290dd 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-05-03 02:31+0000\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <sr@li.org>\n"
@@ -251,16 +251,20 @@ msgstr ""
 msgid "%"
 msgstr ""
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr ""
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 msgid "slog_init: gettimeofday failed."
 msgstr ""
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr ""
 
index 5eaeb1b..8a77a61 100644 (file)
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-04-28 11:24+0000\n"
 "Last-Translator: zeugma <Unknown>\n"
 "Language-Team: Turkish <tr@li.org>\n"
@@ -250,16 +250,20 @@ msgstr ""
 msgid "%"
 msgstr ""
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr ""
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 msgid "slog_init: gettimeofday failed."
 msgstr ""
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr ""
 
index 8199583..955f122 100644 (file)
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-05-13 18:15+0000\n"
 "Last-Translator: Ilya Volchanetskiy <Unknown>\n"
 "Language-Team: Ukrainian <uk@li.org>\n"
@@ -250,17 +250,21 @@ msgstr "об/хв"
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, fuzzy, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr "Не вдалося відкрити лог-файл: %s"
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 #, fuzzy
 msgid "slog_init: gettimeofday failed."
 msgstr "помилка gettimeofday."
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 #, fuzzy
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr "помилка gettimeofday."
index 0f163ea..395732f 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: psensor\n"
 "Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-08-23 09:50+0200\n"
+"POT-Creation-Date: 2012-08-26 14:20+0200\n"
 "PO-Revision-Date: 2012-08-10 09:26+0000\n"
 "Last-Translator: Wang Dianjin <Unknown>\n"
 "Language-Team: Chinese (simplified)\n"
@@ -251,17 +251,21 @@ msgstr "转速"
 msgid "%"
 msgstr "%"
 
-#: src/lib/slog.c:38
+#: src/lib/slog.c:59
+msgid "slog_get_default_path: no HOME variable"
+msgstr ""
+
+#: src/lib/slog.c:69
 #, fuzzy, c-format
-msgid "Cannot open sensor log file: %s"
+msgid "slog_init: cannot open sensor log file: %s"
 msgstr "无法打开日志文件:%s"
 
-#: src/lib/slog.c:43
+#: src/lib/slog.c:74
 #, fuzzy
 msgid "slog_init: gettimeofday failed."
 msgstr "获取时间失败。"
 
-#: src/lib/slog.c:67
+#: src/lib/slog.c:101
 #, fuzzy
 msgid "slog_write_sensors: gettimeofday failed."
 msgstr "获取时间失败。"
index 5a6f8e8..820dd4d 100644 (file)
--- a/src/cfg.c
+++ b/src/cfg.c
@@ -21,9 +21,8 @@
 #include <string.h>
 #include <ctype.h>
 
-#include <gconf/gconf-client.h>
-
 #include "cfg.h"
+#include "log.h"
 
 static const char *KEY_SENSORS = "/apps/psensor/sensors";
 
@@ -387,7 +386,7 @@ void config_set_appindicator_enabled(const char *sid, bool enabled)
        free(key);
 }
 
-static bool is_slog_enabled()
+bool is_slog_enabled()
 {
        return gconf_client_get_bool(client, KEY_SLOG_ENABLED, NULL);
 }
@@ -397,6 +396,22 @@ static void set_slog_enabled(bool enabled)
        gconf_client_set_bool(client, KEY_SLOG_ENABLED, enabled, NULL);
 }
 
+
+void config_slog_enabled_notify_add(GConfClientNotifyFunc cbk, void *data)
+{
+       log_debug("config_slog_enabled_notify_add");
+       gconf_client_add_dir(client,
+                            KEY_SLOG_ENABLED,
+                            GCONF_CLIENT_PRELOAD_NONE,
+                            NULL);
+       gconf_client_notify_add(client,
+                               KEY_SLOG_ENABLED,
+                               cbk,
+                               data,
+                               NULL,
+                               NULL);
+}
+
 static bool is_window_decoration_enabled()
 {
        return !gconf_client_get_bool(client,
index 97fe357..d739b8c 100644 (file)
--- a/src/cfg.h
+++ b/src/cfg.h
@@ -19,6 +19,8 @@
 #ifndef _PSENSOR_CONFIG_H_
 #define _PSENSOR_CONFIG_H_
 
+#include <gconf/gconf-client.h>
+
 #include "bool.h"
 #include "color.h"
 
@@ -106,4 +108,7 @@ void config_set_sensor_name(const char *, const char *);
 bool config_is_appindicator_enabled(const char *);
 void config_set_appindicator_enabled(const char *, bool);
 
+void config_slog_enabled_notify_add(GConfClientNotifyFunc cbk, void *data);
+bool is_slog_enabled();
+
 #endif
index effd223..7e832ef 100644 (file)
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
+#include <sys/stat.h>
 #include <sys/time.h>
+#include <sys/types.h>
+
 
 #include "bool.h"
 #include "config.h"
@@ -33,17 +37,55 @@ static FILE *file;
 static struct timeval stv;
 static double *last_values;
 
+static const char *DEFAULT_FILENAME = "sensors.log";
+
+static char *get_default_path()
+{
+       char *home, *path, *dir;
+
+       home = getenv("HOME");
+
+       if (home) {
+               dir = malloc(strlen(home)+1+strlen(".psensor")+1);
+               sprintf(dir, "%s/%s", home, ".psensor");
+               mkdir(dir, 0777);
+
+               path = malloc(strlen(dir)+1+strlen(DEFAULT_FILENAME)+1);
+               sprintf(path, "%s/%s", dir, DEFAULT_FILENAME);
+
+               free(dir);
+
+               return path;
+       } else {
+               log_warn(_("HOME variable not set."));
+               return strdup(DEFAULT_FILENAME);
+       }
+}
+
 int slog_init(const char *path, struct psensor **sensors)
 {
-       file = fopen(path, "a");
+       char *lpath;
 
-       if (!file) {
-               log_err(_("slog_init: cannot open sensor log file: %s"), path);
+       if (file) {
+               log_err(_("Sensor log file already open."));
                return 0;
        }
 
+       lpath = path ? (char *)path : get_default_path();
+
+       file = fopen(lpath, "a");
+
+       if (!file)
+               log_err(_("Cannot open sensor log file: %s."), lpath);
+
+       if (!path)
+               free((char *)lpath);
+
+       if (!file)
+               return 0;
+
        if (gettimeofday(&stv, NULL)) {
-               log_err(_("slog_init: gettimeofday failed."));
+               log_err(_("gettimeofday failed."));
                return 0;
        }
 
@@ -66,11 +108,13 @@ void slog_write_sensors(struct psensor **sensors)
        struct timeval tv;
        bool first_call;
 
-       if (!file)
+       if (!file) {
+               log_err(_("Sensor log file not open."));
                return ;
+       }
 
        if (gettimeofday(&tv, NULL)) {
-               log_err(_("slog_write_sensors: gettimeofday failed."));
+               log_err(_("gettimeofday failed."));
                return ;
        }
 
@@ -107,5 +151,7 @@ void slog_close()
                file = NULL;
                free(last_values);
                last_values = NULL;
+       } else {
+               log_err(_("Sensor log not open, cannot close."));
        }
 }
index a5e7878..164f10a 100644 (file)
@@ -37,6 +37,7 @@
 #include "ui_sensorlist.h"
 #include "ui_color.h"
 #include "lmsensor.h"
+#include "slog.h"
 #include "ui_pref.h"
 #include "ui_graph.h"
 #include "ui_status.h"
@@ -165,6 +166,9 @@ static void update_measures(struct ui_psensor *ui)
 
                psensor_log_measures(sensors);
 
+               if (cfg->slog_enabled)
+                       slog_write_sensors(sensors);
+
                period = cfg->sensor_update_interval;
 
                g_mutex_unlock(ui->sensors_mutex);
index d03da27..d310bb2 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -17,6 +17,7 @@
  * 02110-1301 USA
  */
 #include "cfg.h"
+#include "slog.h"
 #include "ui.h"
 #include "ui_graph.h"
 #include "ui_pref.h"
@@ -213,6 +214,23 @@ void ui_enable_alpha_channel(struct ui_psensor *ui)
 
 }
 
+static void on_slog_enabled_cb(GConfClient *client,
+                            guint cnxn_id,
+                            GConfEntry *entry,
+                            gpointer user_data)
+{
+       struct psensor **sensors;
+
+       sensors = (struct psensor **)user_data;
+
+       log_debug("cbk_slog_enabled");
+
+       if (is_slog_enabled())
+               slog_init(NULL, sensors);
+       else
+               slog_close(NULL, sensors);
+}
+
 void ui_window_create(struct ui_psensor *ui)
 {
        GtkWidget *window, *menubar;
@@ -228,6 +246,8 @@ void ui_window_create(struct ui_psensor *ui)
                                cfg->window_x,
                                cfg->window_y);
 
+       config_slog_enabled_notify_add(on_slog_enabled_cb, ui->sensors);
+
        gtk_window_set_default_size(GTK_WINDOW(window),
                                    cfg->window_w,
                                    cfg->window_h);