22 #ifndef SAYONARA_SETTING_H_ 23 #define SAYONARA_SETTING_H_ 25 #include "Utils/Settings/SettingConverter.h" 26 #include "Utils/Settings/SettingKey.h" 27 #include "Utils/Pimpl.h" 54 SettingKey get_key()
const;
55 QString db_key()
const;
56 bool is_db_setting()
const;
58 void assign_value(
const QString& value);
61 virtual bool load_value_from_string(
const QString& str)=0;
62 virtual QString value_to_string()
const=0;
63 virtual void assign_default_value()=0;
67 template<
typename KeyClass,
80 typename KeyClass::Data _val;
81 typename KeyClass::Data _default_val;
86 Setting(
const char* db_key,
const typename KeyClass::Data& def) :
93 Setting(
const typename KeyClass::Data& def) :
103 void assign_default_value()
override 108 QString value_to_string()
const override 110 return SC<typename KeyClass::Data>::cvt_to_string(_val);
113 bool load_value_from_string(
const QString& str)
override 115 return SC<typename KeyClass::Data>::cvt_from_string(str, _val);
119 const typename KeyClass::Data& value()
const 125 const typename KeyClass::Data& default_value()
const 131 bool assign_value(
const typename KeyClass::Data& val)
142 #endif // SAYONARA_SETTING_H_ The Setting class T is the pure value type e.g. QString.
Definition: Setting.h:74
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:37
Definition: SoundcloudLibraryContainer.h:30
The SettingConverter class.
Definition: SettingConverter.h:41