13 #include "SettingCategoryAccess.h" 14 #include "utils/logtypes.h" 41 bool Deserialize(
const TiXmlNode *node,
bool update =
false)
override;
59 void AddSetting(
const std::shared_ptr<CSetting>& setting);
60 void AddSettings(
const SettingList &
settings);
62 bool ReplaceSetting(
const std::shared_ptr<const CSetting>& currentSetting,
63 const std::shared_ptr<CSetting>& newSetting);
65 std::shared_ptr<const ISettingControl> GetControl()
const {
return m_control; }
66 std::shared_ptr<ISettingControl> GetControl() {
return m_control; }
67 void SetControl(std::shared_ptr<ISettingControl> control) { m_control = std::move(control); }
70 SettingList m_settings;
71 std::shared_ptr<ISettingControl> m_control;
73 static Logger s_logger;
76 using SettingGroupPtr = std::shared_ptr<CSettingGroup>;
77 using SettingGroupList = std::vector<SettingGroupPtr>;
98 bool Deserialize(
const TiXmlNode *node,
bool update =
false)
override;
106 const SettingGroupList&
GetGroups()
const {
return m_groups; }
122 bool CanAccess()
const;
124 void AddGroup(
const SettingGroupPtr&
group);
125 void AddGroupToFront(
const SettingGroupPtr& group);
126 void AddGroups(
const SettingGroupList &groups);
129 SettingGroupList m_groups;
132 static Logger s_logger;
135 using SettingCategoryPtr = std::shared_ptr<CSettingCategory>;
136 using SettingCategoryList = std::vector<SettingCategoryPtr>;
157 bool Deserialize(
const TiXmlNode *node,
bool update =
false)
override;
174 SettingCategoryList GetCategories(
SettingLevel level)
const;
176 void AddCategory(
const SettingCategoryPtr& category);
177 void AddCategories(
const SettingCategoryList &categories);
180 SettingCategoryList m_categories;
182 static Logger s_logger;
185 using SettingSectionPtr = std::shared_ptr<CSettingSection>;
186 using SettingSectionList = std::vector<SettingSectionPtr>;
Category of groups of settings being part of a section.
Definition: SettingSection.h:85
const SettingList & GetSettings() const
Gets the full list of settings belonging to the setting group.
Definition: SettingSection.h:48
Definition: SettingCategoryAccess.h:42
Interface defining the base of all setting objects.
Definition: ISetting.h:22
Section of setting categories.
Definition: SettingSection.h:144
const SettingCategoryList & GetCategories() const
Gets the full list of setting categories belonging to the setting section.
Definition: SettingSection.h:165
Definition: settings.py:1
Definition: SmartPlayList.cpp:137
bool Deserialize(const TiXmlNode *node, bool update=false) override
Deserializes the given XML node into the properties of the setting object.
Definition: SettingSection.cpp:70
Settings manager responsible for initializing, loading and handling all settings. ...
Definition: SettingsManager.h:41
CSettingGroup(const std::string &id, CSettingsManager *settingsManager=nullptr)
Creates a new setting group with the given identifier.
Definition: SettingSection.cpp:62
Group of settings being part of a category.
Definition: SettingSection.h:28
SettingLevel
Levels which every setting is assigned to.
Definition: SettingLevel.h:15
const SettingGroupList & GetGroups() const
Gets the full list of setting groups belonging to the setting category.
Definition: SettingSection.h:106