Support a theme.config.local.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 18 Feb 2012 22:39:46 +0000 (23:39 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 18 Feb 2012 22:39:46 +0000 (23:39 +0100)
bigscreen/.gitignore [new file with mode: 0644]
bigscreen/theme.cpp

diff --git a/bigscreen/.gitignore b/bigscreen/.gitignore
new file mode 100644 (file)
index 0000000..b3cc2b6
--- /dev/null
@@ -0,0 +1 @@
+theme.config.local
index 03a26c1..eb5d549 100644 (file)
@@ -7,11 +7,11 @@
 
 std::map<std::string, std::string> config;
 
-void init_theme()
+void read_config(const char *filename)
 {
-       FILE *fp = fopen("theme.config", "rb");
+       FILE *fp = fopen(filename, "r");
        if (fp == NULL)
-               throw std::runtime_error("Couldn't open theme.config.");
+               throw std::runtime_error("Couldn't open theme file.");
 
        while (!feof(fp)) {
                char buf[1024];
@@ -46,11 +46,22 @@ void init_theme()
                        continue;
                }
 
-               config.insert(std::make_pair(key, value));
+               fprintf(stderr, "%s = %s\n", key, value);
+               config[key] = value;
        }
        fclose(fp);
 }
 
+void init_theme()
+{
+       read_config("theme.config");
+       try {
+               read_config("theme.config.local");
+       } catch (...) {
+               // Ignore.
+       }
+}
+
 std::string get_theme_config(const std::string &key, const std::string subkey)
 {
        if (config.count(key + "." + subkey)) {