digiKam
Loading...
Searching...
No Matches
colorcorrectiondlg.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-05-15
7 * Description : a dialog to see preview ICC color correction
8 * before to apply color profile.
9 *
10 * SPDX-FileCopyrightText: 2006-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 <QString>
21#include <QDialog>
22
23// Local includes
24
25#include "digikam_export.h"
26#include "iccprofile.h"
28
29namespace Digikam
30{
31
32class DImg;
33class IccProfile;
34class IccTransform;
35
36class DIGIKAM_EXPORT ColorCorrectionDlg : public QDialog
37{
38 Q_OBJECT
39
40public:
41
42 enum Mode
43 {
46 UncalibratedColor
47 };
48
49public:
50
51 explicit ColorCorrectionDlg(Mode mode,
52 const DImg& preview,
53 const QString& file,
54 QWidget* const parent = nullptr);
55 ~ColorCorrectionDlg() override;
56
57 ICCSettingsContainer::Behavior behavior() const;
58 IccProfile specifiedProfile() const;
59
60private Q_SLOTS:
61
62 void slotWorkspaceProfInfo();
63 void slotImageProfInfo();
64
65 void imageProfileToggled(bool);
66 void imageProfileChanged();
67 void missingProfileToggled(bool);
68 void missingProfileChanged();
69 void usedProfileToggled(bool);
70 void usedProfileChanged();
71 void inputProfileChanged();
72 void slotHelp();
73 void slotOk();
74
75private:
76
77 ICCSettingsContainer::Behavior currentBehavior() const;
78
79 QLayout* createHeading() const;
80 QLayout* createProfilesInfo() const;
81 QLayout* createPreviews() const;
82 QWidget* createAssumeOptions() const;
83 QWidget* createOptions() const;
84
85 void updateInfo();
86 void updateUsedProfileUI();
87 void updateImageProfileUI();
88
89 void readSettings();
90 void setSettings();
91
92private:
93
94 class Private;
95 Private* const d = nullptr;
96};
97
98} // namespace Digikam
Definition colorcorrectiondlg.h:37
Mode
Definition colorcorrectiondlg.h:43
@ MissingProfile
Definition colorcorrectiondlg.h:45
@ ProfileMismatch
Definition colorcorrectiondlg.h:44
Definition dimg.h:52
Definition iccprofile.h:33
Definition datefolderview.cpp:34