Change parseBool() to return optional bool value

This commit is contained in:
Vladimir Golovnev (Glassez) 2021-01-03 15:33:32 +03:00
parent 4429a16ca8
commit d0cac421bb
No known key found for this signature in database
GPG key ID: 52A2C7DEE2DFA6F7
6 changed files with 24 additions and 19 deletions

View file

@ -190,11 +190,14 @@ QString Utils::String::wildcardToRegex(const QString &pattern)
return qt_regexp_toCanonical(pattern, QRegExp::Wildcard);
}
bool Utils::String::parseBool(const QString &string, const bool defaultValue)
std::optional<bool> Utils::String::parseBool(const QString &string)
{
if (defaultValue)
return (string.compare("false", Qt::CaseInsensitive) == 0) ? false : true;
return (string.compare("true", Qt::CaseInsensitive) == 0) ? true : false;
if (string.compare("true", Qt::CaseInsensitive) == 0)
return true;
if (string.compare("false", Qt::CaseInsensitive) == 0)
return false;
return std::nullopt;
}
QString Utils::String::join(const QVector<QStringRef> &strings, const QString &separator)