QDoc: Use the module page as link in qt.ditamap.
If the number of [QML]module pages in a single qdoc run is 1: Use it as the link for the nested group of documentation pages in the automatically generated ditamap. Change-Id: Idbc3e2e5d65a1e7f0201638102ffab62475a66ec Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
This commit is contained in:
parent
cb74f7b22c
commit
f717c19469
@ -6053,14 +6053,22 @@ void DitaXmlGenerator::writeDitaMap(Tree *tree)
|
||||
writeTopicrefs(pageTypeMaps[Node::FAQPage], "FAQs");
|
||||
writeTopicrefs(pageTypeMaps[Node::ArticlePage], "Articles");
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::Example], "Examples");
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::QmlClass], "QML types");
|
||||
writeTopicrefs(nodeTypeMaps[Node::Class], "C++ classes");
|
||||
if (nodeSubtypeMaps[Node::QmlModule]->size() > 1)
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::QmlModule], "QML modules");
|
||||
if (nodeSubtypeMaps[Node::QmlModule]->size() == 1)
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::QmlClass], "QML types", nodeSubtypeMaps[Node::QmlModule]->values()[0]);
|
||||
else
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::QmlClass], "QML types");
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::QmlBasicType], "QML basic types");
|
||||
if (nodeSubtypeMaps[Node::Module]->size() > 1)
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::Module], "Modules");
|
||||
if (nodeSubtypeMaps[Node::Module]->size() == 1)
|
||||
writeTopicrefs(nodeTypeMaps[Node::Class], "C++ classes", nodeSubtypeMaps[Node::Module]->values()[0]);
|
||||
else
|
||||
writeTopicrefs(nodeTypeMaps[Node::Class], "C++ classes");
|
||||
writeTopicrefs(nodeTypeMaps[Node::Namespace], "C++ namespaces");
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::HeaderFile], "Header files");
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::Module], "Modules");
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::Group], "Groups");
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::QmlModule], "QML modules");
|
||||
writeTopicrefs(nodeSubtypeMaps[Node::QmlBasicType], "QML basic types");
|
||||
|
||||
writeEndTag(); // </topicref>
|
||||
endSubPage();
|
||||
@ -6119,12 +6127,14 @@ void DitaXmlGenerator::writeDitaRefs(const DitaRefList& ditarefs)
|
||||
}
|
||||
}
|
||||
|
||||
void DitaXmlGenerator::writeTopicrefs(NodeMultiMap* nmm, const QString& navtitle)
|
||||
void DitaXmlGenerator::writeTopicrefs(NodeMultiMap* nmm, const QString& navtitle, Node* headingnode)
|
||||
{
|
||||
if (!nmm || nmm->isEmpty())
|
||||
return;
|
||||
writeStartTag(DT_topicref);
|
||||
xmlWriter().writeAttribute("navtitle",navtitle);
|
||||
if (headingnode)
|
||||
xmlWriter().writeAttribute("href",fileName(headingnode));
|
||||
NodeMultiMap::iterator i;
|
||||
NodeMultiMap *ditaMaps = pageTypeMaps[Node::DitaMapPage];
|
||||
|
||||
|
@ -500,7 +500,7 @@ private:
|
||||
QString stripMarkup(const QString& src) const;
|
||||
Node* collectNodesByTypeAndSubtype(const InnerNode* parent);
|
||||
void writeDitaRefs(const DitaRefList& ditarefs);
|
||||
void writeTopicrefs(NodeMultiMap* nmm, const QString& navtitle);
|
||||
void writeTopicrefs(NodeMultiMap* nmm, const QString& navtitle, Node* headingnode = 0);
|
||||
bool isDuplicate(NodeMultiMap* nmm, const QString& key, Node* node);
|
||||
void debugPara(const QString& t);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user