From 730b7827a8e6dd4ef82d91b6ac6c3d58f95313e3 Mon Sep 17 00:00:00 2001 From: albert-github Date: Wed, 28 Nov 2018 19:57:58 +0100 Subject: Bug 774118 - EXTERNAL_GROUPS lose hierarchy Created relations between groups as specified in the tag file --- src/tagreader.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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 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 pgit(m_tagFilePages); TagPageInfo *tpi; -- cgit v0.12