digiKam
Loading...
Searching...
No Matches
metaenginesettingscontainer.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 : 2010-08-20
7 * Description : MetaEngine Settings Container.
8 *
9 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QFlags>
20#include <QDebug>
21#include <QStringList>
22
23// Local includes
24
25#include "digikam_export.h"
26#include "metaengine.h"
27
28class KConfigGroup;
29
30namespace Digikam
31{
32
37class DIGIKAM_EXPORT MetaEngineSettingsContainer
38{
39public:
40
52 {
53 NoRotation = 0,
54 RotateByInternalFlag = 1 << 0,
55 RotateByMetadataFlag = 1 << 1,
56 RotateByLosslessRotation = 1 << 2,
57 RotateByLossyRotation = 1 << 3,
58
59 RotatingFlags = RotateByInternalFlag | RotateByMetadataFlag,
60 RotatingPixels = RotateByLosslessRotation | RotateByLossyRotation
61 };
62 Q_DECLARE_FLAGS(RotationBehaviorFlags, RotationBehaviorFlag)
63
65 {
66 NewestItemDate = 0,
70 IgnoreDate
71 };
72
73public:
74
77
78public:
79
80 void readFromConfig(const KConfigGroup& group);
81 void writeToConfig(KConfigGroup& group) const;
82
83 QStringList defaultExifToolSearchPaths() const;
84
85public:
86
87 bool exifRotate = true;
88 bool exifSetOrientation = true;
89
90 bool saveComments = false;
91 bool saveDateTime = false;
92 bool savePickLabel = false;
93 bool saveColorLabel = false;
94 bool saveRating = false;
95
96 bool saveTemplate = false;
97 bool saveTags = false;
98 bool saveFaceTags = false;
99 bool savePosition = false;
100
101 bool readWithExifTool = false;
102 bool writeWithExifTool = false;
103 bool writeRawFiles = false;
104 bool writeDngFiles = false;
105 bool updateFileTimeStamp = true;
106 bool rescanImageIfModified = false;
107 bool useXMPSidecar4Reading = false;
108 bool useCompatibleFileName = false;
109 bool useLazySync = false;
110 bool useFastScan = false;
111
112 MetaEngine::MetadataWritingMode metadataWritingMode = MetaEngine::WRITE_TO_FILE_ONLY;
113
114 RotationBehaviorFlags rotationBehavior = RotationBehaviorFlags(RotatingFlags | RotateByLosslessRotation);
115
116 AlbumDateSource albumDateFrom = OldestItemDate;
117
118 QStringList sidecarExtensions;
119
121};
122
124DIGIKAM_EXPORT QDebug operator<<(QDebug dbg, const MetaEngineSettingsContainer& inf);
125
126} // namespace Digikam
127
128Q_DECLARE_OPERATORS_FOR_FLAGS(Digikam::MetaEngineSettingsContainer::RotationBehaviorFlags)
Definition metaenginesettingscontainer.h:38
AlbumDateSource
Definition metaenginesettingscontainer.h:65
@ AverageDate
Definition metaenginesettingscontainer.h:68
@ OldestItemDate
Definition metaenginesettingscontainer.h:67
@ FolderDate
Definition metaenginesettingscontainer.h:69
QStringList sidecarExtensions
Definition metaenginesettingscontainer.h:118
RotationBehaviorFlag
Definition metaenginesettingscontainer.h:52
QString exifToolPath
Definition metaenginesettingscontainer.h:120
MetadataWritingMode
Definition metaengine.h:57
Definition datefolderview.cpp:34
QDebug operator<<(QDebug dbg, const DbEngineParameters &p)
Definition dbengineparameters.cpp:930