From d2d210044fe74a6ca8b961fde9389584d8224f3a Mon Sep 17 00:00:00 2001 From: Martin Smith Date: Thu, 29 Nov 2012 15:12:56 +0100 Subject: qdoc: Don't include internal items in annotated lists Now things that are marked internal oe whose parent is marked internal won't appear in annotated lists. Task-number: QTBUG-28274 Change-Id: I14ea96e223640cad45e7e4249a3e1fc0642bd9c3 Reviewed-by: J-P Nurmi --- src/tools/qdoc/ditaxmlgenerator.cpp | 11 ++++++++++- src/tools/qdoc/htmlgenerator.cpp | 10 +++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/tools/qdoc/ditaxmlgenerator.cpp b/src/tools/qdoc/ditaxmlgenerator.cpp index b5d52bb7fa..f912c3b909 100644 --- a/src/tools/qdoc/ditaxmlgenerator.cpp +++ b/src/tools/qdoc/ditaxmlgenerator.cpp @@ -2720,6 +2720,15 @@ void DitaXmlGenerator::generateAnnotatedList(const Node* relative, { if (nodes.isEmpty()) return; + bool allInternal = true; + foreach (const Node* node, nodes) { + if (!node->isInternal() && node->status() != Node::Obsolete) { + allInternal = false; + } + } + if (allInternal) + return; + writeStartTag(DT_table); xmlWriter().writeAttribute("outputclass","annotated"); writeStartTag(DT_tgroup); @@ -2727,7 +2736,7 @@ void DitaXmlGenerator::generateAnnotatedList(const Node* relative, writeStartTag(DT_tbody); foreach (const Node* node, nodes) { - if (node->status() == Node::Obsolete) + if (node->isInternal() || node->status() == Node::Obsolete) continue; writeStartTag(DT_row); diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp index ddc3649522..1a8425b5ce 100644 --- a/src/tools/qdoc/htmlgenerator.cpp +++ b/src/tools/qdoc/htmlgenerator.cpp @@ -2212,10 +2212,18 @@ void HtmlGenerator::generateAnnotatedList(const Node *relative, CodeMarker *marker, const NodeList& nodes) { + bool allInternal = true; + foreach (const Node* node, nodes) { + if (!node->isInternal() && node->status() != Node::Obsolete) { + allInternal = false; + } + } + if (allInternal) + return; out() << "\n"; int row = 0; foreach (const Node* node, nodes) { - if (node->status() == Node::Obsolete) + if (node->isInternal() || node->status() == Node::Obsolete) continue; if (++row % 2 == 1) -- cgit v1.2.3