File indexing completed on 2025-03-09 03:52:45

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2008-01-04
0007  * Description : Container classes holding user presentable information
0008  *
0009  * SPDX-FileCopyrightText: 2008-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
0010  *
0011  * SPDX-License-Identifier: GPL-2.0-or-later
0012  *
0013  * ============================================================ */
0014 
0015 #ifndef DIGIKAM_CORE_DB_INFO_CONTAINERS_H
0016 #define DIGIKAM_CORE_DB_INFO_CONTAINERS_H
0017 
0018 // Qt includes
0019 
0020 #include <QString>
0021 #include <QDateTime>
0022 
0023 namespace Digikam
0024 {
0025 
0026 class ImageCommonContainer
0027 {
0028 public:
0029 
0030     explicit ImageCommonContainer()
0031       : fileSize  (0),
0032         rating    (-1),
0033         width     (0),
0034         height    (0),
0035         colorDepth(0)
0036     {
0037     }
0038 
0039     QString   fileName;
0040     QDateTime fileModificationDate;
0041     qint64    fileSize;
0042 
0043     int       rating;
0044     QDateTime creationDate;
0045     QDateTime digitizationDate;
0046     QString   orientation;
0047     int       width;
0048     int       height;
0049     QString   format;
0050     int       colorDepth; // bits per channel, 8/16
0051     QString   colorModel;
0052 };
0053 
0054 // ------------------------------------------------------------
0055 
0056 class ImageMetadataContainer
0057 {
0058 public:
0059 
0060     explicit ImageMetadataContainer()
0061       : allFieldsNull(true)
0062     {
0063     }
0064 
0065     bool allFieldsNull;
0066 
0067     QString make;
0068     QString model;
0069     QString lens;
0070     QString aperture;
0071     QString focalLength;
0072     QString focalLength35;
0073     QString exposureTime;
0074     QString exposureProgram;
0075     QString exposureMode;
0076     QString sensitivity;
0077     QString flashMode;
0078     QString whiteBalance;
0079     QString whiteBalanceColorTemperature;
0080     QString meteringMode;
0081     QString subjectDistance;
0082     QString subjectDistanceCategory;
0083 };
0084 
0085 // ------------------------------------------------------------
0086 
0087 class VideoMetadataContainer
0088 {
0089 public:
0090 
0091     explicit VideoMetadataContainer()
0092       : allFieldsNull(true)
0093     {
0094     }
0095 
0096     bool    allFieldsNull;
0097 
0098     QString aspectRatio;
0099     QString audioBitRate;
0100     QString audioChannelType;
0101     QString audioCodec;
0102     QString duration;
0103     QString frameRate;
0104     QString videoCodec;
0105 };
0106 
0107 } // namespace Digikam
0108 
0109 #endif // DIGIKAM_CORE_DB_INFO_CONTAINERS_H