diff options
author | Topi Reinio <topi.reinio@qt.io> | 2020-06-06 12:30:22 +0200 |
---|---|---|
committer | Topi Reinio <topi.reinio@qt.io> | 2020-06-08 16:31:16 +0200 |
commit | 58902fbd684d39191fbddf3ef5e917e709b38a68 (patch) | |
tree | 930157c38ec390ad164bea408057a999b4ae73fc /src/qdoc/cppcodemarker.cpp | |
parent | 41c601103dd2fef14e59a120e142008f8e3e93cd (diff) | |
download | qttools-58902fbd684d39191fbddf3ef5e917e709b38a68.tar.gz |
qdoc: Extend synopsis for detailed reference sections
Include \since information for detailed synopsis generation,
and allow duplication of qdoc comments for C++/QML nodes
on the condition that the extra comments contain no
body text, only meta-commands.
The use case is to have full status information in the
signature/section title, and allow additional meta-commands
for items that share a documentation comment.
/*!
\fn void A:foo()
\fn void A:foo(int i)
Shared documentation for overloads.
*/
/*!
\fn void A:foo(int i)
\since 2.0
*/
Extract the code for 'extra' synopsis into a new helper function
and use for both HTML and DocBook generators.
Fixes: QTBUG-55739
Fixes: QTBUG-82902
Change-Id: I6e797d3ce7bc7b02102bb949515f88e7a0fbe929
Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Diffstat (limited to 'src/qdoc/cppcodemarker.cpp')
-rw-r--r-- | src/qdoc/cppcodemarker.cpp | 37 |
1 files changed, 2 insertions, 35 deletions
diff --git a/src/qdoc/cppcodemarker.cpp b/src/qdoc/cppcodemarker.cpp index fe0976436..5556625ee 100644 --- a/src/qdoc/cppcodemarker.cpp +++ b/src/qdoc/cppcodemarker.cpp @@ -100,7 +100,6 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, const Node * /* relati const EnumNode *enume; const TypedefNode *typedeff; QString synopsis; - QString extra; QString name; name = taggedNode(node); @@ -183,30 +182,6 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, const Node * /* relati synopsis.append(" &"); else if (func->isRefRef()) synopsis.append(" &&"); - QStringList bracketed; - if (func->isStatic()) { - bracketed += "static"; - } else if (!func->isNonvirtual()) { - if (func->isFinal()) - bracketed += "final"; - if (func->isOverride()) - bracketed += "override"; - if (func->isPureVirtual()) - bracketed += "pure"; - bracketed += "virtual"; - } - - if (func->access() == Access::Protected) - bracketed += "protected"; - else if (func->access() == Access::Private) - bracketed += "private"; - - if (func->isSignal()) - bracketed += "signal"; - else if (func->isSlot()) - bracketed += "slot"; - if (!bracketed.isEmpty()) - extra += QLatin1Char('[') + bracketed.join(' ') + QStringLiteral("] "); } break; case Node::Enum: @@ -246,7 +221,6 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, const Node * /* relati if (style == Section::Summary) synopsis = "(alias) "; else if (style == Section::Details) { - extra = QStringLiteral("[alias] "); QString templateDecl = node->templateDecl(); if (!templateDecl.isEmpty()) synopsis = templateDecl + QLatin1Char(' '); @@ -277,19 +251,12 @@ QString CppCodeMarker::markedUpSynopsis(const Node *node, const Node * /* relati synopsis = name; } - if (style == Section::Summary) { - if (node->isPreliminary()) - extra += "(preliminary) "; - else if (node->isDeprecated()) - extra += "(deprecated) "; - else if (node->isObsolete()) - extra += "(obsolete) "; - } - + QString extra = CodeMarker::extraSynopsis(node, style); if (!extra.isEmpty()) { extra.prepend("<@extra>"); extra.append("</@extra>"); } + return extra + synopsis; } |