digiKam
Loading...
Searching...
No Matches
coredbalbuminfo.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-04-21
7 * Description : Structures to define Albums used in CoreDb
8 *
9 * SPDX-FileCopyrightText: 2007-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 * SPDX-FileCopyrightText: 2005 by Renchi Raju <renchi dot raju at gmail dot com>
11 * SPDX-FileCopyrightText: 2006-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// Qt includes
20
21#include <QString>
22#include <QList>
23#include <QDateTime>
24
25// Local includes
26
27#include "coredbconstants.h"
28
29namespace Digikam
30{
31
32typedef QPair<int, int> YearMonth;
33
38{
39public:
40
41 AlbumRootInfo() = default;
42
43public:
44
45 int id = 0;
46 QString label;
47 int status = 0;
48 int type = 0;
49 QString identifier;
50 QString specificPath;
52};
53
54// --------------------------------------------------------------------------
55
62{
63public:
64
65 typedef QList<AlbumInfo> List;
66
67public:
68
69 AlbumInfo() = default;
70
71 bool isNull() const
72 {
73 return (id == 0);
74 }
75
79 bool operator<(const AlbumInfo& info) const
80 {
81 // include album root id?
82
83 return (relativePath < info.relativePath);
84 }
85
86public:
87
88 int id = 0;
89 int albumRootId = 0;
90 QString relativePath;
91 QString caption;
92 QString category;
93 QDate date;
94 qlonglong iconId = 0;
95};
96
97// --------------------------------------------------------------------------
98
105{
106public:
107
108 typedef QList<TagInfo> List;
109
110public:
111
112 TagInfo() = default;
113
114 bool isNull() const
115 {
116 return (id == 0);
117 }
118
119 bool operator<(const TagInfo& info) const
120 {
121 return (name < info.name);
122 }
123
124public:
125
126 int id = 0;
127 int pid = 0;
128 QString name;
129 QString icon;
130 qlonglong iconId = 0;
131};
132
133// --------------------------------------------------------------------------
134
141{
142public:
143
144 typedef QList<SearchInfo> List;
145
146public:
147
148 SearchInfo() = default;
149
150 bool isNull() const
151 {
152 return (id == 0);
153 }
154
158 bool operator<(const SearchInfo& info) const
159 {
160 return (id < info.id);
161 }
162
163public:
164
165 int id = 0;
166 QString name;
168 QString query;
169};
170
171// --------------------------------------------------------------------------
172
174{
175public:
176
177 AlbumShortInfo() = default;
178
179 bool isNull() const
180 {
181 return (id == 0);
182 }
183
184public:
185
186 int id = 0;
188 int albumRootId = 0;
189};
190
191// --------------------------------------------------------------------------
192
194{
195public:
196
197 TagShortInfo() = default;
198
199 bool isNull() const
200 {
201 return (id == 0);
202 }
203
204public:
205
206 int id = 0;
207 int pid = 0;
208 QString name;
209};
210
211// --------------------------------------------------------------------------
212
214{
215public:
216
217 ItemShortInfo() = default;
218
219 bool isNull() const
220 {
221 return (id == 0);
222 }
223
224public:
225
226 qlonglong id = 0;
227 QString itemName;
228 int albumID = 0;
229 int albumRootID = 0;
230 QString album;
231};
232
233// --------------------------------------------------------------------------
234
236{
237public:
238
239 ItemScanInfo() = default;
240
241 bool isNull() const
242 {
243 return (id == 0);
244 }
245
246public:
247
248 qlonglong id = 0;
249 int albumID = 0;
250 QString itemName;
254 qlonglong fileSize = 0;
255 QString uniqueHash;
256};
257
258// --------------------------------------------------------------------------
259
261{
262public:
263
264 CommentInfo() = default;
265
266 bool isNull() const
267 {
268 return (id == -1);
269 }
270
271public:
272
273 int id = -1;
274 qlonglong imageId = -1;
276 QString author;
277 QString language;
278 QDateTime date;
279 QString comment;
280};
281
282// --------------------------------------------------------------------------
283
285{
286public:
287
288 CopyrightInfo() = default;
289
290 bool isNull() const
291 {
292 return (id == -1);
293 }
294
295public:
296
297 qlonglong id = -1;
298 QString property;
299 QString value;
300 QString extraValue;
301};
302
303// --------------------------------------------------------------------------
304
306{
307public:
308
309 ImageHistoryEntry() = default;
310
311 bool isNull() const
312 {
313 return (imageId == 0);
314 }
315
316public:
317
318 qlonglong imageId = 0;
319 QString uuid;
320 QString history;
321};
322
323// --------------------------------------------------------------------------
324
326{
327public:
328
329 ImageRelation() = default;
330
331public:
332
333 qlonglong subjectId = 0;
334 qlonglong objectId = 0;
336};
337
338// --------------------------------------------------------------------------
339
341{
342public:
343
344 TagProperty() = default;
345
346 bool isNull() const
347 {
348 return (tagId == -1);
349 }
350
351public:
352
353 int tagId = -1;
354 QString property;
355 QString value;
356};
357
358// --------------------------------------------------------------------------
359
361{
362public:
363
364 ImageTagProperty() = default;
365
366 bool isNull() const
367 {
368 return (imageId == -1);
369 }
370
371public:
372
373 qlonglong imageId = -1;
374 int tagId = -1;
375 QString property;
376 QString value;
377};
378
379} // namespace Digikam
Definition coredbalbuminfo.h:62
QString category
Definition coredbalbuminfo.h:92
QList< AlbumInfo > List
Definition coredbalbuminfo.h:65
qlonglong iconId
Definition coredbalbuminfo.h:94
QString caption
Definition coredbalbuminfo.h:91
QDate date
Definition coredbalbuminfo.h:93
QString relativePath
Definition coredbalbuminfo.h:90
bool isNull() const
Definition coredbalbuminfo.h:71
bool operator<(const AlbumInfo &info) const
Definition coredbalbuminfo.h:79
int albumRootId
Definition coredbalbuminfo.h:89
Definition coredbalbuminfo.h:38
QString identifier
Definition coredbalbuminfo.h:49
int type
Definition coredbalbuminfo.h:48
QString label
Definition coredbalbuminfo.h:46
int caseSensitivity
Definition coredbalbuminfo.h:51
QString specificPath
Definition coredbalbuminfo.h:50
int status
Definition coredbalbuminfo.h:47
Definition coredbalbuminfo.h:174
bool isNull() const
Definition coredbalbuminfo.h:179
QString relativePath
Definition coredbalbuminfo.h:187
int albumRootId
Definition coredbalbuminfo.h:188
Definition coredbalbuminfo.h:261
QString author
Definition coredbalbuminfo.h:276
QDateTime date
Definition coredbalbuminfo.h:278
bool isNull() const
Definition coredbalbuminfo.h:266
qlonglong imageId
Definition coredbalbuminfo.h:274
QString comment
Definition coredbalbuminfo.h:279
QString language
Definition coredbalbuminfo.h:277
DatabaseComment::Type type
Definition coredbalbuminfo.h:275
Definition coredbalbuminfo.h:285
QString property
Definition coredbalbuminfo.h:298
QString value
Definition coredbalbuminfo.h:299
QString extraValue
Definition coredbalbuminfo.h:300
bool isNull() const
Definition coredbalbuminfo.h:290
Definition coredbalbuminfo.h:306
QString uuid
Definition coredbalbuminfo.h:319
QString history
Definition coredbalbuminfo.h:320
qlonglong imageId
Definition coredbalbuminfo.h:318
bool isNull() const
Definition coredbalbuminfo.h:311
Definition coredbalbuminfo.h:326
qlonglong subjectId
Definition coredbalbuminfo.h:333
qlonglong objectId
Definition coredbalbuminfo.h:334
DatabaseRelation::Type type
Definition coredbalbuminfo.h:335
Definition coredbalbuminfo.h:361
bool isNull() const
Definition coredbalbuminfo.h:366
QString value
Definition coredbalbuminfo.h:376
QString property
Definition coredbalbuminfo.h:375
qlonglong imageId
Definition coredbalbuminfo.h:373
int tagId
Definition coredbalbuminfo.h:374
Definition coredbalbuminfo.h:236
qlonglong fileSize
Definition coredbalbuminfo.h:254
int albumID
Definition coredbalbuminfo.h:249
QDateTime modificationDate
Definition coredbalbuminfo.h:253
QString uniqueHash
Definition coredbalbuminfo.h:255
DatabaseItem::Status status
Definition coredbalbuminfo.h:251
bool isNull() const
Definition coredbalbuminfo.h:241
DatabaseItem::Category category
Definition coredbalbuminfo.h:252
QString itemName
Definition coredbalbuminfo.h:250
Definition coredbalbuminfo.h:214
bool isNull() const
Definition coredbalbuminfo.h:219
QString itemName
Definition coredbalbuminfo.h:227
int albumRootID
Definition coredbalbuminfo.h:229
QString album
Definition coredbalbuminfo.h:230
int albumID
Definition coredbalbuminfo.h:228
Definition coredbalbuminfo.h:141
QList< SearchInfo > List
Definition coredbalbuminfo.h:144
int id
Definition coredbalbuminfo.h:165
bool isNull() const
Definition coredbalbuminfo.h:150
DatabaseSearch::Type type
Definition coredbalbuminfo.h:167
QString query
Definition coredbalbuminfo.h:168
bool operator<(const SearchInfo &info) const
Definition coredbalbuminfo.h:158
QString name
Definition coredbalbuminfo.h:166
Definition coredbalbuminfo.h:105
bool operator<(const TagInfo &info) const
Definition coredbalbuminfo.h:119
int pid
Definition coredbalbuminfo.h:127
QString name
Definition coredbalbuminfo.h:128
qlonglong iconId
Definition coredbalbuminfo.h:130
TagInfo()=default
bool isNull() const
Definition coredbalbuminfo.h:114
QList< TagInfo > List
Definition coredbalbuminfo.h:108
QString icon
Definition coredbalbuminfo.h:129
Definition coredbalbuminfo.h:341
QString property
Definition coredbalbuminfo.h:354
int tagId
Definition coredbalbuminfo.h:353
bool isNull() const
Definition coredbalbuminfo.h:346
QString value
Definition coredbalbuminfo.h:355
Definition coredbalbuminfo.h:194
int pid
Definition coredbalbuminfo.h:207
QString name
Definition coredbalbuminfo.h:208
bool isNull() const
Definition coredbalbuminfo.h:199
Type
Definition coredbconstants.h:106
@ UndefinedType
UndefinedType: Shall never appear in the database.
Definition coredbconstants.h:109
Category
Definition coredbconstants.h:69
@ UndefinedCategory
Definition coredbconstants.h:71
Status
Definition coredbconstants.h:59
@ UndefinedStatus
Definition coredbconstants.h:61
Type
Definition coredbconstants.h:86
@ UndefinedType
Definition coredbconstants.h:87
Type
Definition coredbconstants.h:34
@ UndefinedType
Definition coredbconstants.h:35
Definition datefolderview.cpp:34
QPair< int, int > YearMonth
Definition coredbalbuminfo.h:32