QmlModels: Rename QQmlInstantiator::instanceModel

It's called just "model" in other views.

Change-Id: I50ae0456d52b8751a4fb5f1fe3a18ba339ef2fd4
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
This commit is contained in:
Ulf Hermann 2025-09-10 15:37:27 +02:00
parent a97083d597
commit 1b5a84081d
2 changed files with 28 additions and 28 deletions

View File

@ -28,7 +28,7 @@ QQmlInstantiatorPrivate::QQmlInstantiatorPrivate()
void QQmlInstantiatorPrivate::clear() void QQmlInstantiatorPrivate::clear()
{ {
Q_Q(QQmlInstantiator); Q_Q(QQmlInstantiator);
if (!instanceModel) if (!model)
return; return;
if (objects.isEmpty()) if (objects.isEmpty())
@ -37,7 +37,7 @@ void QQmlInstantiatorPrivate::clear()
for (int i=0; i < objects.size(); i++) { for (int i=0; i < objects.size(); i++) {
QObject *object = objects[i]; QObject *object = objects[i];
emit q->objectRemoved(i, object); emit q->objectRemoved(i, object);
instanceModel->release(object); model->release(object);
if (object && object->parent() == q) if (object && object->parent() == q)
object->setParent(nullptr); object->setParent(nullptr);
} }
@ -49,7 +49,7 @@ void QQmlInstantiatorPrivate::clear()
QObject *QQmlInstantiatorPrivate::modelObject(int index, bool async) QObject *QQmlInstantiatorPrivate::modelObject(int index, bool async)
{ {
requestedIndex = index; requestedIndex = index;
QObject *o = instanceModel->object(index, async ? QQmlIncubator::Asynchronous : QQmlIncubator::AsynchronousIfNested); QObject *o = model->object(index, async ? QQmlIncubator::Asynchronous : QQmlIncubator::AsynchronousIfNested);
requestedIndex = -1; requestedIndex = -1;
return o; return o;
} }
@ -65,13 +65,13 @@ void QQmlInstantiatorPrivate::regenerate()
clear(); clear();
if (!active || !instanceModel || !instanceModel->count() || !instanceModel->isValid()) { if (!active || !model || !model->count() || !model->isValid()) {
if (prevCount) if (prevCount)
q->countChanged(); q->countChanged();
return; return;
} }
for (int i = 0; i < instanceModel->count(); i++) { for (int i = 0; i < model->count(); i++) {
QObject *object = modelObject(i, async); QObject *object = modelObject(i, async);
// If the item was already created we won't get a createdItem // If the item was already created we won't get a createdItem
if (object) if (object)
@ -87,17 +87,17 @@ void QQmlInstantiatorPrivate::_q_createdItem(int idx, QObject* item)
if (objects.contains(item)) //Case when it was created synchronously in regenerate if (objects.contains(item)) //Case when it was created synchronously in regenerate
return; return;
if (requestedIndex != idx) // Asynchronous creation, reference the object if (requestedIndex != idx) // Asynchronous creation, reference the object
(void)instanceModel->object(idx); (void)model->object(idx);
if (!item->parent()) if (!item->parent())
item->setParent(q); item->setParent(q);
if (objects.size() < idx + 1) { if (objects.size() < idx + 1) {
int modelCount = instanceModel->count(); int modelCount = model->count();
if (objects.capacity() < modelCount) if (objects.capacity() < modelCount)
objects.reserve(modelCount); objects.reserve(modelCount);
objects.resize(idx + 1); objects.resize(idx + 1);
} }
if (QObject *o = objects.at(idx)) if (QObject *o = objects.at(idx))
instanceModel->release(o); model->release(o);
objects.replace(idx, item); objects.replace(idx, item);
if (objects.size() == 1) if (objects.size() == 1)
q->objectChanged(); q->objectChanged();
@ -134,7 +134,7 @@ void QQmlInstantiatorPrivate::_q_modelUpdated(const QQmlChangeSet &changeSet, bo
objects.remove(index); objects.remove(index);
q->objectRemoved(index, obj); q->objectRemoved(index, obj);
if (obj) if (obj)
instanceModel->release(obj); model->release(obj);
} }
difference -= remove.count; difference -= remove.count;
@ -168,7 +168,7 @@ void QQmlInstantiatorPrivate::makeModel()
{ {
Q_Q(QQmlInstantiator); Q_Q(QQmlInstantiator);
QQmlDelegateModel* delegateModel = new QQmlDelegateModel(qmlContext(q), q); QQmlDelegateModel* delegateModel = new QQmlDelegateModel(qmlContext(q), q);
instanceModel = delegateModel; model = delegateModel;
ownModel = true; ownModel = true;
delegateModel->setDelegate(delegate); delegateModel->setDelegate(delegate);
delegateModel->setDelegateModelAccess(delegateModelAccess); delegateModel->setDelegateModelAccess(delegateModelAccess);
@ -206,7 +206,7 @@ QQmlInstantiator::~QQmlInstantiator()
{ {
Q_D(QQmlInstantiator); Q_D(QQmlInstantiator);
d->clear(); d->clear();
d->disconnectModel(d->instanceModel); d->disconnectModel(d->model);
} }
/*! /*!
@ -323,7 +323,7 @@ void QQmlInstantiator::setDelegate(QQmlComponent* c)
if (!d->ownModel) if (!d->ownModel)
return; return;
if (QQmlDelegateModel *dModel = qobject_cast<QQmlDelegateModel*>(d->instanceModel)) if (QQmlDelegateModel *dModel = qobject_cast<QQmlDelegateModel*>(d->model))
dModel->setDelegate(c); dModel->setDelegate(c);
if (d->componentComplete) if (d->componentComplete)
d->regenerate(); d->regenerate();
@ -354,10 +354,10 @@ QVariant QQmlInstantiator::model() const
Q_D(const QQmlInstantiator); Q_D(const QQmlInstantiator);
#if QT_CONFIG(qml_delegate_model) #if QT_CONFIG(qml_delegate_model)
if (!d->ownModel) if (!d->ownModel)
return QVariant::fromValue(d->instanceModel); return QVariant::fromValue(d->model);
return d->instanceModel return d->model
? static_cast<QQmlDelegateModel *>(d->instanceModel)->model() ? static_cast<QQmlDelegateModel *>(d->model)->model()
: QVariant(0); : QVariant(0);
#else #else
return QVariant::fromValue(d->instanceModel); return QVariant::fromValue(d->instanceModel);
@ -367,7 +367,7 @@ QVariant QQmlInstantiator::model() const
void QQmlInstantiator::setModel(const QVariant &v) void QQmlInstantiator::setModel(const QVariant &v)
{ {
Q_D(QQmlInstantiator); Q_D(QQmlInstantiator);
QQmlInstanceModel *prevModel = d->instanceModel; QQmlInstanceModel *prevModel = d->model;
#if QT_CONFIG(qml_delegate_model) #if QT_CONFIG(qml_delegate_model)
if (d->ownModel) { if (d->ownModel) {
@ -390,21 +390,21 @@ void QQmlInstantiator::setModel(const QVariant &v)
if (object && (vim = qobject_cast<QQmlInstanceModel *>(object))) { if (object && (vim = qobject_cast<QQmlInstanceModel *>(object))) {
#if QT_CONFIG(qml_delegate_model) #if QT_CONFIG(qml_delegate_model)
if (d->ownModel) { if (d->ownModel) {
delete d->instanceModel; delete d->model;
prevModel = nullptr; prevModel = nullptr;
d->ownModel = false; d->ownModel = false;
} }
#endif #endif
d->instanceModel = vim; d->model = vim;
#if QT_CONFIG(qml_delegate_model) #if QT_CONFIG(qml_delegate_model)
} else if (v == QVariant(0) && !d->instanceModel) { } else if (v == QVariant(0) && !d->model) {
// Optimization: If the model is initially 0, we don't even create an instance model. // Optimization: If the model is initially 0, we don't even create an instance model.
d->ownModel = true; d->ownModel = true;
} else { } else {
if (!d->ownModel || !d->instanceModel) if (!d->ownModel || !d->model)
d->makeModel(); d->makeModel();
if (QQmlDelegateModel *dataModel = qobject_cast<QQmlDelegateModel *>(d->instanceModel)) { if (QQmlDelegateModel *dataModel = qobject_cast<QQmlDelegateModel *>(d->model)) {
d->effectiveReset = true; d->effectiveReset = true;
dataModel->setModel(v); dataModel->setModel(v);
d->effectiveReset = false; d->effectiveReset = false;
@ -412,9 +412,9 @@ void QQmlInstantiator::setModel(const QVariant &v)
#endif #endif
} }
if (d->instanceModel != prevModel) { if (d->model != prevModel) {
d->disconnectModel(prevModel); d->disconnectModel(prevModel);
d->connectModel(d->instanceModel); d->connectModel(d->model);
} }
d->regenerate(); d->regenerate();
@ -447,7 +447,7 @@ void QQmlInstantiator::setDelegateModelAccess(
if (!d->ownModel) if (!d->ownModel)
return; return;
if (QQmlDelegateModel *dModel = qobject_cast<QQmlDelegateModel*>(d->instanceModel)) if (QQmlDelegateModel *dModel = qobject_cast<QQmlDelegateModel*>(d->model))
dModel->setDelegateModelAccess(delegateModelAccess); dModel->setDelegateModelAccess(delegateModelAccess);
if (d->componentComplete) if (d->componentComplete)
d->regenerate(); d->regenerate();
@ -499,20 +499,20 @@ void QQmlInstantiator::componentComplete()
d->componentComplete = true; d->componentComplete = true;
#if QT_CONFIG(qml_delegate_model) #if QT_CONFIG(qml_delegate_model)
if (!d->ownModel) { if (!d->ownModel) {
if (!d->instanceModel) if (!d->model)
setModel(QVariant(1)); setModel(QVariant(1));
else else
d->regenerate(); d->regenerate();
return; return;
} }
if (!d->instanceModel) if (!d->model)
return; // It's 0: Nothing to do return; // It's 0: Nothing to do
// Disregard any modelUpdated() triggered by componentComplete() and rather regenerate manually. // Disregard any modelUpdated() triggered by componentComplete() and rather regenerate manually.
// See also setModel(). // See also setModel().
d->effectiveReset = true; d->effectiveReset = true;
static_cast<QQmlDelegateModel*>(d->instanceModel)->componentComplete(); static_cast<QQmlDelegateModel*>(d->model)->componentComplete();
d->effectiveReset = false; d->effectiveReset = false;
#endif #endif

View File

@ -75,7 +75,7 @@ public:
QQmlDelegateModel::DelegateModelAccess delegateModelAccess = QQmlDelegateModel::Qt5ReadWrite; QQmlDelegateModel::DelegateModelAccess delegateModelAccess = QQmlDelegateModel::Qt5ReadWrite;
#endif #endif
int requestedIndex = -1; int requestedIndex = -1;
QQmlInstanceModel *instanceModel = nullptr; QQmlInstanceModel *model = nullptr;
QQmlComponent *delegate = nullptr; QQmlComponent *delegate = nullptr;
QVector<QPointer<QObject> > objects; QVector<QPointer<QObject> > objects;
}; };