diff --git a/src/QmlControls/QmlObjectListModel.cc b/src/QmlControls/QmlObjectListModel.cc index 21a5ed72e0b845f3c0f40ba03a4da3ecc6c7a3a8..86db3ba9f71a2bdfaa38aa81611835bdc20d0ea3 100644 --- a/src/QmlControls/QmlObjectListModel.cc +++ b/src/QmlControls/QmlObjectListModel.cc @@ -220,3 +220,11 @@ void QmlObjectListModel::_childDirtyChanged(bool dirty) // signal to know when a child has changed dirty state emit dirtyChanged(_dirty); } + +void QmlObjectListModel::deleteListAndContents(void) +{ + for (int i=0; i<_objectList.count(); i++) { + _objectList[i]->deleteLater(); + } + deleteLater(); +} diff --git a/src/QmlControls/QmlObjectListModel.h b/src/QmlControls/QmlObjectListModel.h index 8e64d0f49b167ddf07254f3935f36721783c7576..9a5d4f60f458fe05654d4aa8cf1e1fef2399e116 100644 --- a/src/QmlControls/QmlObjectListModel.h +++ b/src/QmlControls/QmlObjectListModel.h @@ -60,6 +60,9 @@ public: int indexOf(QObject* object) { return _objectList.indexOf(object); } template T value(int index) { return qobject_cast(_objectList[index]); } + /// Calls deleteLater on all items and this itself. + void deleteListAndContents(void); + signals: void countChanged(int count); void dirtyChanged(bool dirtyChanged);