File indexing completed on 2024-05-05 04:39:18

0001 /*
0002     SPDX-FileCopyrightText: 2018 Anton Anikin <anton@anikin.xyz>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef KDEVCLAZY_GLOBAL_CONFIG_PAGE_H
0008 #define KDEVCLAZY_GLOBAL_CONFIG_PAGE_H
0009 
0010 #include <interfaces/configpage.h>
0011 
0012 // plugin
0013 #include "checksdb.h"
0014 
0015 
0016 namespace Clazy
0017 {
0018 namespace Ui {
0019 class GlobalConfigPage;
0020 }
0021 class CheckSetSelectionManager;
0022 
0023 class GlobalConfigPage: public KDevelop::ConfigPage
0024 {
0025     Q_OBJECT
0026 
0027 public:
0028     GlobalConfigPage(CheckSetSelectionManager* checkSetSelectionManager,
0029                      const QSharedPointer<const ChecksDB>& db,
0030                      KDevelop::IPlugin* plugin, QWidget* parent);
0031     ~GlobalConfigPage() override = default;
0032 
0033     KDevelop::ConfigPage::ConfigPageType configPageType() const override;
0034 
0035     QString name() const override;
0036     QString fullName() const override;
0037     QIcon icon() const override;
0038 
0039     void apply() override;
0040     void defaults() override;
0041     void reset() override;
0042 
0043 private:
0044     Ui::GlobalConfigPage* ui;
0045     CheckSetSelectionManager* const m_checkSetSelectionManager;
0046 };
0047 
0048 }
0049 
0050 #endif