diff options
author | mae <qt-info@nokia.com> | 2009-04-21 11:16:59 (GMT) |
---|---|---|
committer | Roberto Raggi <roberto.raggi@nokia.com> | 2009-04-24 08:05:49 (GMT) |
commit | 2fa9049ddf75a3c057fc5c881f9d9faad5ce6c29 (patch) | |
tree | b891f0de7b9a4d1769d748ab69117f538773880a /src/declarative/qml | |
parent | a44ae02e0e5b7949ad4643caf52fd04f56166b13 (diff) | |
download | Qt-2fa9049ddf75a3c057fc5c881f9d9faad5ce6c29.zip Qt-2fa9049ddf75a3c057fc5c881f9d9faad5ce6c29.tar.gz Qt-2fa9049ddf75a3c057fc5c881f9d9faad5ce6c29.tar.bz2 |
load foo.js for a foo.dui if it exists. This lets us use the import keyword for real modules. Fix qmlconv, also get rid of the function() for signal properties.
Diffstat (limited to 'src/declarative/qml')
-rw-r--r-- | src/declarative/qml/qmlscriptparser.cpp | 10 | ||||
-rw-r--r-- | src/declarative/qml/qmlscriptparser_p.h | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/declarative/qml/qmlscriptparser.cpp b/src/declarative/qml/qmlscriptparser.cpp index 950b357..6d49d3f 100644 --- a/src/declarative/qml/qmlscriptparser.cpp +++ b/src/declarative/qml/qmlscriptparser.cpp @@ -193,6 +193,16 @@ Object *ProcessAST::defineObjectBinding(int line, if (! _parser->tree()) { _parser->setTree(obj); + + if (!_parser->scriptFile().isEmpty()) { + _stateStack.pushObject(obj); + Object *scriptObject= defineObjectBinding(line, 0, QLatin1String("Script")); + _stateStack.pushObject(scriptObject); + defineProperty(QLatin1String("src"), line, _parser->scriptFile()); + _stateStack.pop(); // scriptObject + _stateStack.pop(); // object + } + } else { const State state = _stateStack.top(); Value *v = new Value; diff --git a/src/declarative/qml/qmlscriptparser_p.h b/src/declarative/qml/qmlscriptparser_p.h index b24662e..6c7c0f1 100644 --- a/src/declarative/qml/qmlscriptparser_p.h +++ b/src/declarative/qml/qmlscriptparser_p.h @@ -31,12 +31,16 @@ public: int findOrCreateTypeId(const QString &name); void setTree(QmlParser::Object *tree); + void setScriptFile(const QString &filename) {_scriptFile = filename; } + QString scriptFile() const { return _scriptFile; } + private: QMap<QString,QString> _nameSpacePaths; QmlParser::Object *root; QStringList _typeNames; QString _error; int _errorLine; + QString _scriptFile; }; QT_END_NAMESPACE |