Browse Source

Merge pull request #6783 from Chocobo1/fix

Tweak CachedSettingValue
adaptive-webui-19844
Mike Tzou 8 years ago committed by GitHub
parent
commit
3cc1b11025
  1. 21
      src/base/settingvalue.h

21
src/base/settingvalue.h

@ -40,8 +40,15 @@ class CachedSettingValue
using ProxyFunc = std::function<T (const T&)>; using ProxyFunc = std::function<T (const T&)>;
public: public:
explicit CachedSettingValue(const char *keyName, const T &defaultValue = T() explicit CachedSettingValue(const char *keyName, const T &defaultValue = T())
, ProxyFunc proxyFunc = [](const T &value) { return value; }) : m_keyName(QLatin1String(keyName))
, m_value(SettingsStorage::instance()->loadValue(
m_keyName, defaultValue).template value<T>())
{
}
explicit CachedSettingValue(const char *keyName, const T &defaultValue
, const ProxyFunc &proxyFunc)
: m_keyName(QLatin1String(keyName)) : m_keyName(QLatin1String(keyName))
, m_value(proxyFunc(SettingsStorage::instance()->loadValue( , m_value(proxyFunc(SettingsStorage::instance()->loadValue(
m_keyName, defaultValue).template value<T>())) m_keyName, defaultValue).template value<T>()))
@ -53,6 +60,11 @@ public:
return m_value; return m_value;
} }
operator T() const
{
return value();
}
CachedSettingValue<T> &operator=(const T &newValue) CachedSettingValue<T> &operator=(const T &newValue)
{ {
m_value = newValue; m_value = newValue;
@ -60,11 +72,6 @@ public:
return *this; return *this;
} }
operator T() const
{
return value();
}
private: private:
const QString m_keyName; const QString m_keyName;
T m_value; T m_value;

Loading…
Cancel
Save