X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=bigscreen%2Ftheme.cpp;fp=bigscreen%2Ftheme.cpp;h=eb5d54989fbb0b0c7f664abb35cddff40f24c566;hp=03a26c1c56c45776f7df2835f68068ff8f5f5d43;hb=a012f0c17bf2793cf8508474de7af986ac08679c;hpb=10a3f1b1f6b68a4e9ebe23f2dbebdcb826390372 diff --git a/bigscreen/theme.cpp b/bigscreen/theme.cpp index 03a26c1..eb5d549 100644 --- a/bigscreen/theme.cpp +++ b/bigscreen/theme.cpp @@ -7,11 +7,11 @@ std::map 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)) {