28 #ifndef DIGIKAM_ITEM_FILTER_SETTINGS_H
29 #define DIGIKAM_ITEM_FILTER_SETTINGS_H
51 class VersionManagerSettings;
53 namespace DatabaseFields
73 ImageAspectRatio = 0x20,
74 ImagePixelSize = 0x40,
75 All = ImageName | ImageTitle | ImageComment | TagName | AlbumName | ImageAspectRatio | ImagePixelSize
119 GeolocationNoFilter = 0,
120 GeolocationNoCoordinates = 1 << 1,
121 GeolocationHasCoordinates = 1 << 2
132 bool matches(
const ItemInfo& info,
bool*
const foundText =
nullptr)
const;
138 void setTagFilter(
const QList<int>& includedTags,
140 MatchingCondition matchingCond,
148 void setRatingFilter(
int rating, RatingCondition ratingCond,
bool isUnratedExcluded);
159 void setTagNames(
const QHash<int, QString>& tagNameHash);
160 void setAlbumNames(
const QHash<int, QString>& albumNameHash);
165 void setMimeTypeFilter(
int mimeTypeFilter);
170 void setGeolocationFilter(
const GeolocationCondition& condition);
175 bool isFilteringByDay()
const;
178 bool isFilteringByTypeMime()
const;
181 bool isFilteringByGeolocation()
const;
184 bool isFilteringByRating()
const;
187 bool isFilteringByPickLabels()
const;
190 bool isFilteringByColorLabels()
const;
193 bool isFilteringByTags()
const;
196 bool isFilteringByText()
const;
199 bool isFiltering()
const;
204 void setUrlWhitelist(
const QList<QUrl>& urlList,
const QString&
id);
226 bool isFilteringInternally()
const;
231 bool m_untaggedFilter;
234 MatchingCondition m_matchingCond;
240 RatingCondition m_ratingCond;
241 bool m_isUnratedExcluded;
244 QHash<QDateTime, bool> m_dayFilter;
250 QHash<int, QString> m_tagNameHash;
251 QHash<int, QString> m_albumNameHash;
257 GeolocationCondition m_geolocationCondition;
260 QHash<QString,QList<QUrl>> m_urlWhitelists;
263 QHash<QString, QList<qlonglong> > m_idWhitelists;
280 bool matches(
const ItemInfo& info)
const;
282 bool isHiddenBySettings(
const ItemInfo& info)
const;
283 bool isExemptedBySettings(
const ItemInfo& info)
const;
295 bool isFiltering()
const;
298 bool isFilteringByTags()
const;
323 bool matches(
const ItemInfo& info)
const;
328 void setOpen(qlonglong group,
bool open);
329 bool isOpen(qlonglong group)
const;
334 void setAllOpen(
bool open);
335 bool isAllOpen()
const;
338 bool isFiltering()
const;
Definition: coredbfields.h:389
Definition: itemfiltersettings.h:313
QSet< qlonglong > m_openGroups
Definition: itemfiltersettings.h:345
bool m_allOpen
Definition: itemfiltersettings.h:344
Definition: itemfiltersettings.h:98
GeolocationCondition
Possible logical matching condition used to sort geolocation.
Definition: itemfiltersettings.h:118
RatingCondition
Possible conditions used to filter rating: >=, =, <=.
Definition: itemfiltersettings.h:110
@ GreaterEqualCondition
Definition: itemfiltersettings.h:111
@ EqualCondition
Definition: itemfiltersettings.h:112
MatchingCondition
Possible logical matching condition used to sort tags id.
Definition: itemfiltersettings.h:103
@ OrCondition
Definition: itemfiltersettings.h:104
Definition: iteminfo.h:78
TypeMimeFilter
Definition: mimefilter.h:41
Definition: itemfiltersettings.h:61
SearchTextFilterSettings(const SearchTextSettings &settings)
Definition: itemfiltersettings.h:85
TextFilterFields
Definition: itemfiltersettings.h:66
TextFilterFields textFields
Definition: itemfiltersettings.h:92
SearchTextFilterSettings()
Definition: itemfiltersettings.h:80
Definition: searchtextbar.h:43
Qt::CaseSensitivity caseSensitive
Definition: searchtextbar.h:52
QString text
Definition: searchtextbar.h:54
Definition: itemfiltersettings.h:269
int m_includeTagFilter
Definition: itemfiltersettings.h:305
QList< int > m_excludeTagFilter
DatabaseFields::Set watchFlags() const: Would return 0.
Definition: itemfiltersettings.h:304
QHash< QString, QList< qlonglong > > m_exceptionLists
Definition: itemfiltersettings.h:307
int m_exceptionTagFilter
Definition: itemfiltersettings.h:306
Definition: versionmanagersettings.h:43
Definition: datefolderview.cpp:43
bool operator==(const SearchTextSettings &a, const SearchTextSettings &b)
Definition: searchtextbar.cpp:49