QmlJS.propertyReader: check for bindings in gradients

This commit is contained in:
Thomas Hartmann
2010-07-21 12:57:11 +02:00
parent 50875ff0da
commit 4b863d554e
2 changed files with 6 additions and 2 deletions

View File

@@ -239,11 +239,13 @@ PropertyReader::PropertyReader(Document::Ptr doc, AST::UiObjectInitializer *ast)
}
}
QLinearGradient PropertyReader::parseGradient(const QString &propertyName) const
QLinearGradient PropertyReader::parseGradient(const QString &propertyName, bool *isBound) const
{
if (!m_doc)
return QLinearGradient();
*isBound = false;
for (UiObjectMemberList *members = m_ast->members; members; members = members->next) {
UiObjectMember *member = members->member;
@@ -265,6 +267,8 @@ QLinearGradient PropertyReader::parseGradient(const QString &propertyName) const
if (localParser.hasProperty("color") && localParser.hasProperty("position")) {
QColor color = localParser.readProperty("color").value<QColor>();
qreal position = localParser.readProperty("position").toReal();
if (localParser.isBindingOrEnum("color") || localParser.isBindingOrEnum("position"))
*isBound = true;
stops.append( QPair<qreal, QColor>(position, color));
}
}