File indexing completed on 2025-01-05 03:56:18

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2013-08-19
0007  * Description : Image Quality configuration selector widget
0008  *
0009  * SPDX-FileCopyrightText: 2013-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0010  * SPDX-FileCopyrightText: 2013-2014 by Gowtham Ashok <gwty93 at gmail dot com>
0011  * SPDX-FileCopyrightText: 2021-2022 by Phuoc Khanh Le <phuockhanhnk94 at gmail dot com>
0012  *
0013  * SPDX-License-Identifier: GPL-2.0-or-later
0014  *
0015  * ============================================================ */
0016 
0017 #ifndef DIGIKAM_IMAGE_QUALITY_CONF_SELECTOR_H
0018 #define DIGIKAM_IMAGE_QUALITY_CONF_SELECTOR_H
0019 
0020 // Qt includes
0021 
0022 #include <QWidget>
0023 
0024 // Local includes
0025 
0026 #include "digikam_export.h"
0027 #include "imagequalitycontainer.h"
0028 
0029 namespace Digikam
0030 {
0031 
0032 class DIGIKAM_EXPORT ImageQualityConfSelector : public QWidget
0033 {
0034     Q_OBJECT
0035 
0036 public:
0037 
0038     enum SettingsType
0039     {
0040         GlobalSettings = 0,     ///< Global settings avaialble in setup dialog.
0041         CustomSettings          ///< Sttings cusomized by end-user.
0042     };
0043 
0044 public:
0045 
0046     explicit ImageQualityConfSelector(QWidget* const parent = nullptr);
0047     ~ImageQualityConfSelector()                                         override;
0048 
0049     SettingsType          settingsSelected()                      const;
0050     void                  setSettingsSelected(SettingsType type);
0051 
0052     ImageQualityContainer customSettings()                        const;
0053     void setCustomSettings(const ImageQualityContainer& settings);
0054 
0055 Q_SIGNALS:
0056 
0057     void signalQualitySetup();
0058     void signalSettingsChanged();
0059 
0060 private Q_SLOTS:
0061 
0062     void slotSelectionChanged();
0063 
0064 private:
0065 
0066     class Private;
0067     Private* const d;
0068 };
0069 
0070 } // namespace Digikam
0071 
0072 #endif // DIGIKAM_IMAGE_QUALITY_CONF_SELECTOR_H