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

View File

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