22 #ifndef SAYONARA_SETTING_H_ 23 #define SAYONARA_SETTING_H_ 26 #include "Utils/Settings/SettingKey.h" 27 #include "Utils/Settings/SettingConverter.h" 28 #include "Utils/Pimpl.h" 56 QString db_key()
const;
57 bool is_db_setting()
const;
59 void assign_value(
const QString& value);
62 virtual bool load_value_from_string(
const QString& str)=0;
63 virtual QString value_to_string()
const=0;
64 virtual void assign_default_value()=0;
68 template<
typename DataType,
SettingKey keyIndex,
82 DataType _default_val;
87 Setting(
const char* db_key,
const DataType& def) :
104 void assign_default_value()
override 109 QString value_to_string()
const override 111 return SC<DataType>::cvt_to_string(_val);
114 bool load_value_from_string(
const QString& str)
override 116 return SC<DataType>::cvt_from_string(str, _val);
120 const DataType& value()
const 126 const DataType& default_value()
const 132 bool assign_value(
const DataType& val)
143 #endif // SAYONARA_SETTING_H_ The Setting class T is the pure value type e.g. QString.
Definition: Setting.h:75
SettingKey
The SK namespace is used to access setting keys.
Definition: SettingKey.h:53
The Settings class.
Definition: Settings.h:37
The AbstrSetting class Every setting needs a key and a value The SettingKey is only used inside the s...
Definition: Setting.h:38
Definition: SoundcloudLibraryContainer.h:30
The SettingConverter class.
Definition: SettingConverter.h:41