diff --git a/.gitignore b/.gitignore index d46ff1d..6e96e51 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ make .git build .vscode +test_config/slide.options.json diff --git a/src/appconfig.cpp b/src/appconfig.cpp index a9fb920..fcbb783 100644 --- a/src/appconfig.cpp +++ b/src/appconfig.cpp @@ -49,6 +49,11 @@ void SetJSONBool(bool &value, QJsonObject jsonDoc, const char *key) { } Config loadConfiguration(const std::string &configFilePath, const Config ¤tConfig) { + if(configFilePath.empty()) + { + return currentConfig; + } + QString jsonFile(configFilePath.c_str()); QDir directory; if(!directory.exists(jsonFile)) @@ -130,7 +135,7 @@ QString getAppConfigFilePath(const std::string &configPath) { std::string userConfigFolder = "~/.config/slide/"; std::string systemConfigFolder = "/etc/slide"; QString baseConfigFilename("slide.options.json"); - + QDir directory(userConfigFolder.c_str()); QString jsonFile = ""; if (!configPath.empty()) @@ -218,6 +223,11 @@ QVector parsePathEntry(QJsonObject &jsonMainDoc, bool baseRecursive, } AppConfig loadAppConfiguration(const AppConfig &commandLineConfig) { + if(commandLineConfig.configPath.empty()) + { + return commandLineConfig; + } + QString jsonFile = getAppConfigFilePath(commandLineConfig.configPath); QDir directory; if(!directory.exists(jsonFile)) @@ -272,6 +282,10 @@ AppConfig loadAppConfiguration(const AppConfig &commandLineConfig) { } Config getConfigurationForFolder(const std::string &folderPath, const Config ¤tConfig) { + if(folderPath.empty()) + { + return currentConfig; + } QDir directory(folderPath.c_str()); QString jsonFile = directory.filePath(QString("options.json")); if(directory.exists(jsonFile)) diff --git a/src/main.cpp b/src/main.cpp index 4a3b42d..6ec6f74 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -210,6 +210,11 @@ std::unique_ptr GetSelectorForApp(const AppConfig& appConfig) void ReloadConfigIfNeeded(AppConfig &appConfig, MainWindow &w, ImageSwitcher *switcher) { + if(appConfig.configPath.empty()) + { + return; + } + QString jsonFile = getAppConfigFilePath(appConfig.configPath); QDir directory; if(!directory.exists(jsonFile))