diff options
Diffstat (limited to 'src/settingsdialogplugins.h')
| -rw-r--r-- | src/settingsdialogplugins.h | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/src/settingsdialogplugins.h b/src/settingsdialogplugins.h index 8e2dae2a..add8fede 100644 --- a/src/settingsdialogplugins.h +++ b/src/settingsdialogplugins.h @@ -1,21 +1,46 @@ #ifndef SETTINGSDIALOGPLUGINS_H #define SETTINGSDIALOGPLUGINS_H +#include "filterwidget.h" + #include "settings.h" #include "settingsdialog.h" class PluginsSettingsTab : public SettingsTab { public: - PluginsSettingsTab(Settings& settings, SettingsDialog& dialog); + PluginsSettingsTab(Settings& settings, PluginContainer* pluginContainer, SettingsDialog& dialog); void update(); void closing() override; private: - void on_pluginsList_currentItemChanged(QListWidgetItem *current, QListWidgetItem *previous); + void on_pluginsList_currentItemChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous); void deleteBlacklistItem(); - void storeSettings(QListWidgetItem *pluginItem); + void storeSettings(QTreeWidgetItem *pluginItem); + +private slots: + /** + * @brief Filter the plugin list according to the filter widget. + * + */ + void filterPluginList(); + + /** + * @brief Retrieve the plugin associated to the given item in the list. + * + */ + MOBase::IPlugin* plugin(QTreeWidgetItem *pluginItem) const; + + constexpr static int ROLE_PLUGIN = Qt::UserRole; + constexpr static int ROLE_SETTINGS = Qt::UserRole + 1; + constexpr static int ROLE_DESCRIPTIONS = Qt::UserRole + 2; + +private: + + PluginContainer* m_pluginContainer; + + MOBase::FilterWidget m_filter; }; #endif // SETTINGSDIALOGPLUGINS_H |
