11 #include "dbwrappers/Database.h" 12 #include "dbwrappers/DatabaseQuery.h" 13 #include "settings/dialogs/GUIDialogSettingsManualBase.h" 14 #include "settings/lib/SettingType.h" 15 #include "utils/DatabaseUtils.h" 37 static void ShowAndEditMediaFilter(
const std::string &path,
CSmartPlaylist &filter);
41 std::string mediaType;
45 std::string controlType;
46 std::string controlFormat;
47 CDatabaseQueryRule::SEARCH_OPERATOR ruleOperator;
48 std::shared_ptr<CSetting> setting =
nullptr;
55 void OnWindowLoaded()
override;
59 void OnSettingChanged(
const std::shared_ptr<const CSetting>& setting)
override;
62 bool AllowResettingSettings()
const override {
return false; }
63 bool Save()
override {
return true; }
64 std::chrono::milliseconds GetDelayMs()
const override {
return std::chrono::milliseconds(500); }
67 void SetupView()
override;
68 void InitializeSettings()
override;
70 bool SetPath(
const std::string &path);
71 void UpdateControls();
72 void TriggerFilter()
const;
73 void Reset(
bool filtersOnly =
false);
75 int GetItems(
const Filter &filter, std::vector<std::string> &items,
bool countOnly =
false);
76 void GetRange(
const Filter &filter,
int &min,
int &interval,
int &max);
77 void GetRange(
const Filter &filter,
float &min,
float &interval,
float &max);
80 CSmartPlaylistRule* AddRule(Field field, CDatabaseQueryRule::SEARCH_OPERATOR ruleOperator = CDatabaseQueryRule::OPERATOR_CONTAINS);
81 void DeleteRule(Field field);
83 static void GetStringListOptions(
const std::shared_ptr<const CSetting>& setting,
84 std::vector<StringSettingOption>& list,
89 std::string m_mediaType;
91 std::map<std::string, Filter> m_filters;
Definition: Database.h:29
Setting base class containing all the properties which are common to all settings independent of the ...
Definition: Setting.h:46
Definition: SettingDefinitions.h:85
Definition: SmartPlayList.h:23
Definition: GUIMessage.h:365
Definition: SmartPlayList.h:90
SettingType
Basic setting types available in the settings system.
Definition: SettingType.h:15
Definition: GUIDialogSettingsManualBase.h:37