diff options
author | Warwick Allison <warwick.allison@nokia.com> | 2009-06-10 04:57:51 (GMT) |
---|---|---|
committer | Warwick Allison <warwick.allison@nokia.com> | 2009-06-10 04:57:51 (GMT) |
commit | 4dc4cfac667389efda4a43df5ff8cfa4ba305a2f (patch) | |
tree | 5c937ab2e510edb7a359b225132544d938a884a9 /src/declarative/qml/qmlcompiler.cpp | |
parent | 29496148abe8506fbf50c99e9a210095c5115a14 (diff) | |
download | Qt-4dc4cfac667389efda4a43df5ff8cfa4ba305a2f.zip Qt-4dc4cfac667389efda4a43df5ff8cfa4ba305a2f.tar.gz Qt-4dc4cfac667389efda4a43df5ff8cfa4ba305a2f.tar.bz2 |
Support URLs directly (not just as strings), so they are correctly resolved.
URLs expressed as strings (possible relative) are resolved relative to
the component in which the string expression is converted to a url value.
All items are converted to use QUrl properties, except SqlConnection, where
the databasename is only a special-case URL (this may need further consideration).
Diffstat (limited to 'src/declarative/qml/qmlcompiler.cpp')
-rw-r--r-- | src/declarative/qml/qmlcompiler.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/declarative/qml/qmlcompiler.cpp b/src/declarative/qml/qmlcompiler.cpp index b28d7dd..8b4be2b 100644 --- a/src/declarative/qml/qmlcompiler.cpp +++ b/src/declarative/qml/qmlcompiler.cpp @@ -278,6 +278,14 @@ bool QmlCompiler::compileStoreInstruction(QmlInstruction &instr, instr.storeString.value = output->indexForString(string); } break; + case QVariant::Url: + { + instr.type = QmlInstruction::StoreUrl; + QUrl u = output->url.resolved(string); + instr.storeUrl.propertyIndex = prop.propertyIndex(); + instr.storeUrl.value = output->indexForString(u.toString()); + } + break; case QVariant::UInt: { instr.type = QmlInstruction::StoreInteger; @@ -1355,6 +1363,9 @@ bool QmlCompiler::compileDynamicMeta(QmlParser::Object *obj) case Object::DynamicProperty::String: type = "QString"; break; + case Object::DynamicProperty::Url: + type = "QUrl"; + break; case Object::DynamicProperty::Color: type = "QColor"; break; |