diff --git a/src/tools/qdoc/ditaxmlgenerator.cpp b/src/tools/qdoc/ditaxmlgenerator.cpp index 314dda3a9d..eea1845e17 100644 --- a/src/tools/qdoc/ditaxmlgenerator.cpp +++ b/src/tools/qdoc/ditaxmlgenerator.cpp @@ -2763,11 +2763,22 @@ void DitaXmlGenerator::generateAnnotatedList(const Node* relative, writeEndTag(); //

writeEndTag(); // } + else if (!node->reconstitutedBrief().isEmpty()) { + writeStartTag(DT_entry); + writeStartTag(DT_p); + writeCharacters(node->reconstitutedBrief()); + writeEndTag(); //

+ writeEndTag(); // + } } else { writeStartTag(DT_entry); writeStartTag(DT_p); - writeCharacters(protectEnc(node->doc().briefText().toString())); // zzz + if (!node->reconstitutedBrief().isEmpty()) { + writeCharacters(node->reconstitutedBrief()); + } + else + writeCharacters(protectEnc(node->doc().briefText().toString())); writeEndTag(); //

writeEndTag(); // } diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp index f74a1d2fa0..2dc4c1e6c6 100644 --- a/src/tools/qdoc/htmlgenerator.cpp +++ b/src/tools/qdoc/htmlgenerator.cpp @@ -2287,10 +2287,19 @@ void HtmlGenerator::generateAnnotatedList(const Node *relative, generateText(brief, node, marker); out() << "

"; } + else if (!node->reconstitutedBrief().isEmpty()) { + out() << "

"; + out() << node->reconstitutedBrief(); + out() << "

"; + } } else { out() << "

"; - out() << protectEnc(node->doc().briefText().toString()); + if (!node->reconstitutedBrief().isEmpty()) { + out() << node->reconstitutedBrief(); + } + else + out() << protectEnc(node->doc().briefText().toString()); out() << "

"; } out() << "\n"; diff --git a/src/tools/qdoc/node.h b/src/tools/qdoc/node.h index 326146a962..bc75df2992 100644 --- a/src/tools/qdoc/node.h +++ b/src/tools/qdoc/node.h @@ -179,6 +179,7 @@ public: void setLink(LinkType linkType, const QString &link, const QString &desc); void setUrl(const QString &url); void setTemplateStuff(const QString &templateStuff) { templateStuff_ = templateStuff; } + void setReconstitutedBrief(const QString &t) { reconstitutedBrief_ = t; } void setPageType(PageType t) { pageType_ = t; } void setPageType(const QString& t); void setParent(InnerNode* n) { parent_ = n; } @@ -237,6 +238,7 @@ public: ThreadSafeness inheritedThreadSafeness() const; QString since() const { return since_; } QString templateStuff() const { return templateStuff_; } + const QString& reconstitutedBrief() const { return reconstitutedBrief_; } PageType pageType() const { return pageType_; } QString pageTypeString() const; QString nodeTypeString() const; @@ -298,6 +300,7 @@ private: QString url_; QString since_; QString templateStuff_; + QString reconstitutedBrief_; mutable QString uuid_; QString outSubDir_; QString qmlModuleName_; diff --git a/src/tools/qdoc/qdocindexfiles.cpp b/src/tools/qdoc/qdocindexfiles.cpp index 59adc63c9e..d984681a08 100644 --- a/src/tools/qdoc/qdocindexfiles.cpp +++ b/src/tools/qdoc/qdocindexfiles.cpp @@ -505,6 +505,10 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element, node->setDoc(doc); node->setIndexNodeFlag(); node->setOutputSubdirectory(project_.toLower()); + QString briefAttr = element.attribute("brief"); + if (!briefAttr.isEmpty()) { + node->setReconstitutedBrief(briefAttr); + } if (node->isInnerNode()) { InnerNode* inner = static_cast(node); @@ -960,6 +964,9 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer, default: break; } + QString brief = node->doc().briefText().toString(); + if (!brief.isEmpty()) + writer.writeAttribute("brief", brief); // Inner nodes and function nodes contain child nodes of some sort, either // actual child nodes or function parameters. For these, we close the diff --git a/src/tools/qdoc/text.cpp b/src/tools/qdoc/text.cpp index 2d218bd469..e2f682726d 100644 --- a/src/tools/qdoc/text.cpp +++ b/src/tools/qdoc/text.cpp @@ -149,6 +149,11 @@ void Text::stripLastAtom() } } +/*! + This function traverses the atom list of the Text object, + extracting all the string parts. It concatenates them to + a result string and returns it. + */ QString Text::toString() const { QString str;