diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-01-03 16:39:32 +0100 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-01-03 16:39:32 +0100 |
commit | 85d9f14aa8bac16ab341662c770b64a15c21628b (patch) | |
tree | 422db18e798646cd4bc98abf342f25c09c0bdf1d /lib/settings/configuration.cpp | |
parent | Download items' width should no longer exceed the list width (diff) | |
download | smolbote-85d9f14aa8bac16ab341662c770b64a15c21628b.tar.xz |
Changed from qbs to cmake
Diffstat (limited to 'lib/settings/configuration.cpp')
-rw-r--r-- | lib/settings/configuration.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/settings/configuration.cpp b/lib/settings/configuration.cpp index 34d50db..4603779 100644 --- a/lib/settings/configuration.cpp +++ b/lib/settings/configuration.cpp @@ -214,6 +214,8 @@ void Configuration::setValue(std::string path, const T &val) // compiler complained about operator= not taking unsinged ints, longs and long longs if constexpr(std::is_unsigned_v<T> && !std::is_same_v<T, bool>) { setting = static_cast<typename std::make_signed_t<T>>(val); + } else if constexpr(std::is_same_v<T, std::string>) { + setting = static_cast<std::string>(val).c_str(); } else { setting = val; } @@ -240,6 +242,8 @@ void Configuration::setValue(std::string path, const T &val) if constexpr(std::is_unsigned_v<T> && !std::is_same_v<T, bool>) { *userSetting = static_cast<typename std::make_signed_t<T>>(val); + } else if constexpr(std::is_same_v<T, std::string>) { + *userSetting = static_cast<std::string>(val).c_str(); } else { *userSetting = val; } |