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

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 KDEVCLAZY_CHECKSETMANAGEWIDGET_H
0008 #define KDEVCLAZY_CHECKSETMANAGEWIDGET_H
0009 
0010 #include "ui_checksetmanagewidget.h"
0011 
0012 // plugin
0013 #include "checksdb.h"
0014 
0015 namespace Clazy
0016 {
0017 
0018 class CheckSetSelectionListModel;
0019 class CheckSetSelectionManager;
0020 
0021 class CheckSetManageWidget: public QWidget
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit CheckSetManageWidget(QWidget* parent = nullptr);
0027 
0028 public:
0029     void setCheckSetSelectionManager(CheckSetSelectionManager* checkSetSelectionManager,
0030                                      const QSharedPointer<const ChecksDB>& db);
0031 
0032     void reload();
0033     void store() const;
0034 
0035 Q_SIGNALS:
0036     void changed();
0037 
0038 private:
0039     QString askNewCheckSetSelectionName(const QString& defaultName);
0040 //     void batchModeEditButtonClicked();
0041     void addCheckSetSelection();
0042     void cloneSelectedCheckSetSelection();
0043     void removeSelectedCheckSetSelection();
0044     void setSelectedCheckSetSelectionAsDefault();
0045     void editSelectedCheckSetSelectionName();
0046 
0047     void onDefaultCheckSetSelectionChanged(const QString& checkSetSelectionId);
0048     void onSelectedCheckSetSelectionChanged(int selectedCheckSetSelectionIndex);
0049     void onEnabledChecksChanged(const QString& selection);
0050 
0051 private:
0052     Ui::CheckSetManageWidget m_ui;
0053     CheckSetSelectionListModel* m_checkSetSelectionListModel = nullptr;
0054 };
0055 
0056 }
0057 
0058 #endif