File indexing completed on 2025-03-09 03:50:50
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2009-11-13 0007 * Description : a tool to blend bracketed images. 0008 * 0009 * SPDX-FileCopyrightText: 2009-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0010 * SPDX-FileCopyrightText: 2015 by Benjamin Girault <benjamin dot girault at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_ENFUSE_SETTINGS_H 0017 #define DIGIKAM_ENFUSE_SETTINGS_H 0018 0019 // Qt includes 0020 0021 #include <QUrl> 0022 #include <QWidget> 0023 0024 // Locale includes 0025 0026 #include "dsavesettingswidget.h" 0027 0028 class KConfigGroup; 0029 0030 using namespace Digikam; 0031 0032 namespace DigikamGenericExpoBlendingPlugin 0033 { 0034 0035 class EnfuseSettings 0036 { 0037 public: 0038 0039 EnfuseSettings() 0040 : autoLevels (true), 0041 hardMask (false), 0042 ciecam02 (false), 0043 levels (20), 0044 exposure (1.0), 0045 saturation (0.2), 0046 contrast (0.0), 0047 outputFormat(DSaveSettingsWidget::OUTPUT_PNG) 0048 { 0049 } 0050 0051 ~EnfuseSettings() 0052 { 0053 } 0054 0055 QString asCommentString() const; 0056 0057 QString inputImagesList() const; 0058 0059 public: 0060 0061 bool autoLevels; 0062 bool hardMask; 0063 bool ciecam02; 0064 0065 int levels; 0066 0067 double exposure; 0068 double saturation; 0069 double contrast; 0070 0071 QString targetFileName; 0072 0073 QList<QUrl> inputUrls; 0074 QUrl previewUrl; 0075 0076 DSaveSettingsWidget::OutputFormat outputFormat; 0077 }; 0078 0079 // ------------------------------------------------------------------------ 0080 0081 class EnfuseSettingsWidget : public QWidget 0082 { 0083 Q_OBJECT 0084 0085 public: 0086 0087 explicit EnfuseSettingsWidget(QWidget* const parent); 0088 ~EnfuseSettingsWidget() override; 0089 0090 void setSettings(const EnfuseSettings& settings); 0091 EnfuseSettings settings() const; 0092 0093 void resetToDefault(); 0094 0095 void readSettings(const KConfigGroup& group); 0096 void writeSettings(KConfigGroup& group); 0097 0098 private: 0099 0100 class Private; 0101 Private* const d; 0102 }; 0103 0104 } // namespace DigikamGenericExpoBlendingPlugin 0105 0106 #endif // DIGIKAM_ENFUSE_SETTINGS_H