summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@nokia.com>2011-05-12 14:19:07 (GMT)
committerKai Koehne <kai.koehne@nokia.com>2011-05-12 14:19:07 (GMT)
commit21711d7ad54b0ee83e776ac3ad83121221fdf24b (patch)
treeeeb331ea0a428d878b25bacbdb701aa0be493f4e /src/declarative
parent5c830ed2a612b940c377fb4e8a2372655f175707 (diff)
parent5e8f97047a31a53a98c8bc71159e00cc56bda94d (diff)
downloadQt-21711d7ad54b0ee83e776ac3ad83121221fdf24b.zip
Qt-21711d7ad54b0ee83e776ac3ad83121221fdf24b.tar.gz
Qt-21711d7ad54b0ee83e776ac3ad83121221fdf24b.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-qml-review into master-qml-staging
Diffstat (limited to 'src/declarative')
-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;
};