simplify a function

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
Yuhang Zhao 2022-08-28 20:08:44 +08:00
parent ce78c037b1
commit e55afa2fe3
2 changed files with 11 additions and 11 deletions

View File

@ -50,14 +50,14 @@ public:
static void setLoadFromEnvironmentVariablesDisabled(const bool on = true);
static void setLoadFromConfigurationFileDisabled(const bool on = true);
Q_NODISCARD std::optional<QVariant> setInternal(const QString &key, const QVariant &value);
Q_NODISCARD std::optional<QVariant> getInternal(const QString &key) const;
Q_NODISCARD QVariant setInternal(const QString &key, const QVariant &value);
Q_NODISCARD QVariant getInternal(const QString &key) const;
template<typename T>
Q_NODISCARD std::optional<T> getInternal(const QString &key) const
{
const std::optional<QVariant> var = getInternal(key);
if (var.has_value()) {
return qvariant_cast<T>(var.value());
const QVariant var = getInternal(key);
if (var.isValid()) {
return qvariant_cast<T>(var);
}
return std::nullopt;
}

View File

@ -139,14 +139,14 @@ void FramelessConfig::setLoadFromConfigurationFileDisabled(const bool on)
g_data()->disableCfgFile = on;
}
std::optional<QVariant> FramelessConfig::setInternal(const QString &key, const QVariant &value)
QVariant FramelessConfig::setInternal(const QString &key, const QVariant &value)
{
Q_ASSERT(!key.isEmpty());
Q_ASSERT(value.isValid());
if (key.isEmpty() || !value.isValid()) {
return std::nullopt;
return {};
}
std::optional<QVariant> previous = std::nullopt;
QVariant previous = {};
const QMutexLocker locker(&g_data()->mutex);
if (g_data()->internals.contains(key)) {
previous = g_data()->internals.value(key);
@ -156,17 +156,17 @@ std::optional<QVariant> FramelessConfig::setInternal(const QString &key, const Q
return previous;
}
std::optional<QVariant> FramelessConfig::getInternal(const QString &key) const
QVariant FramelessConfig::getInternal(const QString &key) const
{
Q_ASSERT(!key.isEmpty());
if (key.isEmpty()) {
return std::nullopt;
return {};
}
const QMutexLocker locker(&g_data()->mutex);
if (g_data()->internals.contains(key)) {
return g_data()->internals.value(key);
}
return std::nullopt;
return {};
}
FRAMELESSHELPER_END_NAMESPACE