Skip to content

Commit 968e10e

Browse files
committed
Incorrect representation of some items in HTMLHELP
When trying to generate the doxygen internal documentation with htmlhelp we see a number of items that are shown as pages but actually have sub pages and should thus be shown as books. - general documentation - namespace members - file members
1 parent 15dae50 commit 968e10e

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

src/index.cpp

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -341,12 +341,6 @@ void addMembersToIndex(T *def,LayoutDocManager::LayoutPart part,
341341
const ConceptLinkedRefMap *concepts = nullptr)
342342

343343
{
344-
bool hasMembers = !def->getMemberLists().empty() || !def->getMemberGroups().empty();
345-
Doxygen::indexList->addContentsItem(hasMembers,name,
346-
def->getReference(),def->getOutputFileBase(),anchor,
347-
hasMembers && !preventSeparateIndex,
348-
addToIndex,
349-
def);
350344
int numClasses=0;
351345
for (const auto &cd : def->getClasses())
352346
{
@@ -360,6 +354,12 @@ void addMembersToIndex(T *def,LayoutDocManager::LayoutPart part,
360354
if (cd->isLinkable()) numConcepts++;
361355
}
362356
}
357+
bool hasMembers = !def->getMemberLists().empty() || !def->getMemberGroups().empty() || (numClasses>0) || (numConcepts>0);
358+
Doxygen::indexList->addContentsItem(hasMembers,name,
359+
def->getReference(),def->getOutputFileBase(),anchor,
360+
hasMembers && !preventSeparateIndex,
361+
addToIndex,
362+
def);
363363
//printf("addMembersToIndex(def=%s hasMembers=%d numClasses=%d)\n",qPrint(def->name()),hasMembers,numClasses);
364364
if (hasMembers || numClasses>0 || numConcepts>0)
365365
{
@@ -3262,7 +3262,7 @@ static void writeFileMemberIndex(OutputList &ol)
32623262
bool addToIndex = lne==0 || lne->visible();
32633263
if (documentedFileMembers[FMHL_All]>0 && addToIndex)
32643264
{
3265-
Doxygen::indexList->addContentsItem(FALSE,lne ? lne->title() : theTranslator->trFileMembers(),QCString(),"globals",QCString());
3265+
Doxygen::indexList->addContentsItem(true,lne ? lne->title() : theTranslator->trFileMembers(),QCString(),"globals",QCString());
32663266
Doxygen::indexList->incContentsDepth();
32673267
}
32683268
writeFileMemberIndexFiltered(ol,FMHL_All);
@@ -3436,7 +3436,7 @@ static void writeNamespaceMemberIndex(OutputList &ol)
34363436
bool addToIndex = lne==0 || lne->visible();
34373437
if (documentedNamespaceMembers[NMHL_All]>0 && addToIndex)
34383438
{
3439-
Doxygen::indexList->addContentsItem(FALSE,lne ? lne->title() : theTranslator->trNamespaceMembers(),QCString(),"namespacemembers",QCString());
3439+
Doxygen::indexList->addContentsItem(true,lne ? lne->title() : theTranslator->trNamespaceMembers(),QCString(),"namespacemembers",QCString());
34403440
Doxygen::indexList->incContentsDepth();
34413441
}
34423442
//bool fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
@@ -4350,12 +4350,18 @@ static void writeIndex(OutputList &ol)
43504350
(!projectName.isEmpty() && mainPageHasTitle() && qstricmp(title,projectName)!=0)
43514351
) // to avoid duplicate entries in the treeview
43524352
{
4353-
Doxygen::indexList->addContentsItem(Doxygen::mainPage->hasSubPages(),title,QCString(),indexName,QCString(),Doxygen::mainPage->hasSubPages(),TRUE);
4353+
Doxygen::indexList->addContentsItem(Doxygen::mainPage->hasSubPages() || Doxygen::mainPage->hasSections(),title,QCString(),indexName,QCString(),Doxygen::mainPage->hasSubPages(),TRUE);
4354+
if (Doxygen::mainPage->hasSubPages()) Doxygen::indexList->incContentsDepth();
4355+
43544356
}
43554357
if (Doxygen::mainPage->hasSubPages() || Doxygen::mainPage->hasSections())
43564358
{
43574359
writePages(Doxygen::mainPage.get(),0);
43584360
}
4361+
if (!projectName.isEmpty() && mainPageHasTitle() && qstricmp(title,projectName)!=0 && Doxygen::mainPage->hasSubPages())
4362+
{
4363+
if (Doxygen::mainPage->hasSubPages()) Doxygen::indexList->decContentsDepth();
4364+
}
43594365
}
43604366

43614367
ol.startQuickIndices();

0 commit comments

Comments
 (0)