1 /* ============================================================
2  *
3  * This file is a part of digiKam project
4  * https://www.digikam.org
5  *
6  * Date        : 2007-03-20
7  * Description : Data set for item lister
8  *
9  * Copyright (C) 2005      by Renchi Raju <renchi dot raju at gmail dot com>
10  * Copyright (C) 2007-2008 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
11  * Copyright (C) 2007-2021 by Gilles Caulier <caulier dot gilles at gmail dot com>
12  *
13  * This program is free software; you can redistribute it
14  * and/or modify it under the terms of the GNU General
15  * Public License as published by the Free Software Foundation;
16  * either version 2, or (at your option)
17  * any later version.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22  * GNU General Public License for more details.
23  *
24  * ============================================================ */
25 
26 #ifndef DIGIKAM_ITEM_LISTER_RECORD_H
27 #define DIGIKAM_ITEM_LISTER_RECORD_H
28 
29 // Qt includes
30 
31 #include <QString>
32 #include <QDataStream>
33 #include <QDateTime>
34 #include <QSize>
35 #include <QList>
36 #include <QVariant>
37 
38 // Local includes
39 
40 #include "digikam_export.h"
41 #include "coredbalbuminfo.h"
42 
43 namespace Digikam
44 {
45 
46 class DIGIKAM_DATABASE_EXPORT ItemListerRecord
47 {
48 
49 public:
50 
51     explicit ItemListerRecord();
52 
53     bool operator==(const ItemListerRecord& record) const;
54 
55 public:
56 
57     int                    albumID;
58     int                    albumRootID;
59     int                    rating;
60 
61     qlonglong              fileSize;
62     qlonglong              imageID;
63     qlonglong              currentFuzzySearchReferenceImage;
64 
65     double                 currentSimilarity;
66 
67     QString                format;
68     QString                name;
69 
70     QDateTime              creationDate;
71     QDateTime              modificationDate;
72 
73     QSize                  imageSize;
74 
75     DatabaseItem::Category category;
76 
77     QList<QVariant>        extraValues;
78 };
79 
80 DIGIKAM_DATABASE_EXPORT QDataStream& operator<<(QDataStream& os, const ItemListerRecord& record);
81 DIGIKAM_DATABASE_EXPORT QDataStream& operator>>(QDataStream& ds, ItemListerRecord& record);
82 
83 } // namespace Digikam
84 
85 #endif // DIGIKAM_ITEM_LISTER_RECORD_H
86