diff options
-rw-r--r-- | src/config.xml | 1 | ||||
-rw-r--r-- | src/util.cpp | 36 |
2 files changed, 26 insertions, 11 deletions
diff --git a/src/config.xml b/src/config.xml index eed486e..5a0af59 100644 --- a/src/config.xml +++ b/src/config.xml @@ -3361,7 +3361,6 @@ remove the intermediate dot files that are used to generate the various graphs. ]]> </docs> </option> - <option type='obsolete' id='USE_WINDOWS_ENCODING'/> <option type='obsolete' id='DETAILS_AT_TOP'/> <option type='obsolete' id='QTHELP_FILE'/> diff --git a/src/util.cpp b/src/util.cpp index bcb1390..0049098 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -6353,26 +6353,42 @@ void addRefItem(const QList<ListItemInfo> *sli, } } -void addGroupListToTitle(OutputList &ol,Definition *d) +bool recursivelyAddGroupListToTitle(OutputList &ol,Definition *d,bool root) { GroupList *groups = d->partOfGroups(); if (groups) // write list of group to which this definition belongs { - ol.pushGeneratorState(); - ol.disableAllBut(OutputGenerator::Html); - ol.writeString("<div class=\"ingroups\">"); + if (root) + { + ol.pushGeneratorState(); + ol.disableAllBut(OutputGenerator::Html); + ol.writeString("<div class=\"ingroups\">"); + } GroupListIterator gli(*groups); GroupDef *gd; - bool first=TRUE; + bool first=true; for (gli.toFirst();(gd=gli.current());++gli) { - if (!first) { ol.writeString(" | "); } else first=FALSE; - ol.writeObjectLink(gd->getReference(), - gd->getOutputFileBase(),0,gd->groupTitle()); + if (recursivelyAddGroupListToTitle(ol, gd, FALSE)) + { + ol.writeString(" » "); + } + if (!first) { ol.writeString(" | "); } else first=FALSE; + ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle()); } - ol.writeString("</div>"); - ol.popGeneratorState(); + if (root) + { + ol.writeString("</div>"); + ol.popGeneratorState(); + } + return true; } + return false; +} + +void addGroupListToTitle(OutputList &ol,Definition *d) +{ + recursivelyAddGroupListToTitle(ol,d,TRUE); } void filterLatexString(FTextStream &t,const char *str, |