summaryrefslogtreecommitdiff
path: root/src/pluginlistview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/pluginlistview.cpp')
-rw-r--r--src/pluginlistview.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/pluginlistview.cpp b/src/pluginlistview.cpp
index 4bf91c0a..39db7163 100644
--- a/src/pluginlistview.cpp
+++ b/src/pluginlistview.cpp
@@ -150,9 +150,25 @@ void PluginListView::setup(OrganizerCore& core, MainWindow* mw, Ui::MainWindow*
sortByColumn(PluginList::COL_PRIORITY, Qt::AscendingOrder);
setItemDelegateForColumn(PluginList::COL_FLAGS, new GenericIconDelegate(this));
+ // counter
+ connect(core.pluginList(), &PluginList::writePluginsList, [=]() { updatePluginCount(); });
+ connect(core.pluginList(), &PluginList::esplist_changed, [=]() { updatePluginCount(); });
+
+ // filter
connect(ui.filter, &QLineEdit::textChanged, m_sortProxy, &PluginListSortProxy::updateFilter);
connect(ui.filter, &QLineEdit::textChanged, this, &PluginListView::onFilterChanged);
+ // highligth mod list when selected
+ connect(selectionModel(), &QItemSelectionModel::selectionChanged, [=](auto&& selected) {
+ std::vector<unsigned int> pluginIndices;
+ for (auto& idx : indexViewToModel(selectionModel()->selectedRows())) {
+ pluginIndices.push_back(idx.row());
+ }
+ m_core->modList()->highlightMods(pluginIndices, *m_core->directoryStructure());
+ mwui->modList->verticalScrollBar()->repaint();
+ mwui->modList->repaint();
+ });
+
// using a lambda here to avoid storing the mod list actions
connect(this, &QTreeView::customContextMenuRequested, [=](auto&& pos) { onCustomContextMenuRequested(pos); });
connect(this, &QTreeView::doubleClicked, [=](auto&& index) { onDoubleClicked(index); });