diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-11-16 03:03:39 +0100 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-11-16 03:03:39 +0100 |
commit | 01b12aabdc40a2d2c3f38fc03dfde9659458491b (patch) | |
tree | 0279b09360b904f2df67890d04321f53b3bd9995 /src/qdoc/webxmlgenerator.cpp | |
parent | 0916f2dfd6df25e90d350775ac938749b04007a9 (diff) | |
parent | 2b6c90317b6bc5f94ca0dc14a3a1467aa8019b17 (diff) | |
download | qttools-01b12aabdc40a2d2c3f38fc03dfde9659458491b.tar.gz |
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I577c86f95e65e7bfae1e92e9fd33356a6301f89b
Diffstat (limited to 'src/qdoc/webxmlgenerator.cpp')
-rw-r--r-- | src/qdoc/webxmlgenerator.cpp | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/qdoc/webxmlgenerator.cpp b/src/qdoc/webxmlgenerator.cpp index 89c8c093f..be19eb435 100644 --- a/src/qdoc/webxmlgenerator.cpp +++ b/src/qdoc/webxmlgenerator.cpp @@ -765,7 +765,10 @@ void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, fullName = node->fullName(); if (!fullName.isEmpty() && !link.isEmpty()) { writer.writeStartElement("link"); - writer.writeAttribute("raw", atom->string()); + if (!atom->string().isEmpty()) + writer.writeAttribute("raw", atom->string()); + else + writer.writeAttribute("raw", fullName); writer.writeAttribute("href", link); writer.writeAttribute("type", targetType(node)); if (node) { @@ -801,6 +804,13 @@ void WebXMLGenerator::startLink(QXmlStreamWriter &writer, const Atom *atom, } } +void WebXMLGenerator::endLink(QXmlStreamWriter &writer) { + if (inLink) { + writer.writeEndElement(); // link + inLink = false; + } +} + QString WebXMLGenerator::targetType(const Node *node) { if (!node) @@ -895,7 +905,9 @@ void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, writer.writeStartElement("row"); writer.writeStartElement("item"); writer.writeStartElement("para"); - generateFullName(writer, node, relative); + const QString link = linkForNode(node, relative); + startLink(writer, node->doc().body().firstAtom(), node, link); + endLink(writer); writer.writeEndElement(); // para writer.writeEndElement(); // item @@ -909,20 +921,6 @@ void WebXMLGenerator::generateAnnotatedList(QXmlStreamWriter &writer, writer.writeEndElement(); // table } -void WebXMLGenerator::generateFullName(QXmlStreamWriter &writer, - const Node *node, const Node *relative) -{ - QString type = targetType(node); - QString name = node->fullName(relative); - writer.writeStartElement("link"); - writer.writeAttribute("href", fullDocumentLocation(node)); - writer.writeAttribute("type", type); - if (type == QLatin1String("page")) - writer.writeAttribute("page", name); - writer.writeCharacters(name); - writer.writeEndElement(); // link -} - const QPair<QString,QString> WebXMLGenerator::anchorForNode(const Node *node) { QPair<QString,QString> anchorPair; |