summaryrefslogtreecommitdiff
path: root/src/settingsdialogplugins.h
diff options
context:
space:
mode:
authorMikaƫl Capelle <capelle.mikael@gmail.com>2020-10-01 18:52:35 +0200
committerGitHub <noreply@github.com>2020-10-01 18:52:35 +0200
commit4167e6768e3d82f831982588347a5a8606fe82f6 (patch)
treeb31dc6b9711ed0681d28beb5a1314f10474950ce /src/settingsdialogplugins.h
parentcd3f496a5b9f6cc090c66a226d4f7f7557c9a8e1 (diff)
parent475fc0b813497d81aed92b0659cb2213dd9ce14f (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.h31
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