digiKam
Loading...
Searching...
No Matches
itemlister.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2007-03-20
7 * Description : Listing information from database.
8 *
9 * SPDX-FileCopyrightText: 2005 by Renchi Raju <renchi dot raju at gmail dot com>
10 * SPDX-FileCopyrightText: 2007-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
11 * SPDX-FileCopyrightText: 2007-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
12 * SPDX-FileCopyrightText: 2015 by Mohamed_Anwer <m_dot_anwer at gmx dot com>
13 *
14 * SPDX-License-Identifier: GPL-2.0-or-later
15 *
16 * ============================================================ */
17
18#pragma once
19
20// Qt includes
21
22#include <QString>
23
24// Local includes
25
26#include "digikam_export.h"
27#include "iteminfo.h"
28#include "iteminfolist.h"
29#include "coredbaccess.h"
30#include "coredburl.h"
31#include "itemlisterrecord.h"
32#include "itemlisterreceiver.h"
33#include "dbjobinfo.h"
34
35namespace Digikam
36{
37
38class DIGIKAM_DATABASE_EXPORT ItemLister
39{
40
41public:
42
43 explicit ItemLister();
45
49 void setRecursive(bool recursive);
50
55 void setListOnlyAvailable(bool listOnlyAvailable);
56
60 void list(ItemListerReceiver* const receiver,
61 const CoreDbUrl& url);
62
67 void listDateRange(ItemListerReceiver* const receiver,
68 const QDate& startDate,
69 const QDate& endDate);
70
71 // -----------------------------------------------------------------------------
72
77
78public:
79
84 void listPAlbum(ItemListerReceiver* const receiver,
85 int albumRootId,
86 const QString& album);
87
88private:
89
90 QSet<int> albumRootsToList() const;
91
93
94 // -----------------------------------------------------------------------------
95
100
101public:
102
107 void listTag(ItemListerReceiver* const receiver,
108 const QList<int>& tagIds);
109
117 void listImageTagPropertySearch(ItemListerReceiver* const receiver,
118 const QString& xml);
119
120 QString tagSearchXml(int tagId,
121 const QString& type,
122 bool includeChildTags) const;
123
125
126 // -----------------------------------------------------------------------------
127
132
133public:
134
142 void listSearch(ItemListerReceiver* const receiver,
143 const QString& xml,
144 int limit = 0,
145 qlonglong referenceImageId = -1);
146
152 void listHaarSearch(ItemListerReceiver* const receiver,
153 const QString& xml);
154
159 void listAreaRange(ItemListerReceiver* const receiver,
160 double lat1,
161 double lat2,
162 double lon1,
163 double lon2);
164
165private:
166
173 void listFromHaarSearch(ItemListerReceiver* const receiver,
174 const QMap<qlonglong, double>& imageSimilarityMap,
175 qlonglong referenceImageId);
177
178private:
179
180 // Disable
181 ItemLister(const ItemLister&) = delete;
182 ItemLister& operator=(const ItemLister&) = delete;
183
184private:
185
186 class Private;
187 Private* const d = nullptr;
188};
189
190} // namespace Digikam
Definition coredburl.h:33
Definition itemlisterreceiver.h:35
Definition itemlister_p.h:80
Definition itemlister.h:39
Definition datefolderview.cpp:34