diff options
| author | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-09-30 18:58:01 +0200 |
|---|---|---|
| committer | Mikaël Capelle <capelle.mikael@gmail.com> | 2020-09-30 18:58:01 +0200 |
| commit | 04c8409bf5eb41475064c0dbb69f431e43917593 (patch) | |
| tree | 05573443447556a0923913338d90115bc5c48cf4 /src | |
| parent | 4b1a89648fffea98b447e4289dbc559d717d0b52 (diff) | |
Add filter for plugin list.
Diffstat (limited to 'src')
| -rw-r--r-- | src/settingsdialog.ui | 36 | ||||
| -rw-r--r-- | src/settingsdialogplugins.cpp | 6 | ||||
| -rw-r--r-- | 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 @@ <item> <layout class="QHBoxLayout" name="horizontalLayout_9"> <item> - <widget class="QTreeWidget" name="pluginsList"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Fixed" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <column> - <property name="text"> - <string notr="true">1</string> - </property> - </column> - </widget> + <layout class="QVBoxLayout" name="verticalLayout_15"> + <item> + <widget class="QTreeWidget" name="pluginsList"> + <column> + <property name="text"> + <string notr="true">1</string> + </property> + </column> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QLineEdit" name="pluginFilterEdit"> + <property name="placeholderText"> + <string/> + </property> + </widget> + </item> + </layout> + </item> + </layout> </item> <item> <layout class="QVBoxLayout" name="verticalLayout_7" stretch="0,1"> @@ -1615,7 +1624,6 @@ programs you are intentionally running.</string> <tabstop>preferredServersList</tabstop> <tabstop>steamUserEdit</tabstop> <tabstop>steamPassEdit</tabstop> - <tabstop>pluginsList</tabstop> <tabstop>pluginSettingsList</tabstop> <tabstop>pluginBlacklist</tabstop> <tabstop>appIDEdit</tabstop> 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 |
