From 6e75d21f8470d39bfc41710e4bf983aa0e8ff7eb Mon Sep 17 00:00:00 2001 From: Ali Kianian Date: Thu, 21 Dec 2023 15:55:32 +0200 Subject: [PATCH] QmlDesigner: Fix lambda unique connections for CollectionSourceModel Fixes: QDS-11572 Change-Id: I25f3cbd8b6f806c347102ddea3855c23b30bf8f9 Reviewed-by: Shrief Gabr Reviewed-by: Miikka Heikkinen --- .../collectionsourcemodel.cpp | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/plugins/qmldesigner/components/collectioneditor/collectionsourcemodel.cpp b/src/plugins/qmldesigner/components/collectioneditor/collectionsourcemodel.cpp index 5c4de3e4388..0c57f18778a 100644 --- a/src/plugins/qmldesigner/components/collectioneditor/collectionsourcemodel.cpp +++ b/src/plugins/qmldesigner/components/collectioneditor/collectionsourcemodel.cpp @@ -646,20 +646,28 @@ void CollectionSourceModel::registerCollection(const QSharedPointerproperty("_is_registered_in_sourceModel").toBool()) { + collectionList->setProperty("_is_registered_in_sourceModel", true); - connect(collectionList, &CollectionListModel::collectionNameChanged, this, - [this, collectionList](const QString &oldName, const QString &newName) { - onCollectionNameChanged(collectionList, oldName, newName); - }, Qt::UniqueConnection); + connect(collectionList, + &CollectionListModel::selectedIndexChanged, + this, + [this, collectionList](int idx) { onSelectedCollectionChanged(collectionList, idx); }); - connect(collectionList, &CollectionListModel::collectionsRemoved, this, - [this, collectionList](const QStringList &removedCollections) { - onCollectionsRemoved(collectionList, removedCollections); - }, Qt::UniqueConnection); + connect(collectionList, + &CollectionListModel::collectionNameChanged, + this, + [this, collectionList](const QString &oldName, const QString &newName) { + onCollectionNameChanged(collectionList, oldName, newName); + }); + + connect(collectionList, + &CollectionListModel::collectionsRemoved, + this, + [this, collectionList](const QStringList &removedCollections) { + onCollectionsRemoved(collectionList, removedCollections); + }); + } if (collectionList->sourceNode().isValid()) emit collectionNamesInitialized(collection->stringList());