summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2009-10-26 04:51:50 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2009-10-26 04:51:50 (GMT)
commitcc29b52707a556a83a90d207d3c7796a6ce27616 (patch)
treeb3b03ab8f6fdb5fdd4d8cd38cb80b2456e8bd355 /src
parent5c8ff2a392478a74edf1aa1bc12236fea83bf89f (diff)
parentbace980199f6578ef453c57128fe7f0659bfeddf (diff)
downloadQt-cc29b52707a556a83a90d207d3c7796a6ce27616.zip
Qt-cc29b52707a556a83a90d207d3c7796a6ce27616.tar.gz
Qt-cc29b52707a556a83a90d207d3c7796a6ce27616.tar.bz2
Merge branch 'kinetic-declarativeui' of git@scm.dev.nokia.troll.no:qt/kinetic into kinetic-declarativeui
Diffstat (limited to 'src')
-rw-r--r--src/declarative/fx/qfxgridview.cpp5
-rw-r--r--src/declarative/fx/qfxitem.cpp2
-rw-r--r--src/declarative/fx/qfxlistview.cpp5
-rw-r--r--src/declarative/fx/qfxvisualitemmodel.cpp15
-rw-r--r--src/declarative/util/qmllistaccessor.cpp2
5 files changed, 16 insertions, 13 deletions
diff --git a/src/declarative/fx/qfxgridview.cpp b/src/declarative/fx/qfxgridview.cpp
index 36c06a4..0b2a935 100644
--- a/src/declarative/fx/qfxgridview.cpp
+++ b/src/declarative/fx/qfxgridview.cpp
@@ -736,14 +736,13 @@ QFxGridView::~QFxGridView()
\endcode
*/
-//XXX change to \qmlattachedsignal when it exists.
/*!
- \qmlattachedproperty void GridView::onAdd
+ \qmlattachedsignal GridView::onAdd()
This attached handler is called immediately after an item is added to the view.
*/
/*!
- \qmlattachedproperty void GridView::onRemove
+ \qmlattachedsignal GridView::onRemove()
This attached handler is called immediately before an item is removed from the view.
*/
diff --git a/src/declarative/fx/qfxitem.cpp b/src/declarative/fx/qfxitem.cpp
index 51575cc..9c668ac 100644
--- a/src/declarative/fx/qfxitem.cpp
+++ b/src/declarative/fx/qfxitem.cpp
@@ -1377,7 +1377,7 @@ QFxItem::~QFxItem()
\qml
Image {
source: "myimage.png"
- transformOrigin: "Center"
+ transformOrigin: Item.Center
scale: 4
}
\endqml
diff --git a/src/declarative/fx/qfxlistview.cpp b/src/declarative/fx/qfxlistview.cpp
index 23bf573..1a4a60c 100644
--- a/src/declarative/fx/qfxlistview.cpp
+++ b/src/declarative/fx/qfxlistview.cpp
@@ -926,14 +926,13 @@ QFxListView::~QFxListView()
\endcode
*/
-//XXX change to \qmlattachedsignal when it exists.
/*!
- \qmlattachedproperty void ListView::onAdd
+ \qmlattachedsignal ListView::onAdd()
This attached handler is called immediately after an item is added to the view.
*/
/*!
- \qmlattachedproperty void ListView::onRemove
+ \qmlattachedsignal ListView::onRemove()
This attached handler is called immediately before an item is removed from the view.
*/
diff --git a/src/declarative/fx/qfxvisualitemmodel.cpp b/src/declarative/fx/qfxvisualitemmodel.cpp
index a078da6..e1ac246 100644
--- a/src/declarative/fx/qfxvisualitemmodel.cpp
+++ b/src/declarative/fx/qfxvisualitemmodel.cpp
@@ -102,7 +102,7 @@ QHash<QObject*, QFxVisualItemModelAttached*> QFxVisualItemModelAttached::attache
class QFxVisualItemModelPrivate : public QObjectPrivate
{
- Q_DECLARE_PUBLIC(QFxVisualItemModel);
+ Q_DECLARE_PUBLIC(QFxVisualItemModel)
public:
QFxVisualItemModelPrivate() : QObjectPrivate(), children(this) {}
@@ -143,7 +143,7 @@ public:
\code
Item {
VisualItemModel {
- id: ItemModel
+ id: itemModel
Rectangle { height: 30; width: 80; color: "red" }
Rectangle { height: 30; width: 80; color: "green" }
Rectangle { height: 30; width: 80; color: "blue" }
@@ -151,7 +151,7 @@ public:
ListView {
anchors.fill: parent
- model: ItemModel
+ model: itemModel
}
}
\endcode
@@ -416,8 +416,13 @@ int QFxVisualDataModelDataMetaObject::createProperty(const char *name, const cha
if ((!model->m_listModelInterface || !model->m_abstractItemModel) && model->m_listAccessor) {
model->ensureRoles();
- if (model->m_roleNames.contains(QString::fromUtf8(name)))
+ if (model->m_roleNames.contains(QString::fromUtf8(name))) {
return QmlOpenMetaObject::createProperty(name, type);
+ } else if (model->m_listAccessor->type() == QmlListAccessor::QmlList) {
+ QObject *object = model->m_listAccessor->at(data->m_index).value<QObject*>();
+ if (object && object->property(name).isValid())
+ return QmlOpenMetaObject::createProperty(name, type);
+ }
} else {
model->ensureRoles();
QString sname = QString::fromUtf8(name);
@@ -448,7 +453,7 @@ QFxVisualDataModelDataMetaObject::propertyCreated(int, QMetaPropertyBuilder &pro
return model->m_listAccessor->at(data->m_index);
} else {
// return any property of a single object instance.
- QObject *object = model->m_listAccessor->at(0).value<QObject*>();
+ QObject *object = model->m_listAccessor->at(data->m_index).value<QObject*>();
return object->property(prop.name());
}
} else if (model->m_listModelInterface) {
diff --git a/src/declarative/util/qmllistaccessor.cpp b/src/declarative/util/qmllistaccessor.cpp
index 578646b..21007d6 100644
--- a/src/declarative/util/qmllistaccessor.cpp
+++ b/src/declarative/util/qmllistaccessor.cpp
@@ -136,7 +136,7 @@ QVariant QmlListAccessor::at(int idx) const
QmlPrivate::ListInterface *li = *(QmlPrivate::ListInterface **)d.constData();
void *ptr[1];
li->at(idx, ptr);
- return QmlMetaType::fromObject((QObject*)ptr[0], li->type()); //XXX only handles QObject-derived types
+ return QVariant::fromValue((QObject*)ptr[0]);
}
case QList:
return QmlMetaType::listAt(d, idx);