summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2011-02-09 15:02:31 (GMT)
committerKai Koehne <kai.koehne@nokia.com>2011-05-12 09:55:12 (GMT)
commit7e7be3e5a0441671cdaa9242f6f05871189d0ded (patch)
tree16dbf550a981392c8147587ab4bd1f6ee59ff05a /src
parent5e4d1adbbf3107c04d4238b8396e0380258cc161 (diff)
downloadQt-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.cpp17
-rw-r--r--src/declarative/qml/qdeclarativedirparser_p.h16
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;
};