digiKam
lensfuncameraselector.h
Go to the documentation of this file.
1 /* ============================================================
2  *
3  * Date : 2008-02-10
4  * Description : a tool to fix automatically camera lens aberrations
5  *
6  * Copyright (C) 2008 by Adrian Schroeter <adrian at suse dot de>
7  * Copyright (C) 2008-2022 by Gilles Caulier <caulier dot gilles at gmail dot com>
8  *
9  * This program is free software; you can redistribute it
10  * and/or modify it under the terms of the GNU General
11  * Public License as published by the Free Software Foundation;
12  * either version 2, or (at your option)
13  * any later version.
14  *
15  * This program 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  * ============================================================ */
21 
22 #ifndef DIGIKAM_LENS_FUN_CAMERA_SELECTOR_H
23 #define DIGIKAM_LENS_FUN_CAMERA_SELECTOR_H
24 
25 // Qt includes
26 
27 #include <QWidget>
28 
29 // Local includes
30 
31 #include "dmetadata.h"
32 #include "digikam_export.h"
33 #include "lensfunfilter.h"
34 #include "lensfuniface.h"
35 
36 class KConfigGroup;
37 
38 namespace Digikam
39 {
40 
41 class DIGIKAM_EXPORT LensFunCameraSelector : public QWidget
42 {
43  Q_OBJECT
44 
45 public:
46 
47  typedef QMap<QString, QString> Device;
48 
49 public:
50 
51  explicit LensFunCameraSelector(QWidget* const parent = nullptr);
52  ~LensFunCameraSelector() override;
53 
54  void setEnabledUseMetadata(bool b);
55 
56  void setUseMetadata(bool b);
57  bool useMetadata() const;
58 
59  LensFunContainer settings();
60  void setSettings(const LensFunContainer& settings);
61 
62  void readSettings(KConfigGroup& group);
63  void writeSettings(KConfigGroup& group);
64 
65  void resetToDefault();
66 
70  void setPassiveMetadataUsage(bool b);
71 
72  LensFunIface* iface() const;
73 
74  void setMetadata(const MetaEngineData&);
75 
76 Q_SIGNALS:
77 
79 
80 private Q_SLOTS:
81 
82  void slotUseMetadata(bool);
83  void slotMakeSelected();
84  void slotModelChanged();
85  void slotModelSelected();
86  void slotLensSelected();
87  void slotFocalChanged();
88  void slotApertureChanged();
89  void slotDistanceChanged();
90 
91 private:
92 
93  LensFunIface::MetadataMatch findFromMetadata();
94  void refreshSettingsView();
95  void populateDeviceCombos();
96  void populateLensCombo();
97 
98 private:
99 
100  class Private;
101  Private* const d;
102 };
103 
104 } // namespace Digikam
105 
106 #endif // DIGIKAM_LENS_FUN_CAMERA_SELECTOR_H
Definition: lensfuncameraselector.h:42
QMap< QString, QString > Device
Definition: lensfuncameraselector.h:47
Definition: lensfunfilter.h:35
Definition: lensfuniface.h:67
MetadataMatch
Definition: lensfuniface.h:75
Definition: metaengine_data.h:41
Definition: datefolderview.cpp:43