From 04c8409bf5eb41475064c0dbb69f431e43917593 Mon Sep 17 00:00:00 2001 From: Mikaƫl Capelle Date: Wed, 30 Sep 2020 18:58:01 +0200 Subject: Add filter for plugin list. --- src/settingsdialog.ui | 36 ++++++++++++++++++++++-------------- src/settingsdialogplugins.cpp | 6 +++++- src/settingsdialogplugins.h | 6 ++++++ 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui index 97fa01bd..67df1ec9 100644 --- a/src/settingsdialog.ui +++ b/src/settingsdialog.ui @@ -1042,19 +1042,28 @@ - - - - 0 - 0 - - - - - 1 - - - + + + + + + 1 + + + + + + + + + + + + + + + + @@ -1615,7 +1624,6 @@ programs you are intentionally running. preferredServersList steamUserEdit steamPassEdit - pluginsList pluginSettingsList pluginBlacklist appIDEdit diff --git a/src/settingsdialogplugins.cpp b/src/settingsdialogplugins.cpp index cb306f36..e13f727e 100644 --- a/src/settingsdialogplugins.cpp +++ b/src/settingsdialogplugins.cpp @@ -33,7 +33,8 @@ PluginsSettingsTab::PluginsSettingsTab(Settings& s, PluginContainer* pluginConta if (handledNames.contains(plugin->name())) continue; QTreeWidgetItem* listItem = new QTreeWidgetItem( - topItems.at(pluginContainer->topImplementedInterface(plugin)), { plugin->localizedName() }); + topItems.at(pluginContainer->topImplementedInterface(plugin))); + listItem->setData(0, Qt::DisplayRole, plugin->localizedName()); listItem->setData(0, ROLE_PLUGIN, QVariant::fromValue((void*)plugin)); listItem->setData(0, ROLE_SETTINGS, settings().plugins().settings(plugin->name())); listItem->setData(0, ROLE_DESCRIPTIONS, settings().plugins().descriptions(plugin->name())); @@ -52,6 +53,9 @@ PluginsSettingsTab::PluginsSettingsTab(Settings& s, PluginContainer* pluginConta ui->pluginBlacklist->addItem(pluginName); } + m_filter.setEdit(ui->pluginFilterEdit); + m_filter.setList(ui->pluginsList); + QObject::connect( ui->pluginsList, &QTreeWidget::currentItemChanged, [&](auto* current, auto* previous) { on_pluginsList_currentItemChanged(current, previous); }); diff --git a/src/settingsdialogplugins.h b/src/settingsdialogplugins.h index f9069be1..e284b271 100644 --- a/src/settingsdialogplugins.h +++ b/src/settingsdialogplugins.h @@ -1,6 +1,8 @@ #ifndef SETTINGSDIALOGPLUGINS_H #define SETTINGSDIALOGPLUGINS_H +#include "filterwidget.h" + #include "settings.h" #include "settingsdialog.h" @@ -26,6 +28,10 @@ private: constexpr static int ROLE_PLUGIN = Qt::UserRole; constexpr static int ROLE_SETTINGS = Qt::UserRole + 1; constexpr static int ROLE_DESCRIPTIONS = Qt::UserRole + 2; + +private: + + MOBase::FilterWidget m_filter; }; #endif // SETTINGSDIALOGPLUGINS_H -- cgit v1.3.1