From e1f240f490324f8c6f4d8132630ad85756f6d191 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 22 Apr 2018 16:10:18 +0200 Subject: Merge CommandLine functionality into Configuration --- lib/configuration/configuration.h | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'lib/configuration/configuration.h') diff --git a/lib/configuration/configuration.h b/lib/configuration/configuration.h index 5b59766..5bb9f5d 100644 --- a/lib/configuration/configuration.h +++ b/lib/configuration/configuration.h @@ -23,10 +23,8 @@ public: explicit Configuration(); ~Configuration(); - static QString defaultUserConfigLocation(); - - bool read(const QString &path); - bool parse(int argc, char **argv); + bool parseConfigFile(const std::string &path); + bool parseCommandLine(int argc, char **argv); template std::optional value(const char *path) const @@ -66,13 +64,26 @@ public: const std::vector> &options() { - return desc.options(); + return configuration_desc.options(); } QHash section(const std::string &prefix) const; + QStringList positionalArguments() const + { + QStringList l; + if(vm.count("url")) { + std::vector urls = vm["url"].as>(); + for(const std::string &s : urls) { + l.append(QString::fromStdString(s)); + } + } + return l; + } private: - boost::program_options::options_description desc; + boost::program_options::options_description commandLine_desc; + boost::program_options::options_description configuration_desc; + boost::program_options::positional_options_description arguments_desc; boost::program_options::variables_map vm; std::string m_homePath; -- cgit v1.2.1