digiKam
Loading...
Searching...
No Matches
loadingdescription.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 : 2006-01-16
7 * Description : image file IO threaded interface.
8 *
9 * SPDX-FileCopyrightText: 2006-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
10 * SPDX-FileCopyrightText: 2012-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QFlags>
21
22// Local includes
23
24#include "dimg.h"
25#include "digikam_export.h"
26#include "previewsettings.h"
27
28namespace Digikam
29{
30
31class IccTransform;
32class ThumbnailIdentifier;
33
34class DIGIKAM_EXPORT LoadingDescription
35{
36public:
37
47
68
69public:
70
72 {
73 public:
74
76 {
80 DetailThumbnail
81 };
82
84 {
85 NoFlags = 0,
86 OnlyPregenerate = 1 << 0,
87 OnlyFromStorage = 1 << 1
88 };
89 Q_DECLARE_FLAGS(PreviewFlags, PreviewFlag)
90
91 public:
92
93 PreviewParameters() = default;
94
95 bool onlyPregenerate() const;
96 bool onlyFromStorage() const;
97
98 bool operator==(const PreviewParameters& other) const;
99
100 public:
101
102 PreviewType type = NoPreview;
103 int size = 0;
104 PreviewFlags flags = NoFlags;
108 };
109
110 // ---------------------------------------------------------------------
111
113 {
114 public:
115
117
118 public:
119
120 bool needsProcessing() const;
121
122 void setTransform(const IccTransform& transform);
123 bool hasTransform() const;
124 IccTransform transform() const;
125
126 void setProfile(const IccProfile& profile);
127 bool hasProfile() const;
128 IccProfile profile() const;
129
130 bool operator==(const PostProcessingParameters& other) const;
131
132 public:
133
134 ColorManagementSettings colorManagement = NoColorConversion;
135 QVariant iccData;
136 };
137
138public:
139
144
148 explicit LoadingDescription(const QString& filePath,
149 ColorManagementSettings = NoColorConversion);
150
154 LoadingDescription(const QString& filePath,
155 const DRawDecoding& settings,
156 RawDecodingHint rawDecodingHint = RawDecodingCustomSettings,
157 ColorManagementSettings = NoColorConversion);
158
167 LoadingDescription(const QString& filePath,
168 const PreviewSettings& settings,
169 int size,
170 ColorManagementSettings = NoColorConversion,
171 PreviewParameters::PreviewType = PreviewParameters::PreviewImage);
172
176 QString cacheKey() const;
177
182 bool needCheckRawDecoding() const;
183
189 QStringList lookupCacheKeys() const;
190
195 bool isReducedVersion() const;
196
200 bool isThumbnail() const;
201
205 bool isPreviewImage() const;
206
210 ThumbnailIdentifier thumbnailIdentifier() const;
211
215 bool operator==(const LoadingDescription& other) const;
216 bool operator!=(const LoadingDescription& other) const;
217
222 bool equalsIgnoreReducedVersion(const LoadingDescription& other) const;
223
228 bool equalsOrBetterThan(const LoadingDescription& other) const;
229
230public:
231
236 static QStringList possibleCacheKeys(const QString& filePath);
237 static QStringList possibleThumbnailCacheKeys(const QString& filePath);
238
239public:
240
241 QString filePath;
243 RawDecodingHint rawDecodingHint = RawDecodingDefaultSettings;
246};
247
248} // namespace Digikam
249
250Q_DECLARE_OPERATORS_FOR_FLAGS(Digikam::LoadingDescription::PreviewParameters::PreviewFlags)
Definition drawdecoding.h:38
Definition iccprofile.h:33
Definition icctransform.h:39
QVariant iccData
Definition loadingdescription.h:135
Definition loadingdescription.h:72
PreviewSettings previewSettings
Definition loadingdescription.h:105
PreviewFlag
Definition loadingdescription.h:84
QVariant extraParameter
Definition loadingdescription.h:106
QVariant storageReference
Definition loadingdescription.h:107
PreviewType
Definition loadingdescription.h:76
@ PreviewImage
Definition loadingdescription.h:78
@ NoPreview
Definition loadingdescription.h:77
@ Thumbnail
Definition loadingdescription.h:79
Definition loadingdescription.h:35
QString filePath
Definition loadingdescription.h:241
RawDecodingHint
Definition loadingdescription.h:49
@ RawDecodingDefaultSettings
Definition loadingdescription.h:53
@ RawDecodingCustomSettings
Definition loadingdescription.h:61
@ RawDecodingGlobalSettings
Definition loadingdescription.h:57
PostProcessingParameters postProcessingParameters
Definition loadingdescription.h:245
ColorManagementSettings
Definition loadingdescription.h:39
@ ConvertForEditor
Definition loadingdescription.h:42
@ ConvertForDisplay
IccData can be the output profile.
Definition loadingdescription.h:44
@ ApplyTransform
IccData is an IccTransform.
Definition loadingdescription.h:41
@ NoColorConversion
Definition loadingdescription.h:40
@ ConvertToSRGB
Definition loadingdescription.h:43
PreviewParameters previewParameters
Definition loadingdescription.h:244
DRawDecoding rawDecodingSettings
Definition loadingdescription.h:242
Definition previewsettings.h:25
Definition thumbnailinfo.h:31
Definition datefolderview.cpp:34
bool operator==(const SearchTextSettings &a, const SearchTextSettings &b)
Definition searchtextbar.cpp:40