13 #include "SettingCategoryAccess.h" 14 #include "utils/logtypes.h" 41 bool Deserialize(
const TiXmlNode *node,
bool update =
false)
override;
65 bool ContainsVisibleSettings(
const SettingLevel level)
const;
67 void AddSetting(
const std::shared_ptr<CSetting>& setting);
68 void AddSettings(
const SettingList &
settings);
70 bool ReplaceSetting(
const std::shared_ptr<const CSetting>& currentSetting,
71 const std::shared_ptr<CSetting>& newSetting);
73 std::shared_ptr<const ISettingControl> GetControl()
const {
return m_control; }
74 std::shared_ptr<ISettingControl> GetControl() {
return m_control; }
75 void SetControl(std::shared_ptr<ISettingControl> control) { m_control = std::move(control); }
78 SettingList m_settings;
79 std::shared_ptr<ISettingControl> m_control;
81 static Logger s_logger;
84 using SettingGroupPtr = std::shared_ptr<CSettingGroup>;
85 using SettingGroupList = std::vector<SettingGroupPtr>;
106 bool Deserialize(
const TiXmlNode *node,
bool update =
false)
override;
114 const SettingGroupList&
GetGroups()
const {
return m_groups; }
130 bool CanAccess()
const;
132 void AddGroup(
const SettingGroupPtr&
group);
133 void AddGroupToFront(
const SettingGroupPtr& group);
134 void AddGroups(
const SettingGroupList &groups);
137 SettingGroupList m_groups;
140 static Logger s_logger;
143 using SettingCategoryPtr = std::shared_ptr<CSettingCategory>;
144 using SettingCategoryList = std::vector<SettingCategoryPtr>;
165 bool Deserialize(
const TiXmlNode *node,
bool update =
false)
override;
182 SettingCategoryList GetCategories(
SettingLevel level)
const;
184 void AddCategory(
const SettingCategoryPtr& category);
185 void AddCategories(
const SettingCategoryList &categories);
188 SettingCategoryList m_categories;
190 static Logger s_logger;
193 using SettingSectionPtr = std::shared_ptr<CSettingSection>;
194 using SettingSectionList = std::vector<SettingSectionPtr>;
Category of groups of settings being part of a section.
Definition: SettingSection.h:93
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:152
const SettingCategoryList & GetCategories() const
Gets the full list of setting categories belonging to the setting section.
Definition: SettingSection.h:173
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:114