diff options
| author | Mikaƫl Capelle <capelle.mikael@gmail.com> | 2020-10-01 18:52:35 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-01 18:52:35 +0200 |
| commit | 4167e6768e3d82f831982588347a5a8606fe82f6 (patch) | |
| tree | b31dc6b9711ed0681d28beb5a1314f10474950ce /src/settingsdialogplugins.h | |
| parent | cd3f496a5b9f6cc090c66a226d4f7f7557c9a8e1 (diff) | |
| parent | 475fc0b813497d81aed92b0659cb2213dd9ce14f (diff) | |
Merge pull request #1248 from Holt59/iplugin-interface-improvements
Better display of MO2 plugins
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 |
