diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2011-02-09 15:02:31 (GMT) |
---|---|---|
committer | Kai Koehne <kai.koehne@nokia.com> | 2011-05-12 09:55:12 (GMT) |
commit | 7e7be3e5a0441671cdaa9242f6f05871189d0ded (patch) | |
tree | 16dbf550a981392c8147587ab4bd1f6ee59ff05a /src | |
parent | 5e4d1adbbf3107c04d4238b8396e0380258cc161 (diff) | |
download | Qt-7e7be3e5a0441671cdaa9242f6f05871189d0ded.zip Qt-7e7be3e5a0441671cdaa9242f6f05871189d0ded.tar.gz Qt-7e7be3e5a0441671cdaa9242f6f05871189d0ded.tar.bz2 |
Allow 'typeinfo <file>' lines in qmldir.
Also add documentation for that change.
Reviewed-by: Aaron Kennedy
Change-Id: Ifae395bc9b6699c03f9879dcb5407d23a4caab85
(cherry picked from b9839fc1e0e1d98911aef5149a58dd4bdacd8bc1)
Diffstat (limited to 'src')
-rw-r--r-- | src/declarative/qml/qdeclarativedirparser.cpp | 17 | ||||
-rw-r--r-- | src/declarative/qml/qdeclarativedirparser_p.h | 16 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarativedirparser.cpp b/src/declarative/qml/qdeclarativedirparser.cpp index b5ad33d..362b99c 100644 --- a/src/declarative/qml/qdeclarativedirparser.cpp +++ b/src/declarative/qml/qdeclarativedirparser.cpp @@ -160,6 +160,16 @@ bool QDeclarativeDirParser::parse() Component entry(sections[1], sections[2], -1, -1); entry.internal = true; _components.append(entry); + } else if (sections[0] == QLatin1String("typeinfo")) { + if (sectionCount != 2) { + reportError(lineNumber, -1, + QString::fromUtf8("typeinfo requires 1 argument, but %1 were provided").arg(sectionCount - 1)); + continue; + } +#ifdef QT_CREATOR + TypeInfo typeInfo(sections[1]); + _typeInfos.append(typeInfo); +#endif } else if (sectionCount == 2) { // No version specified (should only be used for relative qmldir files) @@ -229,4 +239,11 @@ QList<QDeclarativeDirParser::Component> QDeclarativeDirParser::components() cons return _components; } +#ifdef QT_CREATOR +QList<TypeInfo> QDeclarativeDirParser::typeInfos() const +{ + return _typeInfos; +} +#endif + QT_END_NAMESPACE diff --git a/src/declarative/qml/qdeclarativedirparser_p.h b/src/declarative/qml/qdeclarativedirparser_p.h index 95f14bc..d09b90e 100644 --- a/src/declarative/qml/qdeclarativedirparser_p.h +++ b/src/declarative/qml/qdeclarativedirparser_p.h @@ -109,6 +109,19 @@ public: QList<Component> components() const; QList<Plugin> plugins() const; +#ifdef QT_CREATOR + struct TypeInfo + { + TypeInfo() {} + TypeInfo(const QString &fileName) + : fileName(fileName) {} + + QString fileName; + }; + + QList<TypeInfo> typeInfos() const; +#endif + private: void reportError(int line, int column, const QString &message); @@ -118,6 +131,9 @@ private: QString _source; QList<Component> _components; QList<Plugin> _plugins; +#ifdef QT_CREATOR + QList<TypeInfo> _typeInfos; +#endif unsigned _isParsed: 1; }; |