diff options
Diffstat (limited to 'src/Config.cpp')
-rw-r--r-- | src/Config.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/Config.cpp b/src/Config.cpp index 31da8f0..780bf32 100644 --- a/src/Config.cpp +++ b/src/Config.cpp @@ -4,6 +4,8 @@ #include <assert.h> #include <X11/Xlib.h> +// TODO: Show nice error message if config looks wrong (wrong types, has configs that do not exist (maybe spelling mistake?)) + namespace QuickMedia { static bool config_initialized = false; static Config *config = nullptr; @@ -153,17 +155,20 @@ namespace QuickMedia { if(spacing_scale.isNumeric()) config->spacing_scale = spacing_scale.asFloat(); - const Json::Value &local_manga_directory_json = json_root["local_manga_directory"]; - if(local_manga_directory_json.isString()) - config->local_manga_directory = local_manga_directory_json.asString(); + const Json::Value &local_manga_json = json_root["local_manga"]; + if(local_manga_json.isObject()) { + const Json::Value &directory_json = local_manga_json["directory"]; + if(directory_json.isString()) + config->local_manga.directory = directory_json.asString(); - const Json::Value &local_manga_sort_by_name_json = json_root["local_manga_sort_by_name"]; - if(local_manga_sort_by_name_json.isBool()) - config->local_manga_sort_by_name = local_manga_sort_by_name_json.asBool(); + const Json::Value &sort_by_name_json = local_manga_json["sort_by_name"]; + if(sort_by_name_json.isBool()) + config->local_manga.sort_by_name = sort_by_name_json.asBool(); - const Json::Value &local_manga_sort_chapters_by_name_json = json_root["local_manga_sort_chapters_by_name"]; - if(local_manga_sort_chapters_by_name_json.isBool()) - config->local_manga_sort_chapters_by_name = local_manga_sort_chapters_by_name_json.asBool(); + const Json::Value &sort_chapters_by_name_json = local_manga_json["sort_chapters_by_name"]; + if(sort_chapters_by_name_json.isBool()) + config->local_manga.sort_chapters_by_name = sort_chapters_by_name_json.asBool(); + } } const Config& get_config() { |