summaryrefslogtreecommitdiffstats
path: root/src/tagreader.cpp
diff options
context:
space:
mode:
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;