diff --git a/src/tools/qdoc/ditaxmlgenerator.cpp b/src/tools/qdoc/ditaxmlgenerator.cpp index 314dda3a9d0997cc2d94449df3e87f12c6f426a6..eea1845e177a9a3ed23b5a599198adea09d6b207 100644 --- a/src/tools/qdoc/ditaxmlgenerator.cpp +++ b/src/tools/qdoc/ditaxmlgenerator.cpp @@ -2763,11 +2763,22 @@ void DitaXmlGenerator::generateAnnotatedList(const Node* relative, writeEndTag(); // </p> writeEndTag(); // <entry> } + else if (!node->reconstitutedBrief().isEmpty()) { + writeStartTag(DT_entry); + writeStartTag(DT_p); + writeCharacters(node->reconstitutedBrief()); + writeEndTag(); // </p> + writeEndTag(); // <entry> + } } 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(); // </p> writeEndTag(); // <entry> } diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp index f74a1d2fa0aa072d2a5f2f4ff6fff6ec00e7fedb..2dc4c1e6c62c3dc7c15184c6519b30c39e33711e 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() << "</p></td>"; } + else if (!node->reconstitutedBrief().isEmpty()) { + out() << "<td class=\"tblDescr\"><p>"; + out() << node->reconstitutedBrief(); + out() << "</p></td>"; + } } else { out() << "<td class=\"tblDescr\"><p>"; - out() << protectEnc(node->doc().briefText().toString()); + if (!node->reconstitutedBrief().isEmpty()) { + out() << node->reconstitutedBrief(); + } + else + out() << protectEnc(node->doc().briefText().toString()); out() << "</p></td>"; } out() << "</tr>\n"; diff --git a/src/tools/qdoc/node.h b/src/tools/qdoc/node.h index 326146a962cd2e422cc04a018b3ab4d283591174..bc75df2992ebb33c64514a668361098b29398da3 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 59adc63c9ea24e3ae753ebbf0d89e0cc7bc520a5..d984681a081977dcc0ac50c527fcb17640383064 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<InnerNode*>(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 2d218bd4693b68a5bac7a8471e58bc2ec4d91b93..e2f682726dafdae43715bc8fff8c998ddbb381c4 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;