feather/src/widgets/PluginWidget.h

46 lines
992 B
C
Raw Normal View History

2023-11-30 14:01:39 +00:00
// SPDX-License-Identifier: BSD-3-Clause
2024-01-01 17:07:58 +00:00
// SPDX-FileCopyrightText: 2020-2024 The Monero Project
2023-11-30 14:01:39 +00:00
#ifndef PLUGINWIDGET_H
#define PLUGINWIDGET_H
#include <QWidget>
#include <QTreeWidgetItem>
#include "plugins/Plugin.h"
namespace Ui {
class PluginWidget;
}
class PluginWidget : public QWidget
{
Q_OBJECT
public:
explicit PluginWidget(QWidget *parent = nullptr);
~PluginWidget();
private slots:
void pluginSelected(QTreeWidgetItem* item, int column);
void pluginToggled(QTreeWidgetItem* item, int column);
void deselectAll();
void selectAll();
void selectTreeItems(QTreeWidgetItem *item, bool select);
void configurePlugin();
signals:
void pluginConfigured(const QString &id);
private:
void setupItem(QTreeWidgetItem *item, Plugin *plugin);
QScopedPointer<Ui::PluginWidget> ui;
QMap<QString, QTreeWidgetItem*> m_topLevelPlugins;
QList<QString> m_checkable;
Plugin* m_selectedPlugin = nullptr;
};
#endif //PLUGINWIDGET_H