diff options
author | Topi Reinio <topi.reinio@qt.io> | 2021-06-14 11:22:05 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-06-14 12:08:51 +0000 |
commit | 341488600249ddd8c55e33e37a3cb96a56db2a79 (patch) | |
tree | 583b5713d2e13daee9749062c14daabbd3679500 | |
parent | 79d39126d98e7db1a4eb44a3317a3deb8bd154c3 (diff) | |
download | qttools-341488600249ddd8c55e33e37a3cb96a56db2a79.tar.gz |
qdoc: Drop 'module' attribute from the index for page nodes
Page nodes, regardless of the node subtype, have no relation to any C++
module. Having this attribute in the index caused QDoc to search for
such a module, and create one if one was not found. This was a waste of
resources, and for pure documentation modules (such as 'QDoc' - the
QDoc Manual), caused broken links to a non-existing module page
(qdoc-module.html).
Fixes: QTBUG-94480
Change-Id: I2f608eba21ae977d3baaebf40885098ed1fe8d7e
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
(cherry picked from commit 3e88b552a1aac807504fa85bf752e6bd8542b573)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
8 files changed, 15 insertions, 22 deletions
diff --git a/src/qdoc/qdocindexfiles.cpp b/src/qdoc/qdocindexfiles.cpp index 7641bedcf..5eeb5e27c 100644 --- a/src/qdoc/qdocindexfiles.cpp +++ b/src/qdoc/qdocindexfiles.cpp @@ -1069,25 +1069,18 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter &writer, Node *node, have not (yet) been promoted to be node types is determined by the PageType enum. */ - bool writeModuleName = false; - if (node->isExample()) { + if (node->isExample()) writer.writeAttribute("subtype", "example"); - writeModuleName = true; - } else if (node->isExternalPage()) { + else if (node->isExternalPage()) writer.writeAttribute("subtype", "externalpage"); - } else { - if (node->pageType() == Node::AttributionPage) - writer.writeAttribute("subtype", "attribution"); - else - writer.writeAttribute("subtype", "page"); - writeModuleName = true; - } + else + writer.writeAttribute("subtype", + (node->pageType() == Node::AttributionPage) ? "attribution" : "page"); + const auto *pageNode = static_cast<const PageNode *>(node); writer.writeAttribute("title", pageNode->title()); writer.writeAttribute("fulltitle", pageNode->fullTitle()); writer.writeAttribute("subtitle", pageNode->subtitle()); - if (!node->physicalModuleName().isEmpty() && writeModuleName) - writer.writeAttribute("module", node->physicalModuleName()); if (!brief.isEmpty()) writer.writeAttribute("brief", brief); } break; diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml index c2235e69d..659d98f22 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/index.webxml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <WebXML> <document> - <page name="index.html" href="index.html" status="active" location="index.qdoc" documented="true" subtype="page" title="doc index" fulltitle="doc index" subtitle="" module="TestModule"> + <page name="index.html" href="index.html" status="active" location="index.qdoc" documented="true" subtype="page" title="doc index" fulltitle="doc index" subtitle=""> <description> <generatedlist contents="classesbymodule TestModule"/> </description> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-exhaustive.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-exhaustive.webxml index 673675bd1..276d08372 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-exhaustive.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-exhaustive.webxml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <WebXML> <document> - <page name="qdoctests-qdocfileoutput-exhaustive.html" href="qdoctests-qdocfileoutput-exhaustive.html" status="active" location="qdoctests-outputfromqdocfiles.qdoc" documented="true" subtype="page" title="Exhaustive testing of QDoc commands" fulltitle="Exhaustive testing of QDoc commands" subtitle="" module="OutputFromQDocFiles" brief="This page is a dumping ground for QDoc commands under test"> + <page name="qdoctests-qdocfileoutput-exhaustive.html" href="qdoctests-qdocfileoutput-exhaustive.html" status="active" location="qdoctests-outputfromqdocfiles.qdoc" documented="true" subtype="page" title="Exhaustive testing of QDoc commands" fulltitle="Exhaustive testing of QDoc commands" subtitle="" brief="This page is a dumping ground for QDoc commands under test"> <contents name="this-is-a-section1" title="This is a section1" level="1"/> <contents name="this-is-a-section2" title="This is a section2" level="2"/> <contents name="this-is-a-section3" title="This is a section3" level="3"/> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml index b3ad4ee3b..1bb19e10e 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput-linking.webxml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <WebXML> <document> - <page name="qdoctests-qdocfileoutput-linking.html" href="qdoctests-qdocfileoutput-linking.html" status="active" location="qdoctests-outputfromqdocfiles.qdoc" documented="true" subtype="page" title="Testing QDoc's link command" fulltitle="Testing QDoc's link command" subtitle="" module="OutputFromQDocFiles" brief="This is a page for testing QDoc's link command"> + <page name="qdoctests-qdocfileoutput-linking.html" href="qdoctests-qdocfileoutput-linking.html" status="active" location="qdoctests-outputfromqdocfiles.qdoc" documented="true" subtype="page" title="Testing QDoc's link command" fulltitle="Testing QDoc's link command" subtitle="" brief="This is a page for testing QDoc's link command"> <target name="link-test-target"/> <keyword name="qdoc-linking-test" title="QDoc Linking Test"/> <contents name="link-targets" title="Link targets" level="1"/> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml index 2d9c786d8..33f3c5879 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/qdoctests-qdocfileoutput.webxml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <WebXML> <document> - <page name="qdoctests-qdocfileoutput.html" href="qdoctests-qdocfileoutput.html" status="active" location="qdoctests-outputfromqdocfiles.qdoc" documented="true" subtype="page" title="Testing QDoc output from .qdoc files" fulltitle="Testing QDoc output from .qdoc files" subtitle="" module="OutputFromQDocFiles" brief="This is a simple page for testing purposes only"> + <page name="qdoctests-qdocfileoutput.html" href="qdoctests-qdocfileoutput.html" status="active" location="qdoctests-outputfromqdocfiles.qdoc" documented="true" subtype="page" title="Testing QDoc output from .qdoc files" fulltitle="Testing QDoc output from .qdoc files" subtitle="" brief="This is a simple page for testing purposes only"> <contents name="supported-file-types" title="Supported file types" level="1"/> <contents name="further-information" title="Further information" level="1"/> <contents name="linking" title="Linking" level="1"/> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml b/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml index 56e42e88e..600f2f3ed 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml +++ b/tests/auto/qdoc/generatedoutput/expected_output/html/test-componentset-example.webxml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <WebXML> <document> - <page name="componentset" href="test-componentset-example.html" status="active" location="examples.qdoc" documented="true" subtype="example" title="QML Documentation Example" fulltitle="QML Documentation Example" subtitle="" module="Test" brief="Example for documenting QML types"> + <page name="componentset" href="test-componentset-example.html" status="active" location="examples.qdoc" documented="true" subtype="example" title="QML Documentation Example" fulltitle="QML Documentation Example" subtitle="" brief="Example for documenting QML types"> <contents name="qml-class" title="QML Class" level="1"/> <contents name="properties-signals-handlers-and-methods" title="Properties, Signals, Handlers, and Methods" level="1"/> <contents name="internal-documentation" title="Internal Documentation" level="2"/> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index index 3552694cc..d140f678a 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index +++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index @@ -6,13 +6,13 @@ <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &x)" groups="testgroup"> <parameter type="int &" name="x" default=""/> </function> - <page name="autolinking.html" href="autolinking.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Autolinking" fulltitle="Autolinking" subtitle="" module="TestCPP"> + <page name="autolinking.html" href="autolinking.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Autolinking" fulltitle="Autolinking" subtitle=""> <contents name="testqdoc" title="TestQDoc" level="1"/> </page> <namespace name="CrossModuleRef" href="crossmoduleref.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="Namespace that has documented functions in multiple modules"> <function name="documentMe" fullname="CrossModuleRef::documentMe" href="crossmoduleref.html#documentMe" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void documentMe()"/> </namespace> - <page name="obsolete-classes.html" href="obsolete-classes.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Obsolete Classes" fulltitle="Obsolete Classes" subtitle="" module="TestCPP"> + <page name="obsolete-classes.html" href="obsolete-classes.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Obsolete Classes" fulltitle="Obsolete Classes" subtitle=""> <contents name="classes-with-obsolete-members" title="Classes with obsolete members" level="1"/> <contents name="testqdoc" title="TestQDoc" level="2"/> </page> diff --git a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index index 697625db1..ea122311d 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index +++ b/tests/auto/qdoc/generatedoutput/expected_output/testcpp.index @@ -6,13 +6,13 @@ <function name="QDOCTEST_MACRO2" href="testqdoc-test.html#QDOCTEST_MACRO2" status="active" access="public" documented="true" related="1" since="Test 1.1" meta="macrowithparams" virtual="non" const="false" static="false" final="false" override="false" type="" brief="A macro with argument x" signature="QDOCTEST_MACRO2(int &x)" groups="testgroup"> <parameter type="int &" name="x" default=""/> </function> - <page name="autolinking.html" href="autolinking.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Autolinking" fulltitle="Autolinking" subtitle="" module="TestCPP"> + <page name="autolinking.html" href="autolinking.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Autolinking" fulltitle="Autolinking" subtitle=""> <contents name="testqdoc" title="TestQDoc" level="1"/> </page> <namespace name="CrossModuleRef" href="crossmoduleref.html" status="active" access="public" location="testcpp.h" documented="true" module="TestCPP" brief="Namespace that has documented functions in multiple modules"> <function name="documentMe" fullname="CrossModuleRef::documentMe" href="crossmoduleref.html#documentMe" status="active" access="public" location="testcpp.h" documented="true" meta="plain" virtual="non" const="false" static="false" final="false" override="false" type="void" signature="void documentMe()"/> </namespace> - <page name="obsolete-classes.html" href="obsolete-classes.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Obsolete Classes" fulltitle="Obsolete Classes" subtitle="" module="TestCPP"> + <page name="obsolete-classes.html" href="obsolete-classes.html" status="active" location="classlists.qdoc" documented="true" subtype="page" title="Obsolete Classes" fulltitle="Obsolete Classes" subtitle=""> <contents name="classes-with-obsolete-members" title="Classes with obsolete members" level="1"/> <contents name="testqdoc" title="TestQDoc" level="2"/> </page> |