mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-02-08 21:04:26 +00:00
commit
3cc1b11025
@ -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…
x
Reference in New Issue
Block a user