QDoc: Introduce a variable to set table of contents depth.
-"HTML.tocdepth" variable controls depth value. -setting to "0" disables table of contents. -sections 3 and 4 usually don't have descriptive titles to warrant their listing in the table of contents. -table width and CSS (online and offline) don't support wide entries. -Config class' getInt() function now returns -1 if a variable is not set. -for Qt 5 and projects which use html-config.qdocconf, tocdepth is set to "2". -added variable documentation. Task-number: QTBUG-38967 Change-Id: Ibd612f5b846ecb9c4b575e7ac11605c6efd2b77c Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
This commit is contained in:
parent
de1afe41e3
commit
e2a7293290
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
HTML.nonavigationbar = "false"
|
HTML.nonavigationbar = "false"
|
||||||
|
|
||||||
|
HTML.tocdepth = 2
|
||||||
|
|
||||||
HTML.extraimages += template/images/arrow_bc.png \
|
HTML.extraimages += template/images/arrow_bc.png \
|
||||||
template/images/home.png \
|
template/images/home.png \
|
||||||
template/images/ico_out.png \
|
template/images/ico_out.png \
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
** Contact: http://www.qt-project.org/legal
|
** Contact: http://www.qt-project.org/legal
|
||||||
**
|
**
|
||||||
** This file is part of the tools applications of the Qt Toolkit.
|
** This file is part of the tools applications of the Qt Toolkit.
|
||||||
@ -328,11 +328,14 @@ bool Config::getBool(const QString& var) const
|
|||||||
Looks up the configuration variable \a var in the string list
|
Looks up the configuration variable \a var in the string list
|
||||||
map. Iterates through the string list found, interpreting each
|
map. Iterates through the string list found, interpreting each
|
||||||
string in the list as an integer and adding it to a total sum.
|
string in the list as an integer and adding it to a total sum.
|
||||||
Returns the sum.
|
Returns the sum or \c -1 if \a var is not set.
|
||||||
*/
|
*/
|
||||||
int Config::getInt(const QString& var) const
|
int Config::getInt(const QString& var) const
|
||||||
{
|
{
|
||||||
QStringList strs = getStringList(var);
|
QStringList strs = getStringList(var);
|
||||||
|
if (strs.isEmpty())
|
||||||
|
return -1;
|
||||||
|
|
||||||
QStringList::ConstIterator s = strs.constBegin();
|
QStringList::ConstIterator s = strs.constBegin();
|
||||||
int sum = 0;
|
int sum = 0;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
** Contact: http://www.qt-project.org/legal
|
** Contact: http://www.qt-project.org/legal
|
||||||
**
|
**
|
||||||
** This file is part of the documentation of the Qt Toolkit.
|
** This file is part of the documentation of the Qt Toolkit.
|
||||||
@ -1331,6 +1331,13 @@
|
|||||||
\l qtgui.qdocconf file, and it will copy those specified to the output
|
\l qtgui.qdocconf file, and it will copy those specified to the output
|
||||||
directory alongside the HTML pages.
|
directory alongside the HTML pages.
|
||||||
|
|
||||||
|
\target HTML.tocdepth
|
||||||
|
\section1 HTML.tocdepth
|
||||||
|
|
||||||
|
The HTML.tocdepth variable defines how many document sections are printed in
|
||||||
|
the table of contents. Setting tocdepth to \c 0 disables the table of
|
||||||
|
contents while not setting the variable prints all document sections.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
** Contact: http://www.qt-project.org/legal
|
** Contact: http://www.qt-project.org/legal
|
||||||
**
|
**
|
||||||
** This file is part of the tools applications of the Qt Toolkit.
|
** This file is part of the tools applications of the Qt Toolkit.
|
||||||
@ -169,6 +169,9 @@ void HtmlGenerator::initializeGenerator(const Config &config)
|
|||||||
noNavigationBar = config.getBool(HtmlGenerator::format() +
|
noNavigationBar = config.getBool(HtmlGenerator::format() +
|
||||||
Config::dot +
|
Config::dot +
|
||||||
HTMLGENERATOR_NONAVIGATIONBAR);
|
HTMLGENERATOR_NONAVIGATIONBAR);
|
||||||
|
tocDepth = config.getInt(HtmlGenerator::format() +
|
||||||
|
Config::dot +
|
||||||
|
HTMLGENERATOR_TOCDEPTH);
|
||||||
|
|
||||||
project = config.getString(CONFIG_PROJECT);
|
project = config.getString(CONFIG_PROJECT);
|
||||||
|
|
||||||
@ -2243,6 +2246,10 @@ void HtmlGenerator::generateTableOfContents(const Node *node,
|
|||||||
if (toc.isEmpty() && !sections && !node->isModule())
|
if (toc.isEmpty() && !sections && !node->isModule())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
//turn off table of contents if HTML.tocdepth is set to 0
|
||||||
|
if (tocDepth == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
QStringList sectionNumber;
|
QStringList sectionNumber;
|
||||||
int detailsBase = 0;
|
int detailsBase = 0;
|
||||||
|
|
||||||
@ -2324,18 +2331,23 @@ void HtmlGenerator::generateTableOfContents(const Node *node,
|
|||||||
sectionNumber.last() = QString::number(sectionNumber.last().toInt() + 1);
|
sectionNumber.last() = QString::number(sectionNumber.last().toInt() + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int numAtoms;
|
|
||||||
Text headingText = Text::sectionHeading(atom);
|
//restrict the ToC depth to the one set by the HTML.tocdepth variable or
|
||||||
QString s = headingText.toString();
|
//print all levels if tocDepth is not set.
|
||||||
out() << "<li class=\"level"
|
if (sectionNumber.size() <= tocDepth || tocDepth < 0) {
|
||||||
<< sectionNumber.size()
|
int numAtoms;
|
||||||
<< "\">";
|
Text headingText = Text::sectionHeading(atom);
|
||||||
out() << "<a href=\""
|
QString s = headingText.toString();
|
||||||
<< '#'
|
out() << "<li class=\"level"
|
||||||
<< Doc::canonicalTitle(s)
|
<< sectionNumber.size()
|
||||||
<< "\">";
|
<< "\">";
|
||||||
generateAtomList(headingText.firstAtom(), node, marker, true, numAtoms);
|
out() << "<a href=\""
|
||||||
out() << "</a></li>\n";
|
<< '#'
|
||||||
|
<< Doc::canonicalTitle(s)
|
||||||
|
<< "\">";
|
||||||
|
generateAtomList(headingText.firstAtom(), node, marker, true, numAtoms);
|
||||||
|
out() << "</a></li>\n";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
while (!sectionNumber.isEmpty()) {
|
while (!sectionNumber.isEmpty()) {
|
||||||
sectionNumber.removeLast();
|
sectionNumber.removeLast();
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
** Contact: http://www.qt-project.org/legal
|
** Contact: http://www.qt-project.org/legal
|
||||||
**
|
**
|
||||||
** This file is part of the tools applications of the Qt Toolkit.
|
** This file is part of the tools applications of the Qt Toolkit.
|
||||||
@ -265,6 +265,7 @@ private:
|
|||||||
QString qmltypespage;
|
QString qmltypespage;
|
||||||
QString buildversion;
|
QString buildversion;
|
||||||
QString qflagsHref_;
|
QString qflagsHref_;
|
||||||
|
int tocDepth;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static bool debugging_on;
|
static bool debugging_on;
|
||||||
@ -278,6 +279,7 @@ public:
|
|||||||
#define HTMLGENERATOR_POSTPOSTHEADER "postpostheader"
|
#define HTMLGENERATOR_POSTPOSTHEADER "postpostheader"
|
||||||
#define HTMLGENERATOR_NONAVIGATIONBAR "nonavigationbar"
|
#define HTMLGENERATOR_NONAVIGATIONBAR "nonavigationbar"
|
||||||
#define HTMLGENERATOR_NOSUBDIRS "nosubdirs"
|
#define HTMLGENERATOR_NOSUBDIRS "nosubdirs"
|
||||||
|
#define HTMLGENERATOR_TOCDEPTH "tocdepth"
|
||||||
|
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user