aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items')
-rw-r--r--src/quick/items/qquickgridview.cpp1
-rw-r--r--src/quick/items/qquickitem.cpp1
-rw-r--r--src/quick/items/qquicklistview.cpp1
-rw-r--r--src/quick/items/qquickpathview.cpp1
-rw-r--r--src/quick/items/qquickrepeater.cpp1
-rw-r--r--src/quick/items/qquickvisualadaptormodel.cpp140
-rw-r--r--src/quick/items/qquickvisualadaptormodel_p.h8
-rw-r--r--src/quick/items/qquickvisualdatamodel.cpp8
-rw-r--r--src/quick/items/qquickvisualdatamodel_p.h4
9 files changed, 13 insertions, 152 deletions
diff --git a/src/quick/items/qquickgridview.cpp b/src/quick/items/qquickgridview.cpp
index 7ca22b9f52..8f330b9031 100644
--- a/src/quick/items/qquickgridview.cpp
+++ b/src/quick/items/qquickgridview.cpp
@@ -45,7 +45,6 @@
#include "qquickitemview_p_p.h"
#include <private/qquicksmoothedanimation_p_p.h>
-#include <private/qlistmodelinterface_p.h>
#include <QtGui/qevent.h>
#include <QtCore/qmath.h>
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
index d4eea2b227..fefddad4b6 100644
--- a/src/quick/items/qquickitem.cpp
+++ b/src/quick/items/qquickitem.cpp
@@ -64,7 +64,6 @@
#include <QtQuick/private/qquickstategroup_p.h>
#include <private/qqmlopenmetaobject_p.h>
#include <QtQuick/private/qquickstate_p.h>
-#include <private/qlistmodelinterface_p.h>
#include <private/qquickitem_p.h>
#include <private/qqmlaccessors_p.h>
#include <QtQuick/private/qquickaccessibleattached_p.h>
diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp
index 547b033400..18b994733e 100644
--- a/src/quick/items/qquicklistview.cpp
+++ b/src/quick/items/qquicklistview.cpp
@@ -51,7 +51,6 @@
#include <QtCore/qcoreapplication.h>
#include <private/qquicksmoothedanimation_p_p.h>
-#include <private/qlistmodelinterface_p.h>
#include "qplatformdefs.h"
QT_BEGIN_NAMESPACE
diff --git a/src/quick/items/qquickpathview.cpp b/src/quick/items/qquickpathview.cpp
index c4ee8bca6e..b5304c3361 100644
--- a/src/quick/items/qquickpathview.cpp
+++ b/src/quick/items/qquickpathview.cpp
@@ -46,7 +46,6 @@
#include <QtQuick/private/qquickstate_p.h>
#include <private/qqmlglobal_p.h>
#include <private/qqmlopenmetaobject_p.h>
-#include <private/qlistmodelinterface_p.h>
#include <private/qquickchangeset_p.h>
#include <QtGui/qevent.h>
diff --git a/src/quick/items/qquickrepeater.cpp b/src/quick/items/qquickrepeater.cpp
index 8ebdccf7d9..61b1392a91 100644
--- a/src/quick/items/qquickrepeater.cpp
+++ b/src/quick/items/qquickrepeater.cpp
@@ -45,7 +45,6 @@
#include <private/qqmlglobal_p.h>
#include <private/qquicklistaccessor_p.h>
-#include <private/qlistmodelinterface_p.h>
#include <private/qquickchangeset_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/quick/items/qquickvisualadaptormodel.cpp b/src/quick/items/qquickvisualadaptormodel.cpp
index f7cd3e2764..b17ab26373 100644
--- a/src/quick/items/qquickvisualadaptormodel.cpp
+++ b/src/quick/items/qquickvisualadaptormodel.cpp
@@ -153,7 +153,7 @@ public:
const QList<QQuickVisualDataModelItem *> &items,
int index,
int count,
- const QList<int> &roles) const
+ const QVector<int> &roles) const
{
bool changed = roles.isEmpty() && !watchedRoles.isEmpty();
if (!changed && !watchedRoles.isEmpty() && watchedRoleIds.isEmpty()) {
@@ -461,8 +461,8 @@ public:
vdm, SLOT(_q_rowsInserted(QModelIndex,int,int)));
QObject::disconnect(aim, SIGNAL(rowsRemoved(QModelIndex,int,int)),
vdm, SLOT(_q_rowsRemoved(QModelIndex,int,int)));
- QObject::disconnect(aim, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
- vdm, SLOT(_q_dataChanged(QModelIndex,QModelIndex)));
+ QObject::disconnect(aim, SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)),
+ vdm, SLOT(_q_dataChanged(QModelIndex,QModelIndex,QVector<int>)));
QObject::disconnect(aim, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)),
vdm, SLOT(_q_rowsMoved(QModelIndex,int,int,QModelIndex,int)));
QObject::disconnect(aim, SIGNAL(modelReset()),
@@ -553,123 +553,6 @@ public:
};
//-----------------------------------------------------------------
-// QListModelInterface
-//-----------------------------------------------------------------
-
-class QQuickVDMListModelInterfaceData : public QQuickVDMCachedModelData
-{
-public:
- QQuickVDMListModelInterfaceData(QQuickVisualDataModelItemMetaType *metaType, VDMModelDelegateDataType *dataType, int index)
- : QQuickVDMCachedModelData(metaType, dataType, index)
- {
- }
-
- QVariant value(int role) const
- {
- return type->model->lmi()->data(index, role);
- }
-
- void setValue(int, const QVariant &) {}
-
- v8::Handle<v8::Value> get()
- {
- if (type->constructor.IsEmpty()) {
- v8::HandleScope handleScope;
- v8::Context::Scope contextScope(engine->context());
- type->initializeConstructor(engineData(engine));
- }
- v8::Local<v8::Object> data = type->constructor->NewInstance();
- data->SetExternalResource(this);
- ++scriptRef;
- return data;
- }
-};
-
-class VDMListModelInterfaceDataType : public VDMModelDelegateDataType
-{
-public:
- VDMListModelInterfaceDataType(QQuickVisualAdaptorModel *model)
- : VDMModelDelegateDataType(model)
- {
- }
-
- int count(const QQuickVisualAdaptorModel &model) const
- {
- return model.lmi()->count();
- }
-
- void cleanup(QQuickVisualAdaptorModel &model, QQuickVisualDataModel *vdm) const
- {
- QListModelInterface *lmi = model.lmi();
- if (lmi && vdm) {
- QObject::disconnect(lmi, SIGNAL(itemsChanged(int,int,QList<int>)),
- vdm, SLOT(_q_itemsChanged(int,int,QList<int>)));
- QObject::disconnect(lmi, SIGNAL(itemsInserted(int,int)),
- vdm, SLOT(_q_itemsInserted(int,int)));
- QObject::disconnect(lmi, SIGNAL(itemsRemoved(int,int)),
- vdm, SLOT(_q_itemsRemoved(int,int)));
- QObject::disconnect(lmi, SIGNAL(itemsMoved(int,int,int)),
- vdm, SLOT(_q_itemsMoved(int,int,int)));
- }
- const_cast<VDMListModelInterfaceDataType *>(this)->release();
- }
-
- QVariant value(const QQuickVisualAdaptorModel &model, int index, const QString &role) const
- {
- QHash<QByteArray, int>::const_iterator it = roleNames.find(role.toUtf8());
- return it != roleNames.end() && model
- ? model.lmi()->data(index, *it)
- : QVariant();
- }
-
- QQuickVisualDataModelItem *createItem(
- QQuickVisualAdaptorModel &model,
- QQuickVisualDataModelItemMetaType *metaType,
- QQmlEngine *engine,
- int index) const
- {
- VDMListModelInterfaceDataType *dataType = const_cast<VDMListModelInterfaceDataType *>(this);
- if (!metaObject)
- dataType->initializeMetaType(model, engine);
- return new QQuickVDMListModelInterfaceData(metaType, dataType, index);
- }
-
- void initializeMetaType(QQuickVisualAdaptorModel &model, QQmlEngine *engine)
- {
- QMetaObjectBuilder builder;
- setModelDataType<QQuickVDMListModelInterfaceData>(&builder, this);
-
- const QByteArray propertyType = QByteArrayLiteral("QVariant");
-
- const QListModelInterface * const listModelInterface = model.lmi();
- const QList<int> roles = listModelInterface->roles();
- for (int propertyId = 0; propertyId < roles.count(); ++propertyId) {
- const int role = roles.at(propertyId);
- const QString roleName = listModelInterface->toString(role);
- const QByteArray propertyName = roleName.toUtf8();
-
- propertyRoles.append(role);
- roleNames.insert(propertyName, role);
- addProperty(&builder, propertyId, propertyName, propertyType);
-
- }
- if (propertyRoles.count() == 1) {
- hasModelData = true;
- const int role = roles.first();
- const QByteArray propertyName = QByteArrayLiteral("modelData");
-
- propertyRoles.append(role);
- roleNames.insert(propertyName, role);
- addProperty(&builder, 1, propertyName, propertyType);
- }
-
- metaObject = builder.toMetaObject();
- *static_cast<QMetaObject *>(this) = *metaObject;
- propertyCache = new QQmlPropertyCache(engine, metaObject);
- }
-};
-
-//-----------------------------------------------------------------
// QQuickListAccessor
//-----------------------------------------------------------------
@@ -1015,25 +898,14 @@ void QQuickVisualAdaptorModel::setModel(const QVariant &variant, QQuickVisualDat
vdm, QQuickVisualDataModel, SLOT(_q_rowsInserted(QModelIndex,int,int)));
qmlobject_connect(model, QAbstractItemModel, SIGNAL(rowsRemoved(QModelIndex,int,int)),
vdm, QQuickVisualDataModel, SLOT(_q_rowsRemoved(QModelIndex,int,int)));
- qmlobject_connect(model, QAbstractItemModel, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
- vdm, QQuickVisualDataModel, SLOT(_q_dataChanged(QModelIndex,QModelIndex)));
+ qmlobject_connect(model, QAbstractItemModel, SIGNAL(dataChanged(QModelIndex,QModelIndex,QVector<int>)),
+ vdm, QQuickVisualDataModel, SLOT(_q_dataChanged(QModelIndex,QModelIndex,QVector<int>)));
qmlobject_connect(model, QAbstractItemModel, SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)),
vdm, QQuickVisualDataModel, SLOT(_q_rowsMoved(QModelIndex,int,int,QModelIndex,int)));
qmlobject_connect(model, QAbstractItemModel, SIGNAL(modelReset()),
vdm, QQuickVisualDataModel, SLOT(_q_modelReset()));
qmlobject_connect(model, QAbstractItemModel, SIGNAL(layoutChanged()),
vdm, QQuickVisualDataModel, SLOT(_q_layoutChanged()));
- } else if (QListModelInterface *model = qobject_cast<QListModelInterface *>(object)) {
- accessors = new VDMListModelInterfaceDataType(this);
-
- qmlobject_connect(model, QListModelInterface, SIGNAL(itemsChanged(int,int,QList<int>)),
- vdm, QQuickVisualDataModel, SLOT(_q_itemsChanged(int,int,QList<int>)));
- qmlobject_connect(model, QListModelInterface, SIGNAL(itemsInserted(int,int)),
- vdm, QQuickVisualDataModel, SLOT(_q_itemsInserted(int,int)));
- qmlobject_connect(model, QListModelInterface, SIGNAL(itemsRemoved(int,int)),
- vdm, QQuickVisualDataModel, SLOT(_q_itemsRemoved(int,int)));
- qmlobject_connect(model, QListModelInterface, SIGNAL(itemsMoved(int,int,int)),
- vdm, QQuickVisualDataModel, SLOT(_q_itemsMoved(int,int,int)));
} else {
accessors = new VDMObjectDelegateDataType;
}
@@ -1080,6 +952,4 @@ QQuickVisualAdaptorModelEngineData::~QQuickVisualAdaptorModelEngineData()
QT_END_NAMESPACE
-QML_DECLARE_TYPE(QListModelInterface)
-
#include <qquickvisualadaptormodel.moc>
diff --git a/src/quick/items/qquickvisualadaptormodel_p.h b/src/quick/items/qquickvisualadaptormodel_p.h
index 5176921a51..d1b66a9963 100644
--- a/src/quick/items/qquickvisualadaptormodel_p.h
+++ b/src/quick/items/qquickvisualadaptormodel_p.h
@@ -44,7 +44,6 @@
#include <QtCore/qabstractitemmodel.h>
-#include "private/qlistmodelinterface_p.h"
#include "private/qquicklistaccessor_p.h"
#include <private/qqmlguard_p.h>
@@ -83,7 +82,7 @@ public:
const QList<QQuickVisualDataModelItem *> &,
int,
int,
- const QList<int> &) const { return false; }
+ const QVector<int> &) const { return false; }
virtual void replaceWatchedRoles(
QQuickVisualAdaptorModel &,
const QList<QByteArray> &,
@@ -109,9 +108,6 @@ public:
inline QAbstractItemModel *aim() { return static_cast<QAbstractItemModel *>(object()); }
inline const QAbstractItemModel *aim() const { return static_cast<const QAbstractItemModel *>(object()); }
- inline QListModelInterface *lmi() { return static_cast<QListModelInterface *>(object()); }
- inline const QListModelInterface *lmi() const { return static_cast<const QListModelInterface *>(object()); }
-
inline int count() const { return qMax(0, accessors->count(*this)); }
inline QVariant value(int index, const QString &role) const {
return accessors->value(*this, index, role); }
@@ -124,7 +120,7 @@ public:
const QList<QQuickVisualDataModelItem *> &items,
int index,
int count,
- const QList<int> &roles) const {
+ const QVector<int> &roles) const {
return accessors->notify(*this, items, index, count, roles); }
inline void replaceWatchedRoles(
const QList<QByteArray> &oldRoles, const QList<QByteArray> &newRoles) {
diff --git a/src/quick/items/qquickvisualdatamodel.cpp b/src/quick/items/qquickvisualdatamodel.cpp
index 728240d712..63b4d58b6d 100644
--- a/src/quick/items/qquickvisualdatamodel.cpp
+++ b/src/quick/items/qquickvisualdatamodel.cpp
@@ -1060,7 +1060,7 @@ void QQuickVisualDataModelPrivate::itemsChanged(const QVector<Compositor::Change
QQuickVisualDataGroupPrivate::get(m_groups[i])->changeSet.apply(translatedChanges.at(i));
}
-void QQuickVisualDataModel::_q_itemsChanged(int index, int count, const QList<int> &roles)
+void QQuickVisualDataModel::_q_itemsChanged(int index, int count, const QVector<int> &roles)
{
Q_D(QQuickVisualDataModel);
if (count <= 0 || !d->m_complete)
@@ -1454,17 +1454,17 @@ void QQuickVisualDataModel::_q_rowsMoved(
}
}
-void QQuickVisualDataModel::_q_dataChanged(const QModelIndex &begin, const QModelIndex &end)
+void QQuickVisualDataModel::_q_dataChanged(const QModelIndex &begin, const QModelIndex &end, const QVector<int> &roles)
{
Q_D(QQuickVisualDataModel);
if (begin.parent() == d->m_adaptorModel.rootIndex)
- _q_itemsChanged(begin.row(), end.row() - begin.row() + 1, QList<int>());
+ _q_itemsChanged(begin.row(), end.row() - begin.row() + 1, roles);
}
void QQuickVisualDataModel::_q_layoutChanged()
{
Q_D(QQuickVisualDataModel);
- _q_itemsChanged(0, d->m_count, QList<int>());
+ _q_itemsChanged(0, d->m_count, QVector<int>());
}
QQuickVisualDataModelAttached *QQuickVisualDataModel::qmlAttachedProperties(QObject *obj)
diff --git a/src/quick/items/qquickvisualdatamodel_p.h b/src/quick/items/qquickvisualdatamodel_p.h
index 38939b64ab..fc29336d6c 100644
--- a/src/quick/items/qquickvisualdatamodel_p.h
+++ b/src/quick/items/qquickvisualdatamodel_p.h
@@ -131,7 +131,7 @@ Q_SIGNALS:
void rootIndexChanged();
private Q_SLOTS:
- void _q_itemsChanged(int index, int count, const QList<int> &roles);
+ void _q_itemsChanged(int index, int count, const QVector<int> &roles);
void _q_itemsInserted(int index, int count);
void _q_itemsRemoved(int index, int count);
void _q_itemsMoved(int from, int to, int count);
@@ -139,7 +139,7 @@ private Q_SLOTS:
void _q_rowsInserted(const QModelIndex &,int,int);
void _q_rowsRemoved(const QModelIndex &,int,int);
void _q_rowsMoved(const QModelIndex &, int, int, const QModelIndex &, int);
- void _q_dataChanged(const QModelIndex&,const QModelIndex&);
+ void _q_dataChanged(const QModelIndex&,const QModelIndex&,const QVector<int> &);
void _q_layoutChanged();
private: