digiKam
Loading...
Searching...
No Matches
iccsettingscontainer.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 : 2005-12-08
7 * Description : ICC Settings Container.
8 *
9 * SPDX-FileCopyrightText: 2005-2007 by F.J. Cruz <fj dot cruz at supercable dot es>
10 * SPDX-FileCopyrightText: 2005-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 <QColor>
21#include <QFlags>
22#include <QString>
23
24// Local includes
25
26#include "digikam_export.h"
27#include "icctransform.h"
28
29class KConfigGroup;
30
31namespace Digikam
32{
33
34class DIGIKAM_EXPORT ICCSettingsContainer
35{
36
37public:
38
40 {
42
43 InvalidBehavior = 0,
44
46
47 UseEmbeddedProfile = 1 << 0,
48 UseSRGB = 1 << 1,
49 UseWorkspace = 1 << 2,
50 UseDefaultInputProfile = 1 << 3,
51 UseSpecifiedProfile = 1 << 4,
52 AutomaticColors = 1 << 5,
53 DoNotInterpret = 1 << 6,
54
56
57 KeepProfile = 1 << 10,
58 ConvertToWorkspace = 1 << 11,
59
61
62 LeaveFileUntagged = 1 << 18,
63
64 AskUser = 1 << 20,
65 SafestBestAction = 1 << 21,
66
68
69 PreserveEmbeddedProfile = UseEmbeddedProfile | KeepProfile,
70 EmbeddedToWorkspace = UseEmbeddedProfile | ConvertToWorkspace,
71 SRGBToWorkspace = UseSRGB | ConvertToWorkspace,
72 AutoToWorkspace = AutomaticColors | ConvertToWorkspace,
73 InputToWorkspace = UseDefaultInputProfile | ConvertToWorkspace,
74 SpecifiedToWorkspace = UseSpecifiedProfile | ConvertToWorkspace,
75 NoColorManagement = DoNotInterpret | LeaveFileUntagged
76 };
77 Q_DECLARE_FLAGS(Behavior, BehaviorEnum)
78
79public:
80
83
84 void readFromConfig(KConfigGroup& group);
85 void writeToConfig(KConfigGroup& group) const;
86 void writeManagedViewToConfig(KConfigGroup& group) const;
87 void writeManagedPreviewsToConfig(KConfigGroup& group) const;
88
89public:
90
91 bool enableCM = true;
92
93 QString iccFolder;
94
96
97 Behavior defaultMismatchBehavior = EmbeddedToWorkspace;
98 Behavior defaultMissingProfileBehavior = SRGBToWorkspace;
99 Behavior defaultUncalibratedBehavior = AutoToWorkspace;
100
101 Behavior lastMismatchBehavior = EmbeddedToWorkspace;
102 Behavior lastMissingProfileBehavior = SRGBToWorkspace;
103 Behavior lastUncalibratedBehavior = AutoToWorkspace;
106
107 bool useManagedView = true;
108 bool useManagedPreviews = true;
110
113
114 bool useBPC = true;
115 int renderingIntent = IccTransform::Perceptual;
116
118 int proofingRenderingIntent = IccTransform::AbsoluteColorimetric;
119 bool doGamutCheck = false;
120 QColor gamutCheckMaskColor = QColor(126, 255, 255);
121
122private:
123
124 QString getProfilePath(KConfigGroup& group, const char* key) const;
125};
126
127} // namespace Digikam
128
129Q_DECLARE_OPERATORS_FOR_FLAGS(Digikam::ICCSettingsContainer::Behavior)
Definition iccsettingscontainer.h:35
BehaviorEnum
Definition iccsettingscontainer.h:40
QString iccFolder
Definition iccsettingscontainer.h:93
QString defaultInputProfile
Definition iccsettingscontainer.h:111
QString lastSpecifiedInputProfile
Definition iccsettingscontainer.h:105
QString lastSpecifiedAssignProfile
Definition iccsettingscontainer.h:104
QString workspaceProfile
Definition iccsettingscontainer.h:95
QString defaultProofProfile
Definition iccsettingscontainer.h:112
QString monitorProfile
Definition iccsettingscontainer.h:109
Definition datefolderview.cpp:34