aboutsummaryrefslogtreecommitdiff
path: root/src/core/kconfiggroup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/kconfiggroup.cpp')
-rw-r--r--src/core/kconfiggroup.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/core/kconfiggroup.cpp b/src/core/kconfiggroup.cpp
index be1f2b0e..24a8ccfd 100644
--- a/src/core/kconfiggroup.cpp
+++ b/src/core/kconfiggroup.cpp
@@ -26,6 +26,8 @@
#include <QTextStream>
#include <QUrl>
+#include <algorithm>
+#include <array>
#include <math.h>
#include <stdlib.h>
@@ -234,11 +236,11 @@ QVariant KConfigGroup::convertToQVariant(const char *pKey, const QByteArray &val
case QMetaType::QByteArray:
return value;
case QMetaType::Bool: {
- const QByteArray lower(value.toLower());
- if (lower == "false" || lower == "no" || lower == "off" || lower == "0") {
- return false;
- }
- return true;
+ static const std::array<const char *, 4> negatives = {"false", "no", "off", "0"};
+
+ return std::all_of(negatives.begin(), negatives.end(), [value](const char *negativeString) {
+ return value.compare(negativeString, Qt::CaseInsensitive) != 0;
+ });
}
case QMetaType::Double:
case QMetaType::Float: