From d1595d6e66098cd032b2f11e6763a3158f2c0250 Mon Sep 17 00:00:00 2001 From: JoseExposito Date: Mon, 18 Jan 2021 08:44:09 +0100 Subject: [PATCH] Fix #432: Make application name case insensitive --- src/config/config.cpp | 6 ++++-- src/utils/string.cpp | 17 +++++++++++++---- src/utils/string.h | 10 ++++++---- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/src/config/config.cpp b/src/config/config.cpp index a9604c98..4b75ef0d 100755 --- a/src/config/config.cpp +++ b/src/config/config.cpp @@ -20,6 +20,8 @@ #include #include +#include "utils/string.h" + Config::Config() { this->loadDefaultGlobalSettings(); } void Config::clear() { @@ -79,6 +81,6 @@ std::string Config::getConfigKey(const std::string &application, GestureDirection gestureDirection) { auto gestureTypeInt = static_cast(gestureType); auto gestureDirectionInt = static_cast(gestureDirection); - return application + "_" + std::to_string(gestureTypeInt) + "_" + numFingers + - "_" + std::to_string(gestureDirectionInt); + return toLower(application) + "_" + std::to_string(gestureTypeInt) + "_" + + numFingers + "_" + std::to_string(gestureDirectionInt); } diff --git a/src/utils/string.cpp b/src/utils/string.cpp index 2e97aa69..a359b8f4 100755 --- a/src/utils/string.cpp +++ b/src/utils/string.cpp @@ -17,13 +17,15 @@ */ #include "utils/string.h" +#include +#include #include // NOLINT #include #include #include #include -std::vector split(const std::string& string, char delimiter) { +std::vector split(const std::string &string, char delimiter) { std::stringstream ss(string); std::string item; std::vector elems; @@ -35,12 +37,19 @@ std::vector split(const std::string& string, char delimiter) { return elems; } -std::string ltrim(const std::string& s) { +std::string ltrim(const std::string &s) { return std::regex_replace(s, std::regex("^\\s+"), std::string("")); } -std::string rtrim(const std::string& s) { +std::string rtrim(const std::string &s) { return std::regex_replace(s, std::regex("\\s+$"), std::string("")); } -std::string trim(const std::string& s) { return ltrim(rtrim(s)); } +std::string trim(const std::string &s) { return ltrim(rtrim(s)); } + +std::string toLower(const std::string &string) { + std::string lower = string; + std::transform(lower.begin(), lower.end(), lower.begin(), + [](unsigned char c) { return std::tolower(c); }); + return lower; +} diff --git a/src/utils/string.h b/src/utils/string.h index 88c429e9..662443e0 100755 --- a/src/utils/string.h +++ b/src/utils/string.h @@ -21,10 +21,12 @@ #include #include -std::vector split(const std::string& string, char delimiter); +std::vector split(const std::string &string, char delimiter); -std::string ltrim(const std::string& s); -std::string rtrim(const std::string& s); -std::string trim(const std::string& s); +std::string ltrim(const std::string &s); +std::string rtrim(const std::string &s); +std::string trim(const std::string &s); + +std::string toLower(const std::string &string); #endif // UTILS_STRING_H_