summaryrefslogtreecommitdiffstats
path: root/tools/qdoc3/cppcodeparser.cpp
diff options
context:
space:
mode:
authorDavid Boddie <dboddie@trolltech.com>2010-06-18 11:31:50 (GMT)
committerDavid Boddie <dboddie@trolltech.com>2010-06-18 11:31:50 (GMT)
commit68073bbcde2d1b12d36f0c58aab1fc20f02ab967 (patch)
treea3b0bb1a56edf47e16f9c37b3142e41b2fc11600 /tools/qdoc3/cppcodeparser.cpp
parent9e7f0b9e45cef278c8874539257b4038a0aa6615 (diff)
downloadQt-68073bbcde2d1b12d36f0c58aab1fc20f02ab967.zip
Qt-68073bbcde2d1b12d36f0c58aab1fc20f02ab967.tar.gz
Qt-68073bbcde2d1b12d36f0c58aab1fc20f02ab967.tar.bz2
qdoc: Added a workaround for QML/Qt class name clashes.
Reviewed-by: Trust Me
Diffstat (limited to 'tools/qdoc3/cppcodeparser.cpp')
-rw-r--r--tools/qdoc3/cppcodeparser.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/qdoc3/cppcodeparser.cpp b/tools/qdoc3/cppcodeparser.cpp
index 13678af..caee30b 100644
--- a/tools/qdoc3/cppcodeparser.cpp
+++ b/tools/qdoc3/cppcodeparser.cpp
@@ -728,7 +728,10 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc,
if (n)
classNode = static_cast<const ClassNode*>(n);
}
- return new QmlClassNode(tre->root(), names[0], classNode);
+ if (names[0].startsWith("Q"))
+ return new QmlClassNode(tre->root(), QLatin1String("QML:")+names[0], classNode);
+ else
+ return new QmlClassNode(tre->root(), names[0], classNode);
}
else if (command == COMMAND_QMLBASICTYPE) {
#if 0
@@ -752,6 +755,8 @@ Node *CppCodeParser::processTopicCommand(const Doc& doc,
QString type;
QmlClassNode* qmlClass = 0;
if (splitQmlMethodArg(doc,arg,type,element)) {
+ if (element.startsWith(QLatin1String("Q")))
+ element = QLatin1String("QML:") + element;
Node* n = tre->findNode(QStringList(element),Node::Fake);
if (n && n->subType() == Node::QmlClass) {
qmlClass = static_cast<QmlClassNode*>(n);