diff options
Diffstat (limited to 'src/main-lib/configuration.cpp')
-rw-r--r-- | src/main-lib/configuration.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/main-lib/configuration.cpp b/src/main-lib/configuration.cpp index a94e2389..a689595b 100644 --- a/src/main-lib/configuration.cpp +++ b/src/main-lib/configuration.cpp @@ -295,7 +295,18 @@ void Configuration::parseWithArguments(const QStringList &arguments) timer.start(); #endif - QStringList configFilePaths = m_clp.values(qSL("config-file")); + const QStringList rawConfigFilePaths = m_clp.values(qSL("config-file")); + QStringList configFilePaths; + configFilePaths.reserve(rawConfigFilePaths.size()); + for (const auto &path : rawConfigFilePaths) { + if (QFileInfo(path).isDir()) { + const auto entries = QDir(path).entryInfoList({ qSL("*.yaml") }, QDir::Files, QDir::Name); + for (const auto &entry : entries) + configFilePaths << entry.filePath(); + } else { + configFilePaths << path; + } + } AbstractConfigCache::Options cacheOptions = AbstractConfigCache::MergedResult; if (noCache()) |