From f85ee48c3ddd6afe68cf8693d09626e7e68c1035 Mon Sep 17 00:00:00 2001 From: albert-github Date: Sun, 30 Dec 2018 19:16:48 +0100 Subject: issue #6716 mainpage notitle causes notitle to appear in index bar The "notitle" was still shown at the botton page index bar in case of TreeView and in other cases in the top index bar. --- src/definition.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/definition.cpp b/src/definition.cpp index fbf5be8..276d02f 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -1739,7 +1739,8 @@ QCString Definition::navigationPathAsString() const } else if (definitionType()==Definition::TypePage && !((const PageDef*)this)->title().isEmpty()) { - result+=""+ + if ((this==Doxygen::mainPage && mainPageHasTitle()) || this!=Doxygen::mainPage) + result+=""+ convertToHtml(((const PageDef*)this)->title())+""; } else if (definitionType()==Definition::TypeClass) -- cgit v0.12 From 7b4c4577ef836deada725ffb76ed1248b52e9cda Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Mon, 31 Dec 2018 17:53:20 +0100 Subject: Moved check for page having a title to hasTitle() method --- src/context.cpp | 2 +- src/definition.cpp | 9 ++++----- src/docbookgen.cpp | 2 +- src/docparser.cpp | 2 +- src/ftvhelp.cpp | 2 +- src/groupdef.cpp | 2 +- src/pagedef.cpp | 8 +++++++- src/pagedef.h | 4 +++- src/rtfgen.cpp | 2 +- src/searchindex.cpp | 2 +- src/sqlite3gen.cpp | 2 +- src/util.cpp | 7 ++----- src/xmlgen.cpp | 4 ++-- 13 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/context.cpp b/src/context.cpp index 6b5d2ac..8a3a784 100644 --- a/src/context.cpp +++ b/src/context.cpp @@ -7807,7 +7807,7 @@ class NavPathElemContext::Private { text = ((const GroupDef*)m_def)->groupTitle(); } - else if (type==Definition::TypePage && !(((const PageDef*)m_def)->title().isEmpty())) + else if (type==Definition::TypePage && (((const PageDef*)m_def)->hasTitle())) { text = ((const PageDef*)m_def)->title(); } diff --git a/src/definition.cpp b/src/definition.cpp index 276d02f..62a4e69 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -1694,7 +1694,7 @@ QCString Definition::pathFragment() const { result+=((const GroupDef*)this)->groupTitle(); } - else if (definitionType()==Definition::TypePage && !((const PageDef*)this)->title().isEmpty()) + else if (definitionType()==Definition::TypePage && ((const PageDef*)this)->hasTitle()) { result+=((const PageDef*)this)->title(); } @@ -1737,11 +1737,10 @@ QCString Definition::navigationPathAsString() const result+=""+ convertToHtml(((const GroupDef*)this)->groupTitle())+""; } - else if (definitionType()==Definition::TypePage && !((const PageDef*)this)->title().isEmpty()) + else if (definitionType()==Definition::TypePage && ((const PageDef*)this)->hasTitle()) { - if ((this==Doxygen::mainPage && mainPageHasTitle()) || this!=Doxygen::mainPage) - result+=""+ - convertToHtml(((const PageDef*)this)->title())+""; + result+=""+ + convertToHtml(((const PageDef*)this)->title())+""; } else if (definitionType()==Definition::TypeClass) { diff --git a/src/docbookgen.cpp b/src/docbookgen.cpp index 97c602d..011ef12 100644 --- a/src/docbookgen.cpp +++ b/src/docbookgen.cpp @@ -635,7 +635,7 @@ DB_GEN_C if (!pd->getGroupDef() && !pd->isReference() && pd->name() == stripPath(name)) { t << "\n"; - if (!pd->title().isEmpty()) + if (pd->hasTitle()) { t << " " << convertToDocBook(pd->title()) << "" << endl; } diff --git a/src/docparser.cpp b/src/docparser.cpp index a5c0cc7..082ba75 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -7586,7 +7586,7 @@ DocRoot *validatingParseDoc(const char *fileName,int startLine, case Definition::TypePage: { PageDef *pd = (PageDef *)ctx; - if (!pd->title().isEmpty()) + if (pd->hasTitle()) { name = theTranslator->trPage(TRUE,TRUE)+" "+pd->title(); } diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index ea57eb7..97bcdcc 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -657,7 +657,7 @@ static void generateJSNavTree(const QList &nodeList) QCString &projName = Config_getString(PROJECT_NAME); if (projName.isEmpty()) { - if (Doxygen::mainPage && !Doxygen::mainPage->title().isEmpty()) // Use title of main page as root + if (mainPageHasTitle()) // Use title of main page as root { t << "\"" << convertToJSString(Doxygen::mainPage->title()) << "\", "; } diff --git a/src/groupdef.cpp b/src/groupdef.cpp index e543d16..397b254 100644 --- a/src/groupdef.cpp +++ b/src/groupdef.cpp @@ -963,7 +963,7 @@ void GroupDef::writePageDocumentation(OutputList &ol) if (!pd->isReference()) { SectionInfo *si=0; - if (!pd->title().isEmpty() && !pd->name().isEmpty() && + if (pd->hasTitle() && !pd->name().isEmpty() && (si=Doxygen::sectionDict->find(pd->name()))!=0) { ol.startSection(si->label,si->title,SectionInfo::Subsection); diff --git a/src/pagedef.cpp b/src/pagedef.cpp index 79a78d3..93d5817 100644 --- a/src/pagedef.cpp +++ b/src/pagedef.cpp @@ -190,7 +190,7 @@ void PageDef::writeDocumentation(OutputList &ol) ol.disable(OutputGenerator::Docbook); ol.disable(OutputGenerator::RTF); ol.disable(OutputGenerator::Man); - if (!title().isEmpty() && !name().isEmpty() && si!=0) + if (hasTitle() && !name().isEmpty() && si!=0) { ol.startPageDoc(si->title); //ol.startSection(si->label,si->title,si->type); @@ -342,3 +342,9 @@ bool PageDef::showLineNo() const { return m_showLineNo; } + +bool PageDef::hasTitle() const +{ + return !m_title.isEmpty() && m_title.lower()!="notitle"; +} + diff --git a/src/pagedef.h b/src/pagedef.h index a0c3acb..e958617 100644 --- a/src/pagedef.h +++ b/src/pagedef.h @@ -60,10 +60,12 @@ class PageDef : public Definition bool documentedPage() const; bool hasSubPages() const; bool hasParentPage() const; + bool hasTitle() const; LocalToc localToc() const { return m_localToc; } void setPageScope(Definition *d){ m_pageScope = d; } Definition *getPageScope() const { return m_pageScope; } - QCString displayName(bool=TRUE) const { return !m_title.isEmpty() ? m_title : Definition::name(); } + QCString displayName(bool=TRUE) const + { return hasTitle() ? m_title : Definition::name(); } bool showLineNo() const; void writeDocumentation(OutputList &ol); diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp index 2e67c26..b42780f 100644 --- a/src/rtfgen.cpp +++ b/src/rtfgen.cpp @@ -665,7 +665,7 @@ void RTFGenerator::endIndexSection(IndexSections is) break; case isMainPage: t << "\\par " << rtf_Style_Reset << endl; - if (!Doxygen::mainPage || Doxygen::mainPage->title().isEmpty()) + if (!mainPageHasTitle()) { t << "{\\tc \\v " << theTranslator->trMainPage() << "}"<< endl; } diff --git a/src/searchindex.cpp b/src/searchindex.cpp index 5859d67..52378cd 100644 --- a/src/searchindex.cpp +++ b/src/searchindex.cpp @@ -117,7 +117,7 @@ void SearchIndex::setCurrentDoc(Definition *ctx,const char *anchor,bool isSource case Definition::TypePage: { PageDef *pd = (PageDef *)ctx; - if (!pd->title().isEmpty()) + if (pd->hasTitle()) { name = theTranslator->trPage(TRUE,TRUE)+" "+pd->title(); } diff --git a/src/sqlite3gen.cpp b/src/sqlite3gen.cpp index a7b8dbb..eceea06 100644 --- a/src/sqlite3gen.cpp +++ b/src/sqlite3gen.cpp @@ -2478,7 +2478,7 @@ static void generateSqlite3ForPage(const PageDef *pd,bool isExample) QCString title; if (pd==Doxygen::mainPage) // main page is special { - if (!pd->title().isEmpty() && pd->title().lower()!="notitle") + if (mainPageHasTitle()) { title = filterTitle(convertCharEntitiesToUTF8(Doxygen::mainPage->title())); } diff --git a/src/util.cpp b/src/util.cpp index 08c13fb..24e8898 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -6674,7 +6674,7 @@ PageDef *addRelatedPage(const char *name,const QCString &ptitle, if (gd) gd->addPage(pd); - if (!pd->title().isEmpty()) + if (pd->hasTitle()) { //outputList->writeTitle(pi->name,pi->title); @@ -8919,10 +8919,7 @@ void convertProtectionLevel( bool mainPageHasTitle() { - if (Doxygen::mainPage==0) return FALSE; - if (Doxygen::mainPage->title().isEmpty()) return FALSE; - if (Doxygen::mainPage->title().lower()=="notitle") return FALSE; - return TRUE; + return Doxygen::mainPage!=0 && Doxygen::mainPage->hasTitle(); } QCString getDotImageExtension(void) diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index 033e611..8b8e648 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -1797,11 +1797,11 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample) if (pd==Doxygen::mainPage) // main page is special { QCString title; - if (!pd->title().isEmpty() && pd->title().lower()!="notitle") + if (mainPageHasTitle()) { title = filterTitle(convertCharEntitiesToUTF8(Doxygen::mainPage->title())); } - else + else { title = Config_getString(PROJECT_NAME); } -- cgit v0.12