From b669753da0d0432fdf42708abc72eba9073a88de Mon Sep 17 00:00:00 2001 From: Nate Weibley Date: Thu, 16 Jun 2016 16:25:07 -0400 Subject: [PATCH] Add QmlObjectListModel method to replace an entire model's data in one step --- src/QmlControls/QmlObjectListModel.cc | 9 +++++++++ src/QmlControls/QmlObjectListModel.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/QmlControls/QmlObjectListModel.cc b/src/QmlControls/QmlObjectListModel.cc index df6c89daf..3d14e8f03 100644 --- a/src/QmlControls/QmlObjectListModel.cc +++ b/src/QmlControls/QmlObjectListModel.cc @@ -179,6 +179,15 @@ void QmlObjectListModel::append(QObject* object) insert(_objectList.count(), object); } +QObjectList QmlObjectListModel::swapObjectList(QObjectList newlist) +{ + QObjectList oldlist(_objectList); + beginResetModel(); + _objectList = newlist; + endResetModel(); + return oldlist; +} + int QmlObjectListModel::count(void) const { return rowCount(); diff --git a/src/QmlControls/QmlObjectListModel.h b/src/QmlControls/QmlObjectListModel.h index 3e21e2745..0adcb3fd1 100644 --- a/src/QmlControls/QmlObjectListModel.h +++ b/src/QmlControls/QmlObjectListModel.h @@ -37,6 +37,7 @@ public: void setDirty(bool dirty); void append(QObject* object); + QObjectList swapObjectList(QObjectList newlist); void clear(void); QObject* removeAt(int i); QObject* removeOne(QObject* object) { return removeAt(indexOf(object)); } -- 2.22.0