summaryrefslogtreecommitdiffstats
path: root/tools/qdoc3/helpprojectwriter.cpp
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2011-04-14 04:47:16 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2011-04-14 04:47:16 (GMT)
commitcc3bcc003048760a501debe49b6fcebffaac3cef (patch)
tree5d8d8e5ea0cd1c9dffc6abd3e6e40058536236c8 /tools/qdoc3/helpprojectwriter.cpp
parenta5d5971586d0a12e55374dae30e17454bca12600 (diff)
parent662174b78b7e08c759d0086e215e81e9e0eaf0c5 (diff)
downloadQt-cc3bcc003048760a501debe49b6fcebffaac3cef.zip
Qt-cc3bcc003048760a501debe49b6fcebffaac3cef.tar.gz
Qt-cc3bcc003048760a501debe49b6fcebffaac3cef.tar.bz2
Merge branch 'master' of ../qt-qml-staging
Diffstat (limited to 'tools/qdoc3/helpprojectwriter.cpp')
-rw-r--r--tools/qdoc3/helpprojectwriter.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/tools/qdoc3/helpprojectwriter.cpp b/tools/qdoc3/helpprojectwriter.cpp
index f2e2f04..1c7fcbf 100644
--- a/tools/qdoc3/helpprojectwriter.cpp
+++ b/tools/qdoc3/helpprojectwriter.cpp
@@ -350,6 +350,14 @@ bool HelpProjectWriter::generateSection(HelpProject &project,
}
break;
+ case Node::Variable:
+ {
+ QString location = HtmlGenerator::fullDocumentLocation(node);
+ project.files.insert(location.left(location.lastIndexOf(QLatin1Char('#'))));
+ project.keywords.append(keywordDetails(node));
+ }
+ break;
+
// Fake nodes (such as manual pages) contain subtypes, titles and other
// attributes.
case Node::Fake: {
@@ -694,6 +702,8 @@ void HelpProjectWriter::generateProject(HelpProject &project)
}
} else {
// Find a contents node and navigate from there, using the NextLink values.
+ QSet<QString> visited;
+
foreach (const Node *node, subproject.nodes) {
QString nextTitle = node->links().value(Node::NextLink).first;
if (!nextTitle.isEmpty() &&
@@ -707,9 +717,10 @@ void HelpProjectWriter::generateProject(HelpProject &project)
while (nextPage) {
writeNode(project, writer, nextPage);
nextTitle = nextPage->links().value(Node::NextLink).first;
- if(nextTitle.isEmpty())
+ if (nextTitle.isEmpty() || visited.contains(nextTitle))
break;
nextPage = const_cast<FakeNode *>(tree->findFakeNodeByTitle(nextTitle));
+ visited.insert(nextTitle);
}
break;
}