digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
Loading...
Searching...
No Matches
Digikam::ItemFilterSettings Class Reference

Public Types

enum  GeolocationCondition { GeolocationNoFilter = 0 , GeolocationNoCoordinates = 1 << 1 , GeolocationHasCoordinates = 1 << 2 }
 Possible logical matching condition used to sort geolocation.
 
enum  MatchingCondition { OrCondition , AndCondition }
 Possible logical matching condition used to sort tags id.
 
enum  RatingCondition { GreaterEqualCondition , EqualCondition , LessEqualCondition }
 Possible conditions used to filter rating: >=, =, <=.
 

Public Member Functions

bool isFiltering () const
 
bool isFilteringByColorLabels () const
 
bool isFilteringByDay () const
 
bool isFilteringByGeolocation () const
 
bool isFilteringByPickLabels () const
 
bool isFilteringByRating () const
 
bool isFilteringByTags () const
 
bool isFilteringByText () const
 
bool isFilteringByTypeMime () const
 
bool matches (const ItemInfo &info, bool *const foundText=nullptr) const
 
void setAlbumNames (const QHash< int, QString > &albumNameHash)
 
void setDayFilter (const QList< QDateTime > &days)
 
void setGeolocationFilter (const GeolocationCondition &condition)
 
void setIdWhitelist (const QList< qlonglong > &idList, const QString &id)
 
void setMimeTypeFilter (int mimeTypeFilter)
 
void setRatingFilter (int rating, RatingCondition ratingCond, bool isUnratedExcluded)
 
void setTagFilter (const QList< int > &includedTags, const QList< int > &excludedTags, MatchingCondition matchingCond, bool showUnTagged, const QList< int > &clTagIds, const QList< int > &plTagIds)
 
void setTagNames (const QHash< int, QString > &tagNameHash)
 
void setTextFilter (const SearchTextFilterSettings &settings)
 
void setUrlWhitelist (const QList< QUrl > &urlList, const QString &id)
 
DatabaseFields::Set watchFlags () const
 

Member Function Documentation

◆ isFiltering()

bool Digikam::ItemFilterSettings::isFiltering ( ) const
Returns
True if images will be filtered by these criteria at all

◆ isFilteringByColorLabels()

bool Digikam::ItemFilterSettings::isFilteringByColorLabels ( ) const
Returns
True if the color labels is a filter criteria

◆ isFilteringByDay()

bool Digikam::ItemFilterSettings::isFilteringByDay ( ) const
Returns
True if the day is a filter criteria

◆ isFilteringByGeolocation()

bool Digikam::ItemFilterSettings::isFilteringByGeolocation ( ) const
Returns
Whether geolocation is a filter criteria

◆ isFilteringByPickLabels()

bool Digikam::ItemFilterSettings::isFilteringByPickLabels ( ) const
Returns
True if the pick labels is a filter criteria

◆ isFilteringByRating()

bool Digikam::ItemFilterSettings::isFilteringByRating ( ) const
Returns
Ttue if the rating is a filter criteria

◆ isFilteringByTags()

bool Digikam::ItemFilterSettings::isFilteringByTags ( ) const
Returns
True if the tag is a filter criteria

◆ isFilteringByText()

bool Digikam::ItemFilterSettings::isFilteringByText ( ) const
Returns
True if the text (including comment) is a filter criteria

◆ isFilteringByTypeMime()

bool Digikam::ItemFilterSettings::isFilteringByTypeMime ( ) const
Returns
True if the type mime is a filter criteria

◆ matches()

bool Digikam::ItemFilterSettings::matches ( const ItemInfo info,
bool *const  foundText = nullptr 
) const
Returns
True if the given ItemInfo matches the filter criteria. Optionally, foundText is set to true if it matched by text search.

◆ watchFlags()

DatabaseFields::Set Digikam::ItemFilterSettings::watchFlags ( ) const
Returns
Database fields a change in which would affect the current filtering. To find out if an image tag change affects filtering, test isFilteringByTags(). The text filter will also be affected by changes in tags and album names.