digiKam
drawdecoderwidget.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-09-13
7  * Description : Raw Decoder settings widgets
8  *
9  * Copyright (C) 2006-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
10  * Copyright (C) 2006-2011 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de>
11  * Copyright (C) 2007-2008 by Guillaume Castagnino <casta at xwing dot info>
12  *
13  * This program is free software; you can redistribute it
14  * and/or modify it under the terms of the GNU General
15  * Public License as published by the Free Software Foundation;
16  * either version 2, or (at your option)
17  * any later version.
18  *
19  * This program is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22  * GNU General Public License for more details.
23  *
24  * ============================================================ */
25 
26 #ifndef DIGIKAM_DRAW_DECODER_WIDGET_H
27 #define DIGIKAM_DRAW_DECODER_WIDGET_H
28 
29 // Qt includes
30 
31 #include <QString>
32 
33 // Local includes
34 
35 #include "drawdecodersettings.h"
36 #include "dlayoutbox.h"
37 #include "dexpanderbox.h"
38 #include "dfileselector.h"
39 #include "digikam_export.h"
40 
41 class KConfigGroup;
42 
43 namespace Digikam
44 {
45 
46 class DIGIKAM_EXPORT DRawDecoderWidget : public DExpanderBox
47 {
48  Q_OBJECT
49 
50 public:
51 
53  {
54  SIXTEENBITS = 0x00000001,
55  COLORSPACE = 0x00000002,
56  POSTPROCESSING = 0x00000004,
57  BLACKWHITEPOINTS = 0x00000008
58  };
59 
61  {
62  DEMOSAICING = 0,
65  COLORMANAGEMENT
66  };
67 
68 public:
69 
73  explicit DRawDecoderWidget(QWidget* const parent, int advSettings = COLORSPACE);
74  ~DRawDecoderWidget() override;
75 
76  DFileSelector* inputProfileUrlEdit() const;
77  DFileSelector* outputProfileUrlEdit() const;
78 
79  void setup(int advSettings);
80 
81  void setEnabledBrightnessSettings(bool b);
82  bool brightnessSettingsIsEnabled() const;
83 
84  void updateMinimumWidth();
85 
86  void resetToDefault();
87 
88  void setSettings(const DRawDecoderSettings& settings);
89  DRawDecoderSettings settings() const;
90 
91  void readSettings(KConfigGroup& group) override;
92  void writeSettings(KConfigGroup& group) override;
93 
94  static void readSettings(DRawDecoderSettings& setting, KConfigGroup& group);
95  static void writeSettings(const DRawDecoderSettings& setting, KConfigGroup& group);
96 
97 Q_SIGNALS:
98 
101 
102 private Q_SLOTS:
103 
104  void slotWhiteBalanceToggled(int);
105  void slotsixteenBitsImageToggled(bool);
106  void slotUnclipColorActivated(int);
107  void slotNoiseReductionChanged(int);
108  void slotExposureCorrectionToggled(bool);
109  void slotInputColorSpaceChanged(int);
110  void slotOutputColorSpaceChanged(int);
111  void slotRAWQualityChanged(int);
112  void slotExpoCorrectionShiftChanged(double);
113 
114 private:
115 
116  class Private;
117  Private* const d;
118 };
119 
120 } // NameSpace Digikam
121 
122 #endif // DIGIKAM_DRAW_DECODER_WIDGET_H
Definition: dexpanderbox.h:244
Definition: dfileselector.h:48
Definition: drawdecodersettings.h:43
Definition: drawdecoderwidget.h:47
SettingsTabs
Definition: drawdecoderwidget.h:61
@ CORRECTIONS
Definition: drawdecoderwidget.h:64
@ WHITEBALANCE
Definition: drawdecoderwidget.h:63
void signalSixteenBitsImageToggled(bool)
AdvancedSettingsOptions
Definition: drawdecoderwidget.h:53
Definition: datefolderview.cpp:43