From 2ff446bd250a47b2a1aede958d749f97ae238ab5 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 6 Jul 2021 10:58:54 +0200 Subject: [PATCH] CMake: Simplify CMakeConfigItem::toBool() use Change-Id: I60120a152174b7c3751b99ac92d31bdb9c3ab1d9 Reviewed-by: Cristian Adam --- src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp | 4 ++-- src/plugins/cmakeprojectmanager/cmakeconfigitem.h | 2 +- src/plugins/cmakeprojectmanager/configmodel.cpp | 2 +- src/plugins/cmakeprojectmanager/fileapiparser.cpp | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp index 561c7883d20..6ccd0ae2368 100644 --- a/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeconfigitem.cpp @@ -186,11 +186,11 @@ QString CMakeConfigItem::typeToTypeString(const CMakeConfigItem::Type t) return {}; } -Utils::optional CMakeConfigItem::toBool(const QByteArray &value) +Utils::optional CMakeConfigItem::toBool(const QString &value) { // Taken from CMakes if() documentation: // "Named boolean constants are case-insensitive." - const QString v = QString::fromUtf8(value).toUpper(); + const QString v = value.toUpper(); bool isInt = false; v.toInt(&isInt); diff --git a/src/plugins/cmakeprojectmanager/cmakeconfigitem.h b/src/plugins/cmakeprojectmanager/cmakeconfigitem.h index 700b8166037..2f1d8a1eec8 100644 --- a/src/plugins/cmakeprojectmanager/cmakeconfigitem.h +++ b/src/plugins/cmakeprojectmanager/cmakeconfigitem.h @@ -58,7 +58,7 @@ public: static QStringList cmakeSplitValue(const QString &in, bool keepEmpty = false); static Type typeStringToType(const QByteArray &typeString); static QString typeToTypeString(const Type t); - static Utils::optional toBool(const QByteArray &value); + static Utils::optional toBool(const QString &value); bool isNull() const { return key.isEmpty(); } QString expandedValue(const ProjectExplorer::Kit *k) const; diff --git a/src/plugins/cmakeprojectmanager/configmodel.cpp b/src/plugins/cmakeprojectmanager/configmodel.cpp index b3bf8533c6d..c253ece543e 100644 --- a/src/plugins/cmakeprojectmanager/configmodel.cpp +++ b/src/plugins/cmakeprojectmanager/configmodel.cpp @@ -393,7 +393,7 @@ QVariant ConfigModelTreeItem::data(int column, int role) const } case 1: { const QString value = currentValue(); - const auto boolValue = CMakeConfigItem::toBool(value.toUtf8()); + const auto boolValue = CMakeConfigItem::toBool(value); const bool isTrue = boolValue.has_value() && boolValue.value(); switch (role) { diff --git a/src/plugins/cmakeprojectmanager/fileapiparser.cpp b/src/plugins/cmakeprojectmanager/fileapiparser.cpp index bf4c3c692a5..cf6bff8233e 100644 --- a/src/plugins/cmakeprojectmanager/fileapiparser.cpp +++ b/src/plugins/cmakeprojectmanager/fileapiparser.cpp @@ -209,7 +209,7 @@ static CMakeConfig readCacheFile(const FilePath &cacheFile, QString &errorMessag const QJsonObject prop = v.toObject(); auto nv = nameValue(prop); if (nv.first == "ADVANCED") { - const auto boolValue = CMakeConfigItem::toBool(nv.second.toUtf8()); + const auto boolValue = CMakeConfigItem::toBool(nv.second); item.isAdvanced = boolValue.has_value() && boolValue.value(); } else if (nv.first == "HELPSTRING") { item.documentation = nv.second.toUtf8();