File indexing completed on 2024-05-12 04:33:20

0001 /*
0002     SPDX-FileCopyrightText: 2012 Victor Dodon <dodonvictor at gmail dot com>
0003     SPDX-FileCopyrightText: 2012-2018 Gilles Caulier <caulier dot gilles at gmail dot com>
0004 
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #ifndef KIPISETUP_H
0009 #define KIPISETUP_H
0010 
0011 // Qt includes
0012 
0013 #include <QScrollArea>
0014 #include <QString>
0015 #include <QDialog>
0016 
0017 namespace KXMLKipiCmd
0018 {
0019 
0020 class KipiSetup : public QDialog
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025 
0026     enum Page
0027     {
0028         LastPageUsed    = -1,
0029         KipiPluginsPage =  0,
0030         XmlFilesPage
0031     };
0032 
0033 public:
0034 
0035     static bool runSetupDialog(QWidget* const parent = nullptr);
0036 
0037 private Q_SLOTS:
0038 
0039     void slotOkClicked();
0040     void slotFilterChanged(const QString& filter);
0041 
0042 private:
0043 
0044     KipiSetup(QWidget* const parent);
0045     ~KipiSetup() override;
0046 
0047 private:
0048 
0049     friend class SetupXML;
0050 
0051     class Private;
0052     Private* const d;
0053 };
0054 
0055 // -------------------------------------------------------------------
0056 
0057 class SetupXML : public QScrollArea
0058 {
0059     Q_OBJECT
0060 
0061 public:
0062 
0063     SetupXML(QWidget* const parent);
0064     ~SetupXML() override;
0065 
0066     static const QString CONFIG_GROUP_NAME;
0067 
0068 public Q_SLOTS:
0069 
0070     void apply();
0071 
0072 private:
0073 
0074     class Private;
0075     Private* const d;
0076 };
0077 
0078 } // namespace KXMLKipiCmd
0079 
0080 #endif // KIPISETUP_H