summaryrefslogtreecommitdiff
path: root/src/modlistbypriorityproxy.cpp
diff options
context:
space:
mode:
authorMikaël Capelle <capelle.mikael@gmail.com>2021-01-04 19:06:43 +0100
committerMikaël Capelle <capelle.mikael@gmail.com>2021-01-04 19:06:43 +0100
commit85cd33715723f294abeeb8a0f3f77c0de27f6a37 (patch)
treed290cb566abb0a3c238b85bf402d184480f9e17d /src/modlistbypriorityproxy.cpp
parent7d53976ecc7c289ec44b8740a57758c6132aa6a9 (diff)
Disable proxies when they are not used.
Diffstat (limited to 'src/modlistbypriorityproxy.cpp')
-rw-r--r--src/modlistbypriorityproxy.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/modlistbypriorityproxy.cpp b/src/modlistbypriorityproxy.cpp
index 749991d0..bf3c2d09 100644
--- a/src/modlistbypriorityproxy.cpp
+++ b/src/modlistbypriorityproxy.cpp
@@ -18,12 +18,15 @@ ModListByPriorityProxy::~ModListByPriorityProxy()
void ModListByPriorityProxy::setSourceModel(QAbstractItemModel* model)
{
+ if (sourceModel()) {
+ disconnect(sourceModel(), nullptr, this, nullptr);
+ }
+
QAbstractProxyModel::setSourceModel(model);
if (sourceModel()) {
- m_CollapsedItems.clear();
- connect(sourceModel(), &QAbstractItemModel::layoutChanged, this, [this]() { buildTree(); }, Qt::UniqueConnection);
- connect(sourceModel(), &QAbstractItemModel::rowsRemoved, this, [this]() { buildTree(); }, Qt::UniqueConnection);
+ connect(sourceModel(), &QAbstractItemModel::layoutChanged, this, &ModListByPriorityProxy::buildTree, Qt::UniqueConnection);
+ connect(sourceModel(), &QAbstractItemModel::rowsRemoved, this, &ModListByPriorityProxy::buildTree, Qt::UniqueConnection);
connect(sourceModel(), &QAbstractItemModel::modelReset, this, &ModListByPriorityProxy::buildTree, Qt::UniqueConnection);
connect(sourceModel(), &QAbstractItemModel::dataChanged, this, &ModListByPriorityProxy::modelDataChanged, Qt::UniqueConnection);
refresh();