From dcf4777c0dc2a435d7747a500e29d5a1077abecd Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sun, 30 Dec 2018 21:16:41 +0100 Subject: Configuration: fix homepath patching for value --- lib/configuration/configuration.h | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/lib/configuration/configuration.h b/lib/configuration/configuration.h index 2bdd2c5..b05728a 100644 --- a/lib/configuration/configuration.h +++ b/lib/configuration/configuration.h @@ -46,24 +46,24 @@ public: // path is guaranteed to exist, so using vm[path] is safe - if constexpr(std::is_same_v) { - return std::optional(QString::fromStdString(vm[path].as())); - - } else if constexpr(std::is_same_v) { + if constexpr(std::is_same_v) { QStringList r; for(const std::string &item : vm[path].as>()) { r.append(QString::fromStdString(item)); } return std::optional(r); - } else if constexpr(std::is_same_v) { + } else if constexpr(std::is_same_v || std::is_same_v) { if(vm[path].value().type() == typeid(int)) { - return std::optional(std::to_string(vm[path].as())); + if constexpr(std::is_same_v) + return std::optional(std::to_string(vm[path].as())); + else if constexpr(std::is_same_v) + return std::optional(QString::number(vm[path].as())); } if(vm[path].value().type() == typeid(bool)) { - return std::optional(vm[path].as() ? "true" : "false"); + return std::optional(vm[path].as() ? "true" : "false"); } std::string r = vm[path].as(); @@ -73,7 +73,10 @@ public: r.replace(0, 1, m_homePath); } - return std::optional(r); + if constexpr(std::is_same_v) + return std::optional(r); + else if constexpr(std::is_same_v) + return std::optional(QString::fromStdString(r)); } else return std::optional(vm[path].as()); -- cgit v1.2.1