summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativedom.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2010-03-02 00:47:10 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2010-03-02 00:47:10 (GMT)
commit2790cb59f6877c1027c833578b72e168c912758a (patch)
treeb626316b5801ba887b48e9fe71f811f4cf4ec581 /src/declarative/qml/qdeclarativedom.cpp
parentf800919c4336da77b73561cc5180fc167f61f435 (diff)
downloadQt-2790cb59f6877c1027c833578b72e168c912758a.zip
Qt-2790cb59f6877c1027c833578b72e168c912758a.tar.gz
Qt-2790cb59f6877c1027c833578b72e168c912758a.tar.bz2
Make "on" syntax mandatory for value sources and interceptors
Where you would have written x: NumberAnimation {} y: Behavior {} you now must write NumberAnimation on x {} Behavior on y {} This change also makes the parser more strict with respect to multiple assignments to a single property - they're no longer allowed. For example this x: 10 x: 11 is now an error.
Diffstat (limited to 'src/declarative/qml/qdeclarativedom.cpp')
-rw-r--r--src/declarative/qml/qdeclarativedom.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/declarative/qml/qdeclarativedom.cpp b/src/declarative/qml/qdeclarativedom.cpp
index 6c81f34..5b43109 100644
--- a/src/declarative/qml/qdeclarativedom.cpp
+++ b/src/declarative/qml/qdeclarativedom.cpp
@@ -374,7 +374,10 @@ QDeclarativeDomValue QDeclarativeDomProperty::value() const
QDeclarativeDomValue rv;
if (d->property) {
rv.d->property = d->property;
- rv.d->value = d->property->values.at(0);
+ if (d->property->values.count())
+ rv.d->value = d->property->values.at(0);
+ else
+ rv.d->value = d->property->onValues.at(0);
rv.d->property->addref();
rv.d->value->addref();
}
@@ -1346,7 +1349,7 @@ QDeclarativeDomValue::Type QDeclarativeDomValue::type() const
{
if (d->property)
if (QDeclarativeMetaType::isList(d->property->type) ||
- (d->property && d->property->values.count() > 1))
+ (d->property && (d->property->values.count() + d->property->onValues.count()) > 1))
return List;
QDeclarativeParser::Value *value = d->value;
@@ -1628,6 +1631,13 @@ QList<QDeclarativeDomValue> QDeclarativeDomList::values() const
rv << v;
}
+ for (int ii = 0; ii < d->property->onValues.count(); ++ii) {
+ QDeclarativeDomValue v;
+ v.d->value = d->property->onValues.at(ii);
+ v.d->value->addref();
+ rv << v;
+ }
+
return rv;
}