File indexing completed on 2025-01-05 04:00:15
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam project 0004 * https://www.digikam.org 0005 * 0006 * Date : 2005-11-24 0007 * Description : Color management setup tab. 0008 * 0009 * SPDX-FileCopyrightText: 2005-2007 by F.J. Cruz <fj dot cruz at supercable dot es> 0010 * SPDX-FileCopyrightText: 2005-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * SPDX-FileCopyrightText: 2009-2012 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de> 0012 * 0013 * SPDX-License-Identifier: GPL-2.0-or-later 0014 * 0015 * ============================================================ */ 0016 0017 #ifndef DIGIKAM_SETUP_ICC_H 0018 #define DIGIKAM_SETUP_ICC_H 0019 0020 // Qt includes 0021 0022 #include <QScrollArea> 0023 #include <QMap> 0024 #include <QDir> 0025 #include <QUrl> 0026 0027 // Local includes 0028 0029 #include "digikam_export.h" 0030 0031 class QDialogButtonBox; 0032 0033 namespace Digikam 0034 { 0035 0036 class IccProfile; 0037 0038 class DIGIKAM_EXPORT SetupICC : public QScrollArea 0039 { 0040 Q_OBJECT 0041 0042 public: 0043 0044 enum ICCTab 0045 { 0046 Behavior = 0, 0047 Profiles, 0048 Advanced 0049 }; 0050 0051 public: 0052 0053 explicit SetupICC(QDialogButtonBox* const dlgBtnBox, QWidget* const parent = nullptr); 0054 ~SetupICC() override; 0055 0056 void applySettings(); 0057 0058 void setActiveTab(ICCTab tab); 0059 ICCTab activeTab() const; 0060 0061 static bool iccRepositoryIsValid(); 0062 0063 private: 0064 0065 void readSettings(bool restore = false); 0066 void fillCombos(bool report); 0067 void setWidgetsEnabled(bool enabled); 0068 void profileInfo(const IccProfile&); 0069 0070 private Q_SLOTS: 0071 0072 void slotToggledEnabled(); 0073 void slotUrlChanged(); 0074 void slotUrlTextChanged(); 0075 void slotClickedIn(); 0076 void slotClickedWork(); 0077 void slotClickedMonitor(); 0078 void slotClickedProof(); 0079 void slotShowDefaultSearchPaths(); 0080 void slotMissingToggled(bool); 0081 0082 private: 0083 0084 class Private; 0085 Private* const d; 0086 }; 0087 0088 } // namespace Digikam 0089 0090 #endif // DIGIKAM_SETUP_ICC_H