summaryrefslogtreecommitdiffstats
path: root/src/tagreader.cpp
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2018-11-28 18:57:58 (GMT)
committeralbert-github <albert.tests@gmail.com>2018-11-28 18:57:58 (GMT)
commit730b7827a8e6dd4ef82d91b6ac6c3d58f95313e3 (patch)
tree7eb7b37820798b9a8a206a53fb9ee7d72321518f /src/tagreader.cpp
parent8c7b1352474e4da5024cfc3ecc25a486b1d4ef2a (diff)
downloadDoxygen-730b7827a8e6dd4ef82d91b6ac6c3d58f95313e3.zip
Doxygen-730b7827a8e6dd4ef82d91b6ac6c3d58f95313e3.tar.gz
Doxygen-730b7827a8e6dd4ef82d91b6ac6c3d58f95313e3.tar.bz2
Bug 774118 - EXTERNAL_GROUPS lose hierarchy
Created relations between groups as specified in the tag file
Diffstat (limited to 'src/tagreader.cpp')
-rw-r--r--src/tagreader.cpp17
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;