summaryrefslogtreecommitdiff
path: root/src/qdoc/webxmlgenerator.cpp
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-11-16 03:03:39 +0100
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-11-16 03:03:39 +0100
commit01b12aabdc40a2d2c3f38fc03dfde9659458491b (patch)
tree0279b09360b904f2df67890d04321f53b3bd9995 /src/qdoc/webxmlgenerator.cpp
parent0916f2dfd6df25e90d350775ac938749b04007a9 (diff)
parent2b6c90317b6bc5f94ca0dc14a3a1467aa8019b17 (diff)
downloadqttools-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.cpp30
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;