1 /*******************************************************************************
2 **
3 ** Photivo
4 **
5 ** Copyright (C) 2008-2009 Jos De Laender <jos.de_laender@telenet.be>
6 ** Copyright (C) 2009-2010 Michael Munzert <mail@mm-log.com>
7 ** Copyright (C) 2015 Bernd Schoeler <brjohn@brother-john.net>
8 **
9 ** This file is part of Photivo.
10 **
11 ** Photivo is free software: you can redistribute it and/or modify
12 ** it under the terms of the GNU General Public License version 3
13 ** as published by the Free Software Foundation.
14 **
15 ** Photivo is distributed in the hope that it will be useful,
16 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 ** GNU General Public License for more details.
19 **
20 ** You should have received a copy of the GNU General Public License
21 ** along with Photivo.  If not, see <http://www.gnu.org/licenses/>.
22 **
23 *******************************************************************************/
24 
25 #ifndef PTGUIOPTIONS_H
26 #define PTGUIOPTIONS_H
27 
28 #include "filters/ptCfgItem.h"
29 #include <QString>
30 #include <QVariant>
31 
32 // -----------------------------------------------------------------------------
33 
34 namespace pt {
35   namespace ComboEntries {
36     extern const ptCfgItem::TComboEntryList FilterModes;
37     extern const ptCfgItem::TComboEntryList MaskedFilterModes;
38     extern const ptCfgItem::TComboEntryList MaskTypes;
39     extern const ptCfgItem::TComboEntryList OverlayModes;
40     extern const ptCfgItem::TComboEntryList VignetteShapes;
41   }
42 
43   bool isActiveFilterMode(const QVariant& AFilterMode);
44   bool isActiveMaskType(const QVariant& AMaskType);
45 }
46 
47 ////////////////////////////////////////////////////////////////////////////////
48 //
49 // ptGuiOptions
50 //
51 // Bunch of structured options for the Gui choice elements;
52 // DEPRECATED for the new filter-architecture.
53 //
54 ////////////////////////////////////////////////////////////////////////////////
55 
56 struct ptGuiOptionsItem {
57   QVariant Value;
58   QString  Text;
59 };
60 
61 // Attention : heavy use of static, ptGuiOptions are
62 // obviously only meant to be instantiated once.
63 
64 class ptGuiOptions {
65 public:
66   static const ptGuiOptionsItem LocalAdjustMode[];
67 
68   static const ptGuiOptionsItem ZoomLevel[];
69   static const ptGuiOptionsItem BatchMgrAutosaveFile[];
70   static const ptGuiOptionsItem RememberSettingLevel[];
71   static const ptGuiOptionsItem CameraColor[];
72   static const ptGuiOptionsItem CameraColorProfileIntent[];
73   static const ptGuiOptionsItem CameraColorGamma[];
74   static const ptGuiOptionsItem WorkColor[];
75   static const ptGuiOptionsItem CMQuality[];
76   static const ptGuiOptionsItem PreviewColorProfileIntent[];
77   static const ptGuiOptionsItem OutputColorProfileIntent[];
78   static const ptGuiOptionsItem Style[];
79   static const ptGuiOptionsItem StyleHighLight[];
80   static const ptGuiOptionsItem StartupUIMode[];
81   static const ptGuiOptionsItem PipeSize[];
82   static const ptGuiOptionsItem RunMode[];
83 
84   static const ptGuiOptionsItem LfunCAModel[];
85   static const ptGuiOptionsItem LfunVignetteModel[];
86   static const ptGuiOptionsItem LfunGeo[];
87   static const ptGuiOptionsItem LfunDistModel[];
88 
89   static const ptGuiOptionsItem CropGuidelines[];
90   static const ptGuiOptionsItem LightsOutMode[];
91   static const ptGuiOptionsItem ResizeFilter[];
92   static const ptGuiOptionsItem ResizeDimension[];
93   static const ptGuiOptionsItem WebResizeDimension[];
94   static const ptGuiOptionsItem IMResizeFilter[];
95   static const ptGuiOptionsItem LqrEnergy[];
96   static const ptGuiOptionsItem LqrScaling[];
97   static const ptGuiOptionsItem WhiteBalance[];
98   static const ptGuiOptionsItem CACorrect[];
99   static const ptGuiOptionsItem Interpolation[];
100   static const ptGuiOptionsItem BayerDenoise[];
101   static const ptGuiOptionsItem ClipMode[];
102   static const ptGuiOptionsItem AspectRatio[];
103   static const ptGuiOptionsItem LABTransformMode[];
104   static const ptGuiOptionsItem SpecialPreview[];
105   static const ptGuiOptionsItem FlipMode[];
106   static const ptGuiOptionsItem Enable[];
107   static const ptGuiOptionsItem SaveFormat[];
108   static const ptGuiOptionsItem SaveSampling[];
109   static const ptGuiOptionsItem OutputMode[];
110   static const ptGuiOptionsItem ResetMode[];
111   static const ptGuiOptionsItem BadPixels[];
112   static const ptGuiOptionsItem DarkFrame[];
113 
114   static const ptGuiOptionsItem SpotRepair[];
115 };
116 
117 extern ptGuiOptions* GuiOptions;
118 
119 #endif // PTGUIOPTIONS_H
120