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 settings 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_SETTINGS_H
0018 #define DIGIKAM_IMAGE_QUALITY_SETTINGS_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 class KConfigGroup;
0030 
0031 namespace Digikam
0032 {
0033 
0034 class DIGIKAM_EXPORT ImageQualitySettings : public QWidget
0035 {
0036     Q_OBJECT
0037 
0038 public:
0039 
0040     explicit ImageQualitySettings(QWidget* const parent = nullptr);
0041     ~ImageQualitySettings()                                 override;
0042 
0043     void applySettings();
0044     void applySettings(KConfigGroup&);
0045 
0046     void readSettings();
0047     void readSettings(const KConfigGroup&);
0048 
0049     ImageQualityContainer getImageQualityContainer() const;
0050     void setImageQualityContainer(const ImageQualityContainer& imq);
0051 
0052     ImageQualityContainer defaultSettings()          const;
0053     void resetToDefault();
0054 
0055 Q_SIGNALS:
0056 
0057     void signalSettingsChanged();
0058 
0059 private Q_SLOTS:
0060 
0061     void slotDisableOptionViews();
0062 
0063 private:
0064 
0065     class Private;
0066     Private* const d;
0067 };
0068 
0069 } // namespace Digikam
0070 
0071 #endif // DIGIKAM_IMAGE_QUALITY_SETTINGS_H