File indexing completed on 2024-05-12 04:39:22
0001 /* 0002 SPDX-FileCopyrightText: 2016 Carlos Nihelton <carlosnsoliveira@gmail.com> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef CLANGTIDYPREFERENCES_H 0008 #define CLANGTIDYPREFERENCES_H 0009 0010 // KDevPlatform 0011 #include <interfaces/configpage.h> 0012 0013 namespace Ui 0014 { 0015 class ClangTidyPreferences; 0016 } 0017 namespace ClangTidy 0018 { 0019 class CheckSetSelectionManager; 0020 class CheckSet; 0021 } 0022 /** 0023 * \class 0024 * \brief Implements the session configuration page for clang-tidy. 0025 */ 0026 class ClangTidyPreferences : public KDevelop::ConfigPage 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 explicit ClangTidyPreferences(ClangTidy::CheckSetSelectionManager* checkSetSelectionManager, 0032 const ClangTidy::CheckSet* checkSet, 0033 KDevelop::IPlugin* plugin = nullptr, QWidget* parent = nullptr); 0034 ~ClangTidyPreferences() override; 0035 0036 public: // KDevelop::ConfigPage API 0037 ConfigPage::ConfigPageType configPageType() const override; 0038 QString name() const override; 0039 QString fullName() const override; 0040 QIcon icon() const override; 0041 0042 void apply() override; 0043 void defaults() override; 0044 void reset() override; 0045 0046 private: 0047 void updateJobCountEnabledState(); 0048 0049 private: 0050 Ui::ClangTidyPreferences* ui; 0051 ClangTidy::CheckSetSelectionManager* const m_checkSetSelectionManager; 0052 }; 0053 0054 #endif