CMake: Simplify CMakeConfigItem::toBool() use

Change-Id: I60120a152174b7c3751b99ac92d31bdb9c3ab1d9
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
hjk
2021-07-06 10:58:54 +02:00
parent 3b779fb8dd
commit 2ff446bd25
4 changed files with 5 additions and 5 deletions

View File

@@ -186,11 +186,11 @@ QString CMakeConfigItem::typeToTypeString(const CMakeConfigItem::Type t)
return {};
}
Utils::optional<bool> CMakeConfigItem::toBool(const QByteArray &value)
Utils::optional<bool> CMakeConfigItem::toBool(const QString &value)
{
// Taken from CMakes if(<constant>) 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);

View File

@@ -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<bool> toBool(const QByteArray &value);
static Utils::optional<bool> toBool(const QString &value);
bool isNull() const { return key.isEmpty(); }
QString expandedValue(const ProjectExplorer::Kit *k) const;

View File

@@ -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) {

View File

@@ -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();