summaryrefslogtreecommitdiffstats
path: root/src/htmldocvisitor.cpp
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2009-06-22 20:14:03 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2009-06-22 20:14:03 (GMT)
commit7c0a46b50fad0925e47b78326f8c2e92e3829fb4 (patch)
tree2f918f7da3205101b2a8a300ee9afefe247b3f24 /src/htmldocvisitor.cpp
parent7a3de4c3c8aac25c38b6e93bb0927de40cd1c650 (diff)
downloadDoxygen-7c0a46b50fad0925e47b78326f8c2e92e3829fb4.zip
Doxygen-7c0a46b50fad0925e47b78326f8c2e92e3829fb4.tar.gz
Doxygen-7c0a46b50fad0925e47b78326f8c2e92e3829fb4.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;