summaryrefslogtreecommitdiffstats
path: root/src/docparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/docparser.cpp')
-rw-r--r--src/docparser.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 1399788..a88ca05 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -543,10 +543,12 @@ static bool insideOL(DocNode *n)
*/
static bool findDocsForMemberOrCompound(const char *commandName,
QString *pDoc,
+ QString *pBrief,
Definition **pDef)
{
//printf("findDocsForMemberOrCompound(%s)\n",commandName);
*pDoc="";
+ *pBrief="";
*pDef=0;
QString cmdArg=substitute(commandName,"#","::");
int l=cmdArg.length();
@@ -574,6 +576,7 @@ static bool findDocsForMemberOrCompound(const char *commandName,
if (found && md)
{
*pDoc=md->documentation();
+ *pBrief=md->briefDescription();
*pDef=md;
return TRUE;
}
@@ -594,6 +597,7 @@ static bool findDocsForMemberOrCompound(const char *commandName,
if (cd) // class
{
*pDoc=cd->documentation();
+ *pBrief=cd->briefDescription();
*pDef=cd;
return TRUE;
}
@@ -601,6 +605,7 @@ static bool findDocsForMemberOrCompound(const char *commandName,
if (nd) // namespace
{
*pDoc=nd->documentation();
+ *pBrief=nd->briefDescription();
*pDef=nd;
return TRUE;
}
@@ -608,6 +613,7 @@ static bool findDocsForMemberOrCompound(const char *commandName,
if (gd) // group
{
*pDoc=gd->documentation();
+ *pBrief=gd->briefDescription();
*pDef=gd;
return TRUE;
}
@@ -615,6 +621,7 @@ static bool findDocsForMemberOrCompound(const char *commandName,
if (pd) // page
{
*pDoc=pd->documentation();
+ *pBrief=pd->briefDescription();
*pDef=pd;
return TRUE;
}
@@ -623,6 +630,7 @@ static bool findDocsForMemberOrCompound(const char *commandName,
if (fd && !ambig) // file
{
*pDoc=fd->documentation();
+ *pBrief=fd->briefDescription();
*pDef=fd;
return TRUE;
}
@@ -1336,6 +1344,11 @@ static int internalValidatingParseDoc(DocNode *parent,QList<DocNode> &children,
// first parse any number of paragraphs
bool isFirst=TRUE;
DocPara *lastPar=0;
+ if (!children.isEmpty() && children.last()->kind()==DocNode::Kind_Para)
+ { // last child item was a paragraph
+ lastPar = (DocPara*)children.last();
+ isFirst=FALSE;
+ }
do
{
DocPara *par = new DocPara(parent);
@@ -1344,6 +1357,7 @@ static int internalValidatingParseDoc(DocNode *parent,QList<DocNode> &children,
if (!par->isEmpty())
{
children.append(par);
+ if (lastPar) lastPar->markLast(FALSE);
lastPar=par;
}
else
@@ -1604,9 +1618,9 @@ void DocIncOperator::parse()
void DocCopy::parse()
{
- QString doc;
+ QString doc,brief;
Definition *def;
- if (findDocsForMemberOrCompound(m_link,&doc,&def))
+ if (findDocsForMemberOrCompound(m_link,&doc,&brief,&def))
{
if (g_copyStack.findRef(def)==-1) // definition not parsed earlier
{
@@ -1622,6 +1636,7 @@ void DocCopy::parse()
g_styleStack.clear();
g_nodeStack.clear();
g_copyStack.append(def);
+ internalValidatingParseDoc(this,m_children,brief);
internalValidatingParseDoc(this,m_children,doc);
g_copyStack.remove(def);
ASSERT(g_styleStack.isEmpty());