diff options
-rw-r--r-- | src/tagreader.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/tagreader.cpp b/src/tagreader.cpp index 1afa30d..45543de 100644 --- a/src/tagreader.cpp +++ b/src/tagreader.cpp @@ -40,6 +40,7 @@ #include "filedef.h" #include "filename.h" #include "section.h" +#include "groupdef.h" /** Information about an linkable anchor */ class TagAnchorInfo @@ -1469,6 +1470,22 @@ void TagFileParser::buildLists(Entry *root) root->addSubEntry(ge); } + // set subgroup relations bug_774118 + for (git.toFirst();(tgi=git.current());++git) + { + QCStringList::Iterator it; + for ( it = tgi->subgroupList.begin(); it != tgi->subgroupList.end(); ++it ) + { + QListIterator<Entry> eli(*(root->children())); + Entry *childNode; + for (eli.toFirst();(childNode=eli.current());++eli) + { + if (childNode->name == (*it)) break; + } + childNode->groups->append(new Grouping(tgi->name,Grouping::GROUPING_INGROUP)); + } + } + // build page list QListIterator<TagPageInfo> pgit(m_tagFilePages); TagPageInfo *tpi; |