File indexing completed on 2025-01-05 04:00:13

0001 /* ============================================================
0002  *
0003  * This file is a part of digiKam project
0004  * https://www.digikam.org
0005  *
0006  * Date        : 2004-08-23
0007  * Description : mics configuration setup tab
0008  *
0009  * SPDX-FileCopyrightText: 2004      by Renchi Raju <renchi dot raju at gmail dot com>
0010  * SPDX-FileCopyrightText: 2005-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
0011  * SPDX-FileCopyrightText: 2017      by Simon Frei <freisim93 at gmail dot com>
0012  *
0013  * SPDX-License-Identifier: GPL-2.0-or-later
0014  *
0015  * ============================================================ */
0016 
0017 #ifndef DIGIKAM_SETUP_MISC_P_H
0018 #define DIGIKAM_SETUP_MISC_P_H
0019 
0020 #include "setupmisc.h"
0021 
0022 // Qt includes
0023 
0024 #include <QApplication>
0025 #include <QDirIterator>
0026 #include <QButtonGroup>
0027 #include <QCheckBox>
0028 #include <QComboBox>
0029 #include <QFile>
0030 #include <QGroupBox>
0031 #include <QHash>
0032 #include <QLabel>
0033 #include <QRadioButton>
0034 #include <QSpinBox>
0035 #include <QStyle>
0036 #include <QStyleFactory>
0037 #include <QVBoxLayout>
0038 #include <QTabWidget>
0039 #include <QMessageBox>
0040 #include <QPushButton>
0041 
0042 // KDE includes
0043 
0044 #include <klocalizedstring.h>
0045 
0046 // Local includes
0047 
0048 #include "digikam_config.h"
0049 #include "dexpanderbox.h"
0050 #include "dlayoutbox.h"
0051 #include "dfontselect.h"
0052 #include "thememanager.h"
0053 #include "metaenginesettings.h"
0054 #include "applicationsettings.h"
0055 #include "systemsettingswidget.h"
0056 #include "spellcheckconfig.h"
0057 #include "onlineversionchecker.h"
0058 #include "setup.h"
0059 #include "localizeconfig.h"
0060 
0061 #ifdef HAVE_SONNET
0062 #   include "spellcheckconfig.h"
0063 #endif
0064 
0065 namespace Digikam
0066 {
0067 
0068 class Q_DECL_HIDDEN SetupMisc::Private
0069 {
0070 public:
0071 
0072     explicit Private()
0073       : tab                                     (nullptr),
0074         updateTypeLabel                         (nullptr),
0075         updateWithDebug                         (nullptr),
0076         sidebarTypeLabel                        (nullptr),
0077         albumDateSourceLabel                    (nullptr),
0078         stringComparisonTypeLabel               (nullptr),
0079         applicationStyleLabel                   (nullptr),
0080         applicationIconLabel                    (nullptr),
0081         minSimilarityBoundLabel                 (nullptr),
0082         showSplashCheck                         (nullptr),
0083         showTrashDeleteDialogCheck              (nullptr),
0084         showPermanentDeleteDialogCheck          (nullptr),
0085         sidebarApplyDirectlyCheck               (nullptr),
0086         useNativeFileDialogCheck                (nullptr),
0087         drawFramesToGroupedCheck                (nullptr),
0088         expandNewCurrentItemCheck               (nullptr),
0089         scrollItemToCenterCheck                 (nullptr),
0090         showOnlyPersonTagsInPeopleSidebarCheck  (nullptr),
0091         scanAtStart                             (nullptr),
0092         useFastScan                             (nullptr),
0093         detectFaces                             (nullptr),
0094         cleanAtStart                            (nullptr),
0095         updateType                              (nullptr),
0096         sidebarType                             (nullptr),
0097         albumDateSource                         (nullptr),
0098         stringComparisonType                    (nullptr),
0099         applicationStyle                        (nullptr),
0100         applicationIcon                         (nullptr),
0101         applicationFont                         (nullptr),
0102         minimumSimilarityBound                  (nullptr),
0103         systemSettingsWidget                    (nullptr),
0104 
0105 #ifdef HAVE_SONNET
0106 
0107         spellCheckWidget                        (nullptr),
0108 
0109 #endif
0110 
0111         localizeWidget                          (nullptr),
0112         groupingButtons                         (QHash<int, QButtonGroup*>())
0113     {
0114     }
0115 
0116     QTabWidget*               tab;
0117 
0118     QLabel*                   updateTypeLabel;
0119     QCheckBox*                updateWithDebug;
0120 
0121     QLabel*                   sidebarTypeLabel;
0122     QLabel*                   albumDateSourceLabel;
0123     QLabel*                   stringComparisonTypeLabel;
0124     QLabel*                   applicationStyleLabel;
0125     QLabel*                   applicationIconLabel;
0126     QLabel*                   minSimilarityBoundLabel;
0127 
0128     QCheckBox*                showSplashCheck;
0129     QCheckBox*                showTrashDeleteDialogCheck;
0130     QCheckBox*                showPermanentDeleteDialogCheck;
0131     QCheckBox*                sidebarApplyDirectlyCheck;
0132     QCheckBox*                useNativeFileDialogCheck;
0133     QCheckBox*                drawFramesToGroupedCheck;
0134     QCheckBox*                expandNewCurrentItemCheck;
0135     QCheckBox*                scrollItemToCenterCheck;
0136     QCheckBox*                showOnlyPersonTagsInPeopleSidebarCheck;
0137     QCheckBox*                scanAtStart;
0138     QCheckBox*                useFastScan;
0139     QCheckBox*                detectFaces;
0140     QCheckBox*                cleanAtStart;
0141 
0142     QComboBox*                updateType;
0143     QComboBox*                sidebarType;
0144     QComboBox*                albumDateSource;
0145     QComboBox*                stringComparisonType;
0146     QComboBox*                applicationStyle;
0147     QComboBox*                applicationIcon;
0148     DFontSelect*              applicationFont;
0149 
0150     QSpinBox*                 minimumSimilarityBound;
0151 
0152     SystemSettingsWidget*     systemSettingsWidget;
0153 
0154 #ifdef HAVE_SONNET
0155 
0156     SpellCheckConfig*         spellCheckWidget;
0157 
0158 #endif
0159 
0160     LocalizeConfig*           localizeWidget;
0161     QHash<int, QButtonGroup*> groupingButtons;
0162 };
0163 
0164 } // namespace Digikam
0165 
0166 #endif // DIGIKAM_SETUP_MISC_P_H