summaryrefslogtreecommitdiffstats
path: root/src/htmldocvisitor.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2009-06-22 20:14:03 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2009-06-22 20:14:03 (GMT)
commitb70a5b4f9325ec703db37394feeaa9ebc11228b4 (patch)
tree2f918f7da3205101b2a8a300ee9afefe247b3f24 /src/htmldocvisitor.cpp
parent8375a55083e5232e65493e73cb594c9c5e9552ab (diff)
downloadDoxygen-b70a5b4f9325ec703db37394feeaa9ebc11228b4.zip
Doxygen-b70a5b4f9325ec703db37394feeaa9ebc11228b4.tar.gz
Doxygen-b70a5b4f9325ec703db37394feeaa9ebc11228b4.tar.bz2
Release-1.5.9-20090622
Diffstat (limited to 'src/htmldocvisitor.cpp')
-rw-r--r--src/htmldocvisitor.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index b24625f..f3c3393 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -474,6 +474,12 @@ void HtmlDocVisitor::visit(DocIndexEntry *)
{
}
+void HtmlDocVisitor::visit(DocSimpleSectSep *)
+{
+ m_t << "</dd>" << endl;
+ m_t << "<dd>" << endl;
+}
+
//--------------------------------------
// visitor functions for compound nodes
//--------------------------------------
@@ -542,6 +548,37 @@ bool isLastChildNode(T *parent, DocNode *node)
return parent->children().getLast()==node;
}
+bool isSeparatedParagraph(DocSimpleSect *parent,DocPara *par)
+{
+ QList<DocNode> nodes = parent->children();
+ int i = nodes.findRef(par);
+ if (i==-1) return FALSE;
+ int count = parent->children().count();
+ if (count>1 && i==0)
+ {
+ if (nodes.at(i+1)->kind()==DocNode::Kind_SimpleSectSep)
+ {
+ return TRUE;
+ }
+ }
+ else if (count>1 && i==count-1)
+ {
+ if (nodes.at(i-1)->kind()==DocNode::Kind_SimpleSectSep)
+ {
+ return TRUE;
+ }
+ }
+ else if (count>2 && i>0 && i<count-1)
+ {
+ if (nodes.at(i-1)->kind()==DocNode::Kind_SimpleSectSep &&
+ nodes.at(i+1)->kind()==DocNode::Kind_SimpleSectSep)
+ {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
{
int t=0;
@@ -592,6 +629,13 @@ int getParagraphContext(DocPara *p,bool &isFirst,bool &isLast)
isLast =isLastChildNode ((DocSimpleSect*)p->parent(),p);
if (isFirst) t=2;
if (isLast) t=4;
+ if (isSeparatedParagraph((DocSimpleSect*)p->parent(),p))
+ // if the paragraph is enclosed with separators it will
+ // be included in <dd>..</dd> so avoid addition paragraph
+ // markers
+ {
+ isFirst=isLast=TRUE;
+ }
break;
default:
break;