@@ -341,12 +341,6 @@ void addMembersToIndex(T *def,LayoutDocManager::LayoutPart part,
341
341
const ConceptLinkedRefMap *concepts = nullptr )
342
342
343
343
{
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);
350
344
int numClasses=0 ;
351
345
for (const auto &cd : def->getClasses ())
352
346
{
@@ -360,6 +354,12 @@ void addMembersToIndex(T *def,LayoutDocManager::LayoutPart part,
360
354
if (cd->isLinkable ()) numConcepts++;
361
355
}
362
356
}
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);
363
363
// printf("addMembersToIndex(def=%s hasMembers=%d numClasses=%d)\n",qPrint(def->name()),hasMembers,numClasses);
364
364
if (hasMembers || numClasses>0 || numConcepts>0 )
365
365
{
@@ -3262,7 +3262,7 @@ static void writeFileMemberIndex(OutputList &ol)
3262
3262
bool addToIndex = lne==0 || lne->visible ();
3263
3263
if (documentedFileMembers[FMHL_All]>0 && addToIndex)
3264
3264
{
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 ());
3266
3266
Doxygen::indexList->incContentsDepth ();
3267
3267
}
3268
3268
writeFileMemberIndexFiltered (ol,FMHL_All);
@@ -3436,7 +3436,7 @@ static void writeNamespaceMemberIndex(OutputList &ol)
3436
3436
bool addToIndex = lne==0 || lne->visible ();
3437
3437
if (documentedNamespaceMembers[NMHL_All]>0 && addToIndex)
3438
3438
{
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 ());
3440
3440
Doxygen::indexList->incContentsDepth ();
3441
3441
}
3442
3442
// bool fortranOpt = Config_getBool(OPTIMIZE_FOR_FORTRAN);
@@ -4350,12 +4350,18 @@ static void writeIndex(OutputList &ol)
4350
4350
(!projectName.isEmpty () && mainPageHasTitle () && qstricmp (title,projectName)!=0 )
4351
4351
) // to avoid duplicate entries in the treeview
4352
4352
{
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
+
4354
4356
}
4355
4357
if (Doxygen::mainPage->hasSubPages () || Doxygen::mainPage->hasSections ())
4356
4358
{
4357
4359
writePages (Doxygen::mainPage.get (),0 );
4358
4360
}
4361
+ if (!projectName.isEmpty () && mainPageHasTitle () && qstricmp (title,projectName)!=0 && Doxygen::mainPage->hasSubPages ())
4362
+ {
4363
+ if (Doxygen::mainPage->hasSubPages ()) Doxygen::indexList->decContentsDepth ();
4364
+ }
4359
4365
}
4360
4366
4361
4367
ol.startQuickIndices ();
0 commit comments