aboutsummaryrefslogtreecommitdiffstats
path: root/src/qmlmodels
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2021-03-05 11:30:18 +0100
committerFabian Kosmale <fabian.kosmale@qt.io>2021-03-05 15:54:53 +0100
commit483d09779c2719415c5ac421074a1af3bd66ca29 (patch)
treefcf1597fcd7401931100a925652c1e311c0d8396 /src/qmlmodels
parenta7deb047d14170cf16160c748150471456e04af4 (diff)
Remove QQmlEnginePrivate::isQObject
The only caller has a QMetaType available and can query that one. This leads to subsequent cleanups in QQmlListAccessor::setList and QQmlAdaptorModel::setModel which now no longer have a need to pass the QQmlEngine along. Task-number: QTBUG-82931 Change-Id: I6f38892a3a5098f07bc21f4eebcca82cf52a6838 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qmlmodels')
-rw-r--r--src/qmlmodels/qqmladaptormodel.cpp6
-rw-r--r--src/qmlmodels/qqmladaptormodel_p.h2
-rw-r--r--src/qmlmodels/qqmldelegatemodel.cpp4
-rw-r--r--src/qmlmodels/qqmllistaccessor.cpp8
-rw-r--r--src/qmlmodels/qqmllistaccessor_p.h2
-rw-r--r--src/qmlmodels/qqmltableinstancemodel.cpp2
6 files changed, 10 insertions, 14 deletions
diff --git a/src/qmlmodels/qqmladaptormodel.cpp b/src/qmlmodels/qqmladaptormodel.cpp
index 83861d8526..4736101252 100644
--- a/src/qmlmodels/qqmladaptormodel.cpp
+++ b/src/qmlmodels/qqmladaptormodel.cpp
@@ -962,11 +962,11 @@ QQmlAdaptorModel::~QQmlAdaptorModel()
accessors->cleanup(*this);
}
-void QQmlAdaptorModel::setModel(const QVariant &variant, QObject *parent, QQmlEngine *engine)
+void QQmlAdaptorModel::setModel(const QVariant &variant, QObject *parent)
{
accessors->cleanup(*this);
- list.setList(variant, engine);
+ list.setList(variant);
if (QObject *object = qvariant_cast<QObject *>(list.list())) {
setObject(object, parent);
@@ -1042,7 +1042,7 @@ void QQmlAdaptorModel::useImportVersion(QTypeRevision revision)
void QQmlAdaptorModel::objectDestroyed(QObject *)
{
- setModel(QVariant(), nullptr, nullptr);
+ setModel(QVariant(), nullptr);
}
QQmlAdaptorModelEngineData::QQmlAdaptorModelEngineData(QV4::ExecutionEngine *v4)
diff --git a/src/qmlmodels/qqmladaptormodel_p.h b/src/qmlmodels/qqmladaptormodel_p.h
index 2c90ffc1d1..531e8d9105 100644
--- a/src/qmlmodels/qqmladaptormodel_p.h
+++ b/src/qmlmodels/qqmladaptormodel_p.h
@@ -121,7 +121,7 @@ public:
~QQmlAdaptorModel();
inline QVariant model() const { return list.list(); }
- void setModel(const QVariant &variant, QObject *parent, QQmlEngine *engine);
+ void setModel(const QVariant &variant, QObject *parent);
void invalidateModel();
bool isValid() const;
diff --git a/src/qmlmodels/qqmldelegatemodel.cpp b/src/qmlmodels/qqmldelegatemodel.cpp
index 838a0e18e2..78a80ef739 100644
--- a/src/qmlmodels/qqmldelegatemodel.cpp
+++ b/src/qmlmodels/qqmldelegatemodel.cpp
@@ -431,7 +431,7 @@ void QQmlDelegateModel::setModel(const QVariant &model)
_q_itemsRemoved(0, d->m_count);
d->disconnectFromAbstractItemModel();
- d->m_adaptorModel.setModel(model, this, d->m_context->engine());
+ d->m_adaptorModel.setModel(model, this);
d->connectToAbstractItemModel();
d->m_adaptorModel.replaceWatchedRoles(QList<QByteArray>(), d->m_watchedRoles);
@@ -538,7 +538,7 @@ void QQmlDelegateModel::setRootIndex(const QVariant &root)
if (!d->m_adaptorModel.isValid() && d->m_adaptorModel.aim()) {
// The previous root index was invalidated, so we need to reconnect the model.
d->disconnectFromAbstractItemModel();
- d->m_adaptorModel.setModel(d->m_adaptorModel.list.list(), this, d->m_context->engine());
+ d->m_adaptorModel.setModel(d->m_adaptorModel.list.list(), this);
d->connectToAbstractItemModel();
}
if (d->m_adaptorModel.canFetchMore())
diff --git a/src/qmlmodels/qqmllistaccessor.cpp b/src/qmlmodels/qqmllistaccessor.cpp
index 1e67d03f74..60b91a23c9 100644
--- a/src/qmlmodels/qqmllistaccessor.cpp
+++ b/src/qmlmodels/qqmllistaccessor.cpp
@@ -63,7 +63,7 @@ QVariant QQmlListAccessor::list() const
return d;
}
-void QQmlListAccessor::setList(const QVariant &v, QQmlEngine *engine)
+void QQmlListAccessor::setList(const QVariant &v)
{
d = v;
@@ -71,9 +71,6 @@ void QQmlListAccessor::setList(const QVariant &v, QQmlEngine *engine)
// convert it first with toVariant().
if (d.userType() == qMetaTypeId<QJSValue>())
d = d.value<QJSValue>().toVariant();
-
- QQmlEnginePrivate *enginePrivate = engine?QQmlEnginePrivate::get(engine):nullptr;
-
if (!d.isValid()) {
m_type = Invalid;
} else if (d.userType() == QMetaType::QStringList) {
@@ -103,8 +100,7 @@ void QQmlListAccessor::setList(const QVariant &v, QQmlEngine *engine)
} else {
m_type = Integer;
}
- } else if ((!enginePrivate && QQmlMetaType::isQObject(d.userType())) ||
- (enginePrivate && enginePrivate->isQObject(d.userType()))) {
+ } else if (d.metaType().flags().testFlag(QMetaType::PointerToQObject)) {
QObject *data = QQmlMetaType::toQObject(d);
d = QVariant::fromValue(data);
m_type = Instance;
diff --git a/src/qmlmodels/qqmllistaccessor_p.h b/src/qmlmodels/qqmllistaccessor_p.h
index 3306396b00..0cd13aa3b2 100644
--- a/src/qmlmodels/qqmllistaccessor_p.h
+++ b/src/qmlmodels/qqmllistaccessor_p.h
@@ -63,7 +63,7 @@ public:
~QQmlListAccessor();
QVariant list() const;
- void setList(const QVariant &, QQmlEngine * = nullptr);
+ void setList(const QVariant &);
bool isValid() const;
diff --git a/src/qmlmodels/qqmltableinstancemodel.cpp b/src/qmlmodels/qqmltableinstancemodel.cpp
index 0b9b951633..5c30a8eb24 100644
--- a/src/qmlmodels/qqmltableinstancemodel.cpp
+++ b/src/qmlmodels/qqmltableinstancemodel.cpp
@@ -433,7 +433,7 @@ void QQmlTableInstanceModel::setModel(const QVariant &model)
drainReusableItemsPool(0);
if (auto const aim = abstractItemModel())
disconnect(aim, &QAbstractItemModel::dataChanged, this, &QQmlTableInstanceModel::dataChangedCallback);
- m_adaptorModel.setModel(model, this, m_qmlContext->engine());
+ m_adaptorModel.setModel(model, this);
if (auto const aim = abstractItemModel())
connect(aim, &QAbstractItemModel::dataChanged, this, &QQmlTableInstanceModel::dataChangedCallback);
}