summaryrefslogtreecommitdiffstats
path: root/tools/qdoc3
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-03-17 05:44:14 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-03-17 05:44:14 (GMT)
commit67d8b96d11b560367f068c2466664898a6fb5aed (patch)
treeb60a7fd15f68d49c530bfa3ca326bdcfe070a9c3 /tools/qdoc3
parent53fd1e2fd9c75d7d55606d4ac5df75eda96b9cc9 (diff)
parentda8eb86480e188112193b66a265a7e957efc9de1 (diff)
downloadQt-67d8b96d11b560367f068c2466664898a6fb5aed.zip
Qt-67d8b96d11b560367f068c2466664898a6fb5aed.tar.gz
Qt-67d8b96d11b560367f068c2466664898a6fb5aed.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: (83 commits) probably need to update user configurations once in a while too use dynamicstore instead Define JS_NO_EXPORT to avoid JSC C API functions being exported Don't use QScriptValueIterator to iterate over an array QtScript: Fix regression when calling newQObject() from native constructor Added note to OS X installation instructions. Keypress events ignored in listview on Cocoa (64 Bit) with Japanese IME Update only appropriate rectangles during update_sys(). Marked QTDS obsolete from Qt 4.7. QNetworkReply: Fix canReadLine() Abort waiting replies on session error. different approach to fixing "the other" aliasing issue fix aliasing issue in node_construct() detach in fewer cases, remove redundant calculation SSL: Fix memleak related to local certificate Improve keyboard layout detection on X11 Compile on ARM with -Werror -Wold-style-cast Use the vista-style native dialog for QFileDialog::getExistingDirectory Apply the stdset attribute for resource properties doc: Completed sentence about HideNameFilterDetails ...
Diffstat (limited to 'tools/qdoc3')
-rw-r--r--tools/qdoc3/codeparser.cpp1
-rw-r--r--tools/qdoc3/generator.cpp4
-rw-r--r--tools/qdoc3/htmlgenerator.cpp9
-rw-r--r--tools/qdoc3/main.cpp7
-rw-r--r--tools/qdoc3/node.cpp23
-rw-r--r--tools/qdoc3/tree.cpp2
6 files changed, 41 insertions, 5 deletions
diff --git a/tools/qdoc3/codeparser.cpp b/tools/qdoc3/codeparser.cpp
index 042378e..a717ff1 100644
--- a/tools/qdoc3/codeparser.cpp
+++ b/tools/qdoc3/codeparser.cpp
@@ -47,6 +47,7 @@
#include "node.h"
#include "tree.h"
#include "config.h"
+#include <QDebug>
QT_BEGIN_NAMESPACE
diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp
index 80f7e45..0c6497b 100644
--- a/tools/qdoc3/generator.cpp
+++ b/tools/qdoc3/generator.cpp
@@ -1194,10 +1194,14 @@ void Generator::appendSortedQmlNames(Text& text,
QMap<QString,Text> classMap;
int index = 0;
+#ifdef DEBUG_MULTIPLE QDOCCONF_FILES
qDebug() << "Generator::appendSortedQmlNames():" << base->name() << "is inherited by...";
+#endif
for (int i = 0; i < subs.size(); ++i) {
Text t;
+#ifdef DEBUG_MULTIPLE QDOCCONF_FILES
qDebug() << " " << subs[i]->name();
+#endif
appendFullName(t, subs[i], base, marker);
classMap[t.toString().toLower()] = t;
}
diff --git a/tools/qdoc3/htmlgenerator.cpp b/tools/qdoc3/htmlgenerator.cpp
index 411a886..c1e3678 100644
--- a/tools/qdoc3/htmlgenerator.cpp
+++ b/tools/qdoc3/htmlgenerator.cpp
@@ -703,8 +703,6 @@ int HtmlGenerator::generateAtom(const Atom *atom,
case Node::Fake:
if (node->subType() == Node::QmlClass) {
sections[QmlClass].appendMember((Node*)node);
- //qDebug() << "HtmlGenerator::generateAtom(): Atom::SinceList, append"
- // << node->name();
}
break;
case Node::Namespace:
@@ -3769,7 +3767,6 @@ void HtmlGenerator::findAllSince(const InnerNode *node)
className = (*child)->parent()->name()+"::"+className;
nsmap.value().insert(className,(*child));
nqcmap.value().insert(className,(*child));
- //qDebug() << "findAllSince(): insert" << className << sinceVersion;
}
}
else {
@@ -3991,10 +3988,12 @@ QString HtmlGenerator::getLink(const Atom *atom,
}
else {
*node = marker->resolveTarget(first, myTree, relative);
- if (!*node)
+ if (!*node) {
*node = myTree->findFakeNodeByTitle(first);
- if (!*node)
+ }
+ if (!*node) {
*node = myTree->findUnambiguousTarget(first, targetAtom);
+ }
}
if (*node) {
diff --git a/tools/qdoc3/main.cpp b/tools/qdoc3/main.cpp
index ea843ba..fe4ad86 100644
--- a/tools/qdoc3/main.cpp
+++ b/tools/qdoc3/main.cpp
@@ -70,6 +70,7 @@
#include "webxmlgenerator.h"
#include "tokenizer.h"
#include "tree.h"
+#include <qdebug.h>
#include "qtranslator.h"
#ifndef QT_BOOTSTRAPPED
@@ -362,7 +363,13 @@ static void processQdocconfFile(const QString &fileName)
#ifndef QT_NO_TRANSLATION
qDeleteAll(translators);
#endif
+#ifdef DEBUG_SHUTDOWN_CRASH
+ qDebug() << "main(): Delete tree";
+#endif
delete tree;
+#ifdef DEBUG_SHUTDOWN_CRASH
+ qDebug() << "main(): Tree deleted";
+#endif
}
QT_END_NAMESPACE
diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp
index d4e4196..d60ff73 100644
--- a/tools/qdoc3/node.cpp
+++ b/tools/qdoc3/node.cpp
@@ -207,16 +207,33 @@ InnerNode::~InnerNode()
}
/*!
+ Find the node in this node's children that has the
+ given \a name. If this node is a QML class node, be
+ sure to also look in the children of its property
+ group nodes. Return the matching node or 0.
*/
Node *InnerNode::findNode(const QString& name)
{
Node *node = childMap.value(name);
if (node)
return node;
+ if ((type() == Fake) && (subType() == QmlClass)) {
+ for (int i=0; i<children.size(); ++i) {
+ Node* n = children.at(i);
+ if (n->subType() == QmlPropertyGroup) {
+ node = static_cast<InnerNode*>(n)->findNode(name);
+ if (node)
+ return node;
+ }
+ }
+ }
return primaryFunctionMap.value(name);
}
/*!
+ Same as the other findNode(), but if the node with the
+ specified \a name is not of the specified \a type, return
+ 0.
*/
Node *InnerNode::findNode(const QString& name, Type type)
{
@@ -1280,7 +1297,9 @@ QmlClassNode::QmlClassNode(InnerNode *parent,
*/
QmlClassNode::~QmlClassNode()
{
+#ifdef DEBUG_MULTIPLE QDOCCONF_FILES
qDebug() << "Deleting QmlClassNode:" << name();
+#endif
}
/*!
@@ -1315,7 +1334,9 @@ QString QmlClassNode::fileBase() const
void QmlClassNode::addInheritedBy(const QString& base, Node* sub)
{
inheritedBy.insert(base,sub);
+#ifdef DEBUG_MULTIPLE QDOCCONF_FILES
qDebug() << "QmlClassNode::addInheritedBy(): insert" << base << sub->name() << inheritedBy.size();
+#endif
}
/*!
@@ -1326,8 +1347,10 @@ void QmlClassNode::subclasses(const QString& base, NodeList& subs)
subs.clear();
if (inheritedBy.count(base) > 0) {
subs = inheritedBy.values(base);
+#ifdef DEBUG_MULTIPLE QDOCCONF_FILES
qDebug() << "QmlClassNode::subclasses():" << inheritedBy.count(base) << base
<< "subs:" << subs.size() << "total size:" << inheritedBy.size();
+#endif
}
}
diff --git a/tools/qdoc3/tree.cpp b/tools/qdoc3/tree.cpp
index 922c23e..7dcc8c3 100644
--- a/tools/qdoc3/tree.cpp
+++ b/tools/qdoc3/tree.cpp
@@ -54,6 +54,7 @@
#include "tree.h"
#include <limits.h>
+#include <qdebug.h>
QT_BEGIN_NAMESPACE
@@ -150,6 +151,7 @@ const Node *Tree::findNode(const QStringList &path,
const Node *next =
static_cast<const InnerNode*>(node)->findNode(path.at(i));
+
if (!next && (findFlags & SearchEnumValues) && i == path.size()-1)
next = static_cast<const InnerNode*>(node)->findEnumNodeForValue(path.at(i));