File indexing completed on 2024-05-12 04:39:21

0001 /*
0002     SPDX-FileCopyrightText: 2020 Friedrich W. H. Kossebau <kossebau@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef CLANGTIDY_CHECKSETMANAGEWIDGET_H
0008 #define CLANGTIDY_CHECKSETMANAGEWIDGET_H
0009 
0010 #include "ui_checksetmanagewidget.h"
0011 
0012 
0013 namespace ClangTidy
0014 {
0015 
0016 class CheckSetSelectionListModel;
0017 class CheckSetSelectionManager;
0018 class CheckSet;
0019 
0020 class CheckSetManageWidget: public QWidget
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     explicit CheckSetManageWidget(QWidget* parent = nullptr);
0026 
0027 public:
0028     void setCheckSetSelectionManager(CheckSetSelectionManager* checkSetSelectionManager,
0029                                      const CheckSet* checkSet);
0030 
0031     void reload();
0032     void store() const;
0033 
0034 Q_SIGNALS:
0035     void changed();
0036 
0037 private:
0038     QString askNewCheckSetSelectionName(const QString& defaultName);
0039 //     void batchModeEditButtonClicked();
0040     void addCheckSetSelection();
0041     void cloneSelectedCheckSetSelection();
0042     void removeSelectedCheckSetSelection();
0043     void setSelectedCheckSetSelectionAsDefault();
0044     void editSelectedCheckSetSelectionName();
0045 
0046     void onDefaultCheckSetSelectionChanged(const QString& checkSetSelectionId);
0047     void onSelectedCheckSetSelectionChanged(int selectedCheckSetSelectionIndex);
0048     void onEnabledChecksChanged(const QString& selection);
0049 
0050 private:
0051     Ui::CheckSetManageWidget m_ui;
0052     CheckSetSelectionListModel* m_checkSetSelectionListModel = nullptr;
0053 };
0054 
0055 }
0056 
0057 #endif