35class ImageTagChangeset;
43 virtual void prepare(
const QVector<ItemInfo>& infos) = 0;
60 void setSourceItemModel(
ItemModel*
const model);
66 QModelIndex mapToSourceItemModel(
const QModelIndex& index)
const;
67 QModelIndex mapFromSourceItemModel(
const QModelIndex& imagemodel_index)
const;
68 QModelIndex mapFromDirectSourceToSourceItemModel(
const QModelIndex& sourceModel_index)
const;
74 QList<QModelIndex> mapListToSource(
const QList<QModelIndex>& indexes)
const;
75 QList<QModelIndex> mapListFromSource(
const QList<QModelIndex>& sourceIndexes)
const;
77 ItemInfo imageInfo(
const QModelIndex& index)
const;
78 qlonglong imageId(
const QModelIndex& index)
const;
79 QList<ItemInfo> imageInfos(
const QList<QModelIndex>& indexes)
const;
80 QList<qlonglong> imageIds(
const QList<QModelIndex>& indexes)
const;
82 QModelIndex indexForPath(
const QString& filePath)
const;
83 QModelIndex indexForItemInfo(
const ItemInfo& info)
const;
84 QModelIndex indexForImageId(qlonglong
id)
const;
90 QList<ItemInfo> imageInfosSorted()
const;
102 virtual void setDirectSourceItemModel(
ItemModel*
const model);
105 void setSourceModel(QAbstractItemModel*
const model)
override;
123 CategorizationModeRole = ItemModel::FilterModelRoles + 1,
126 SortOrderRole = ItemModel::FilterModelRoles + 2,
132 CategoryAlbumIdRole = ItemModel::FilterModelRoles + 3,
135 CategoryFormatRole = ItemModel::FilterModelRoles + 4,
138 CategoryDateRole = ItemModel::FilterModelRoles + 5,
141 CategoryFaceRole = ItemModel::FilterModelRoles + 6,
144 GroupIsOpenRole = ItemModel::FilterModelRoles + 7,
145 ItemFilterModelPointerRole = ItemModel::FilterModelRoles + 50
173 bool isGroupOpen(qlonglong group)
const;
174 bool isAllGroupsOpen()
const;
179 void setSendItemInfoSignals(
bool sendSignals);
181 QVariant data(
const QModelIndex& index,
int role = Qt::DisplayRole)
const override;
204 void setDayFilter(
const QList<QDateTime>& days);
205 void setTagFilter(
const QList<int>& includedTags,
const QList<int>& excludedTags,
207 const QList<int>& clTagIds,
const QList<int>& plTagIds);
209 void setMimeTypeFilter(
int mimeTypeFilter);
217 void setStringTypeNatural(
bool natural);
218 void setUrlWhitelist(
const QList<QUrl>& urlList,
const QString&
id);
219 void setIdWhitelist(
const QList<qlonglong>& idList,
const QString&
id);
222 void setExceptionList(
const QList<qlonglong>& idlist,
const QString&
id);
224 void setGroupOpen(qlonglong group,
bool open);
225 void toggleGroupOpen(qlonglong group);
226 void setAllGroupsOpen(
bool open);
267 class ItemFilterModelPrivate;
271 ItemFilterModelPrivate*
const d_ptr =
nullptr;
277 void setDirectSourceItemModel(
ItemModel*
const model)
override;
279 bool filterAcceptsRow(
int source_row,
const QModelIndex& source_parent)
const override;
281 int compareCategories(
const QModelIndex& left,
const QModelIndex& right)
const override;
282 bool subSortLessThan(
const QModelIndex& left,
const QModelIndex& right)
const override;
291 virtual int compareInfosCategories(
const ItemInfo& left,
const ItemInfo& right)
const;
298 virtual int compareInfosCategories(
const ItemInfo& left,
const ItemInfo& right,
305 virtual bool infosLessThan(
const ItemInfo& left,
const ItemInfo& right)
const;
314 void slotModelReset();
315 void slotUpdateFilter();
320 void slotRowsInserted(
const QModelIndex& parent,
int start,
int end);
321 void slotRowsAboutToBeRemoved(
const QModelIndex& parent,
int start,
int end);
340 bool filterAcceptsRow(
int source_row,
const QModelIndex& source_parent)
const override;
Definition dcategorizedsortfilterproxymodel.h:43
Definition coredbfields.h:376
Definition itemfiltersettings.h:300
Definition coredbchangesets.h:38
Definition itemfiltermodel.h:53
Definition coredbchangesets.h:70
Definition itemfiltermodel.h:39
virtual void prepare(const QVector< ItemInfo > &infos)=0
virtual ~ItemFilterModelPrepareHook()=default
Definition itemfiltermodel.h:115
void filterMatches(bool matches)
void filterSettingsChanged(const ItemFilterSettings &settings)
ItemFilterModelRoles
Definition itemfiltermodel.h:121
void filterMatchesForText(bool matchesByText)
void imageInfosAboutToBeRemoved(const QList< ItemInfo > &infos)
void imageInfosAdded(const QList< ItemInfo > &infos)
Definition itemfiltersettings.h:85
GeolocationCondition
Possible logical matching condition used to sort geolocation.
Definition itemfiltersettings.h:105
RatingCondition
Possible conditions used to filter rating: >=, =, <=.
Definition itemfiltersettings.h:97
MatchingCondition
Possible logical matching condition used to sort tags id.
Definition itemfiltersettings.h:90
Definition itemmodel.h:44
Definition itemsortsettings.h:39
SortRole
Definition itemsortsettings.h:60
CategorizationMode
Definition itemsortsettings.h:50
SortOrder
Definition itemsortsettings.h:43
Definition itemfiltermodel.h:331
Definition itemfiltersettings.h:51
Definition itemfiltersettings.h:256
Definition versionmanagersettings.h:33
Definition datefolderview.cpp:34