From 8555b1a1f20257ef0791110024e6a1502ccd630f Mon Sep 17 00:00:00 2001 From: blacksun Date: Sun, 22 May 2016 16:28:40 +0000 Subject: [PATCH] New element panel : Fix double insertion of item when drop an item in the embedded collection of project git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4500 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/ElementsCollection/elementscollectionmodel.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sources/ElementsCollection/elementscollectionmodel.cpp b/sources/ElementsCollection/elementscollectionmodel.cpp index 7b31c5c65..6f96eab6a 100644 --- a/sources/ElementsCollection/elementscollectionmodel.cpp +++ b/sources/ElementsCollection/elementscollectionmodel.cpp @@ -237,6 +237,11 @@ bool ElementsCollectionModel::dropMimeData(const QMimeData *data, Qt::DropAction m_parent_at_drop = parent; + //We temporarily disconnect for avoid double insertion of item + foreach (QETProject *project, m_project_list) + disconnect(project->embeddedElementCollection(), &XmlElementCollection::elementAdded, this, &ElementsCollectionModel::elementIntegratedToCollection); + + connect(eci, &ElementCollectionItem::beginInsertRows, this, &ElementsCollectionModel::bir); connect(eci, &ElementCollectionItem::endInsertRows, this, &ElementsCollectionModel::endInsertRows); connect(eci, &ElementCollectionItem::beginRemoveRows, this, &ElementsCollectionModel::brr); @@ -249,6 +254,9 @@ bool ElementsCollectionModel::dropMimeData(const QMimeData *data, Qt::DropAction disconnect(eci, &ElementCollectionItem::beginRemoveRows, this, &ElementsCollectionModel::brr); disconnect(eci, &ElementCollectionItem::endRemoveRows, this, &ElementsCollectionModel::endRemoveRows); + foreach(QETProject *project, m_project_list) + connect(project->embeddedElementCollection(), &XmlElementCollection::elementAdded, this, &ElementsCollectionModel::elementIntegratedToCollection); + m_parent_at_drop = QModelIndex(); return rb;