summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexei Cazacov <[email protected]>2024-07-12 11:46:54 +0300
committerAlexei Cazacov <[email protected]>2024-08-13 18:24:35 +0300
commit8fcfd1481758bd1bd8b343124900e1878af4dcdc (patch)
treeb935d277ba38d9cc2370f1e4594a60faa4a6ecff
parent053b8ff7fedfe5aed29a91a82569c00cac466e9a (diff)
Docs: Organize topics in the qtbase repo
This commit organizes the articles, so they: - have a reasonable tree structure - can be navigated through the topic tree in the Qt Creator help viewer Task-number: QTBUG-127046 Change-Id: I66f2b131b8aacc887b35a770e51c1425431dffb5 Reviewed-by: Topi Reiniƶ <[email protected]>
-rw-r--r--qmake/doc/qmake.qdocconf11
-rw-r--r--qmake/doc/src/qmake-toc.qdoc30
-rw-r--r--src/concurrent/doc/qtconcurrent.qdocconf11
-rw-r--r--src/concurrent/doc/src/qtconcurrent-toc.qdoc19
-rw-r--r--src/corelib/doc/qtcore.qdocconf9
-rw-r--r--src/corelib/doc/src/qtcore-toc.qdoc59
-rw-r--r--src/dbus/doc/qtdbus.qdocconf12
-rw-r--r--src/dbus/doc/src/qtdbus-toc.qdoc26
-rw-r--r--src/gui/doc/qtgui.qdocconf10
-rw-r--r--src/gui/doc/src/qtgui-toc.qdoc37
-rw-r--r--src/network/doc/qtnetwork.qdocconf13
-rw-r--r--src/network/doc/src/qtnetwork-toc.qdoc20
-rw-r--r--src/opengl/doc/qtopengl.qdocconf8
-rw-r--r--src/sql/doc/qtsql.qdocconf10
-rw-r--r--src/sql/doc/src/qtsql-toc.qdoc25
-rw-r--r--src/testlib/doc/qttestlib.qdocconf9
-rw-r--r--src/testlib/doc/src/qttest-toc.qdoc28
-rw-r--r--src/widgets/doc/qtwidgets.qdocconf8
-rw-r--r--src/widgets/doc/src/qtwidgets-toc.qdoc64
-rw-r--r--src/xml/doc/qtxml.qdocconf9
-rw-r--r--src/xml/doc/src/qtxml-toc.qdoc21
21 files changed, 425 insertions, 14 deletions
diff --git a/qmake/doc/qmake.qdocconf b/qmake/doc/qmake.qdocconf
index 4de19f3f671..c3de78f0bd7 100644
--- a/qmake/doc/qmake.qdocconf
+++ b/qmake/doc/qmake.qdocconf
@@ -11,13 +11,13 @@ qhp.qmake.namespace = org.qt-project.qmake.$QT_VERSION_TAG
qhp.qmake.virtualFolder = qmake
qhp.qmake.indexTitle = QMake Manual
qhp.qmake.subprojects = manual
-qhp.qmake.subprojects.manual.title = Manual
-qhp.qmake.subprojects.manual.indexTitle = qmake Manual
-qhp.qmake.subprojects.manual.selectors = fake:page
+qhp.qmake.subprojects.manual.title = QMake Manual
+qhp.qmake.subprojects.manual.indexTitle = QMake module topics
+qhp.qmake.subprojects.manual.type = manual
language = Cpp
-sources = src/qmake-manual.qdoc
+sourcedirs += src
imagedirs = images
exampledirs = snippets
@@ -59,3 +59,6 @@ depends += \
qtxml
navigation.landingpage = "qmake Manual"
+# Auto-generate navigation linking based on "QMake module topics":
+navigation.toctitles = "QMake module topics"
+navigation.toctitles.inclusive = false
diff --git a/qmake/doc/src/qmake-toc.qdoc b/qmake/doc/src/qmake-toc.qdoc
new file mode 100644
index 00000000000..4cbf7911c0e
--- /dev/null
+++ b/qmake/doc/src/qmake-toc.qdoc
@@ -0,0 +1,30 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qmake-toc.html
+ \title QMake module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the qmake module.
+
+ \list
+ \li \l{Overview}
+ \li \l{Getting Started with qmake}
+ \li \l{Creating Project Files}
+ \li \l{Building Common Project Types}
+ \li \l{Running qmake}
+ \li \l{Platform Notes}
+ \li \l{qmake Language}
+ \li \l{Advanced Usage}
+ \li \l{Using Precompiled Headers}
+ \li \l{Configuring qmake}
+ \li \l{Reference}
+ \list
+ \li \l{Variables}
+ \li \l{Replace Functions}
+ \li \l{Test Functions}
+ \endlist
+ \endlist
+
+*/
diff --git a/src/concurrent/doc/qtconcurrent.qdocconf b/src/concurrent/doc/qtconcurrent.qdocconf
index c4efe64d0a0..0173be40d5c 100644
--- a/src/concurrent/doc/qtconcurrent.qdocconf
+++ b/src/concurrent/doc/qtconcurrent.qdocconf
@@ -15,11 +15,17 @@ qhp.QtConcurrent.virtualFolder = qtconcurrent
qhp.QtConcurrent.indexTitle = Qt Concurrent
qhp.QtConcurrent.indexRoot =
-qhp.QtConcurrent.subprojects = classes examples
+qhp.QtConcurrent.subprojects = manual examples classes
+
+qhp.QtConcurrent.subprojects.manual.title = Qt Concurrent
+qhp.QtConcurrent.subprojects.manual.indexTitle = Qt Concurrent module topics
+qhp.QtConcurrent.subprojects.manual.type = manual
+
qhp.QtConcurrent.subprojects.classes.title = C++ Classes
qhp.QtConcurrent.subprojects.classes.indexTitle = Qt Concurrent C++ Classes
qhp.QtConcurrent.subprojects.classes.selectors = class fake:headerfile
qhp.QtConcurrent.subprojects.classes.sortPages = true
+
qhp.QtConcurrent.subprojects.examples.title = Qt Concurrent Examples
qhp.QtConcurrent.subprojects.examples.indexTitle = Qt Concurrent Examples
qhp.QtConcurrent.subprojects.examples.selectors = fake:example
@@ -42,6 +48,9 @@ imagedirs += images
navigation.landingpage = "Qt Concurrent"
navigation.cppclassespage = "Qt Concurrent C++ Classes"
+# Auto-generate navigation linking based on "Qt Concurrent module topics":
+navigation.toctitles = "Qt Concurrent module topics"
+navigation.toctitles.inclusive = false
# Enforce zero documentation warnings
warninglimit = 0
diff --git a/src/concurrent/doc/src/qtconcurrent-toc.qdoc b/src/concurrent/doc/src/qtconcurrent-toc.qdoc
new file mode 100644
index 00000000000..3a3db8e47d3
--- /dev/null
+++ b/src/concurrent/doc/src/qtconcurrent-toc.qdoc
@@ -0,0 +1,19 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtconcurrent-toc.html
+ \title Qt Concurrent module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the Qt Concurrent module.
+
+ \list
+ \li \l {Concurrent Map and Map-Reduce}
+ \li \l {Concurrent Filter and Filter-Reduce}
+ \li \l {Concurrent Run}
+ \li \l {Concurrent Task}
+ \li \l {Changes to Qt Concurrent}{Upgrading from Qt 5}
+ \endlist
+
+*/
diff --git a/src/corelib/doc/qtcore.qdocconf b/src/corelib/doc/qtcore.qdocconf
index b30e34f6f69..be4be360d0c 100644
--- a/src/corelib/doc/qtcore.qdocconf
+++ b/src/corelib/doc/qtcore.qdocconf
@@ -18,7 +18,11 @@ qhp.QtCore.virtualFolder = qtcore
qhp.QtCore.indexTitle = Qt Core
qhp.QtCore.indexRoot =
-qhp.QtCore.subprojects = classes
+qhp.QtCore.subprojects = manual classes
+qhp.QtCore.subprojects.manual.title = Qt Core
+qhp.QtCore.subprojects.manual.indexTitle = Qt Core module topics
+qhp.QtCore.subprojects.manual.type = manual
+
qhp.QtCore.subprojects.classes.title = C++ Classes
qhp.QtCore.subprojects.classes.indexTitle = Qt Core C++ Classes
qhp.QtCore.subprojects.classes.selectors = class fake:headerfile
@@ -59,6 +63,9 @@ excludefiles += ../kernel/qtestsupport_core.cpp
navigation.landingpage = "Qt Core"
navigation.cppclassespage = "Qt Core C++ Classes"
+# Auto-generate navigation linking based on "Qt Core module topics":
+navigation.toctitles = "Qt Core module topics"
+navigation.toctitles.inclusive = false
# Highlighted examples in Data Processing & IO category
manifestmeta.highlighted.names = \
diff --git a/src/corelib/doc/src/qtcore-toc.qdoc b/src/corelib/doc/src/qtcore-toc.qdoc
new file mode 100644
index 00000000000..2f3ca186469
--- /dev/null
+++ b/src/corelib/doc/src/qtcore-toc.qdoc
@@ -0,0 +1,59 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtcore-toc.html
+ \title Qt Core module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the Qt Core module.
+
+ \list
+ \li \l {The Meta-Object System}
+ \li \l {The Property System}
+ \li \l {Object Model}
+ \li \l {Object Trees & Ownership}
+ \li \l {Signals & Slots}
+ \li \l {Qt Bindable Properties}
+ \li \l {The Event System}
+ \list
+ \li \l {Event Classes}
+ \endlist
+ \li \l{Implicit Sharing}
+ \list
+ \li \l {Implicitly Shared Classes}
+ \endlist
+ \li \l {Timers}
+ \li \l {The Animation Framework}
+ \list
+ \li \l {Animation Framework}{Animation Framework API}
+ \endlist
+ \li \l {The Qt Resource System}
+ \li \l {Qt Serialization}
+ \list
+ \li \l {CBOR Support in Qt}
+ \li \l {JSON Support in Qt}
+ \li \l {Serializing Qt Data Types}
+ \endlist
+ \li \l {Container Classes}
+ \li \l {Creating Custom Qt Types}
+ \li \l {Qt's foreach Keyword}
+ \li \l {Java-style Iterators in Qt}
+ \li \l {File and Datastream Functions}
+ \li \l {Input/Output and Networking}
+ \li \l {Inter-Process Communication}
+ \list
+ \li \l{Shared Memory}
+ \li \l{Native IPC Keys}
+ \endlist
+ \li \l {Application Permissions}
+ \li \l {Comparison types overview}
+ \li \l {Changes to Qt Core}{Upgrading from Qt 5}
+ \li \l{Qt Core Private C++ Classes}{Reference - Private C++ Classes}
+ \li \l{Plugin Classes}{Reference - Plugin Classes}
+ \li \l{CMake Commands in Qt6 Core}{Reference - CMake Commands}
+ \li \l{CMake Variables in Qt6 Core}{Reference - CMake Variables}
+ \li \l{CMake Target Properties in Qt6 Core}{Reference - CMake Target Properties}
+ \endlist
+
+*/
diff --git a/src/dbus/doc/qtdbus.qdocconf b/src/dbus/doc/qtdbus.qdocconf
index 90ee5743ff3..685b48eed30 100644
--- a/src/dbus/doc/qtdbus.qdocconf
+++ b/src/dbus/doc/qtdbus.qdocconf
@@ -51,17 +51,27 @@ qhp.QtDBus.indexTitle = Qt D-Bus
# Only update the name of the project for the next variables.
qhp.QtDBus.virtualFolder = qtdbus
-qhp.QtDBus.subprojects = classes examples
+
+qhp.QtDBus.subprojects = manual examples classes
+
+qhp.QtDBus.subprojects.manual.title = Qt D-Bus
+qhp.QtDBus.subprojects.manual.indexTitle = Qt D-Bus module topics
+qhp.QtDBus.subprojects.manual.type = manual
+
qhp.QtDBus.subprojects.classes.title = C++ Classes
qhp.QtDBus.subprojects.classes.indexTitle = Qt D-Bus C++ Classes
qhp.QtDBus.subprojects.classes.selectors = class fake:headerfile
qhp.QtDBus.subprojects.classes.sortPages = true
+
qhp.QtDBus.subprojects.examples.title = Examples
qhp.QtDBus.subprojects.examples.indexTitle = Qt D-Bus Examples
qhp.QtDBus.subprojects.examples.selectors = fake:example
navigation.landingpage = "Qt D-Bus"
navigation.cppclassespage = "Qt D-Bus C++ Classes"
+# Auto-generate navigation linking based on "Qt D-Bus module topics":
+navigation.toctitles = "Qt D-Bus module topics"
+navigation.toctitles.inclusive = false
manifestmeta.thumbnail.names = "QtDBus/D-Bus Ping Pong" \
"QtDBus/D-Bus Complex Ping Pong"
diff --git a/src/dbus/doc/src/qtdbus-toc.qdoc b/src/dbus/doc/src/qtdbus-toc.qdoc
new file mode 100644
index 00000000000..7232d549c8a
--- /dev/null
+++ b/src/dbus/doc/src/qtdbus-toc.qdoc
@@ -0,0 +1,26 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtdbus-toc.html
+ \title Qt D-Bus module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the Qt D-Bus module.
+
+ \list
+ \li \l {Qt D-Bus Overview}
+ \li \l {Using Qt D-Bus Adaptors}
+ \list
+ \li \l{Declaring Slots in D-Bus Adaptors}
+ \li \l{Declaring Signals in D-Bus Adaptors}
+ \li \l{The Qt D-Bus Type System}
+ \endlist
+ \li \l {Qt D-Bus XML compiler (qdbusxml2cpp)}
+ \li \l {D-Bus Viewer}
+ \li \l {CMake Commands in Qt6 DBus}
+ \li \l {CMake Source File Properties in Qt6 DBus}
+ \li \l {Changes to Qt D-Bus}{Upgrading to Qt 5}
+ \endlist
+
+*/
diff --git a/src/gui/doc/qtgui.qdocconf b/src/gui/doc/qtgui.qdocconf
index b94f11849c1..1d677dbe2b7 100644
--- a/src/gui/doc/qtgui.qdocconf
+++ b/src/gui/doc/qtgui.qdocconf
@@ -18,7 +18,12 @@ qhp.QtGui.virtualFolder = qtgui
qhp.QtGui.indexTitle = Qt GUI
qhp.QtGui.indexRoot =
-qhp.QtGui.subprojects = classes
+qhp.QtGui.subprojects = manual classes
+
+qhp.QtGui.subprojects.manual.title = Qt GUI
+qhp.QtGui.subprojects.manual.indexTitle = Qt GUI module topics
+qhp.QtGui.subprojects.manual.type = manual
+
qhp.QtGui.subprojects.classes.title = C++ Classes
qhp.QtGui.subprojects.classes.indexTitle = Qt GUI C++ Classes
qhp.QtGui.subprojects.classes.selectors = class fake:headerfile
@@ -67,6 +72,9 @@ manifestmeta.highlighted.names = "QtGui/Hello Vulkan Cubes Example"
navigation.landingpage = "Qt GUI"
navigation.cppclassespage = "Qt GUI C++ Classes"
+# Auto-generate navigation linking based on "Qt GUI module topics":
+navigation.toctitles = "Qt GUI module topics"
+navigation.toctitles.inclusive = false
# Ignore warnings about undocumented enum values for the QGradient presets
spurious += "Undocumented enum item '.*' in QGradient::Preset"
diff --git a/src/gui/doc/src/qtgui-toc.qdoc b/src/gui/doc/src/qtgui-toc.qdoc
new file mode 100644
index 00000000000..97aa0cbc2d5
--- /dev/null
+++ b/src/gui/doc/src/qtgui-toc.qdoc
@@ -0,0 +1,37 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtgui-toc.html
+ \title Qt GUI module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the Qt GUI module.
+
+ \list
+ \li \l {Qt GUI Overview}
+ \li \l {Paint System}
+ \list
+ \li \l{Paint Devices and Backends}
+ \li \l{Drawing and Filling}
+ \li \l{Coordinate System}
+ \li \l{Reading and Writing Image Files}
+ \li \l{Painting Classes}
+ \li \l{Rendering in 3D}
+ \endlist
+ \li \l {Rich Text Processing}
+ \list
+ \li \l{Rich Text Document Structure}
+ \li \l{The QTextCursor Interface}
+ \li \l{Document Layouts}
+ \li \l{Common Rich Text Editing Tasks}
+ \li \l{Advanced Rich Text Processing}
+ \li \l{Supported HTML Subset}
+ \li \l{Rich Text Processing APIs}
+ \endlist
+ \li \l {Drag and Drop}
+ \li \l {Changes to Qt GUI}{Upgrading from Qt 5}
+ \li \l {Qt GUI Private C++ Classes}{Reference - Private C++ Classes}
+ \endlist
+
+*/
diff --git a/src/network/doc/qtnetwork.qdocconf b/src/network/doc/qtnetwork.qdocconf
index 1e1162bdacf..2d2765da2e9 100644
--- a/src/network/doc/qtnetwork.qdocconf
+++ b/src/network/doc/qtnetwork.qdocconf
@@ -15,7 +15,15 @@ qhp.QtNetwork.virtualFolder = qtnetwork
qhp.QtNetwork.indexTitle = Qt Network
qhp.QtNetwork.indexRoot =
-qhp.QtNetwork.subprojects = classes
+qhp.QtNetwork.subprojects = manual examples classes
+qhp.QtNetwork.subprojects.manual.title = Qt Network
+qhp.QtNetwork.subprojects.manual.indexTitle = Qt Network module topics
+qhp.QtNetwork.subprojects.manual.type = manual
+
+qhp.QtNetwork.subprojects.examples.title = Examples
+qhp.QtNetwork.subprojects.examples.indexTitle = Network Examples
+qhp.QtNetwork.subprojects.examples.selectors = example
+
qhp.QtNetwork.subprojects.classes.title = C++ Classes
qhp.QtNetwork.subprojects.classes.indexTitle = Qt Network C++ Classes
qhp.QtNetwork.subprojects.classes.selectors = class fake:headerfile
@@ -39,6 +47,9 @@ imagedirs += images \
navigation.landingpage = "Qt Network"
navigation.cppclassespage = "Qt Network C++ Classes"
+# Auto-generate navigation linking based on "Qt Network module topics":
+navigation.toctitles = "Qt Network module topics"
+navigation.toctitles.inclusive = false
manifestmeta.highlighted.names = \
"QtNetwork/Fortune Client" \
diff --git a/src/network/doc/src/qtnetwork-toc.qdoc b/src/network/doc/src/qtnetwork-toc.qdoc
new file mode 100644
index 00000000000..cc6f7e3015b
--- /dev/null
+++ b/src/network/doc/src/qtnetwork-toc.qdoc
@@ -0,0 +1,20 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtnetwork-toc.html
+ \title Qt Network module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the Qt Network module.
+
+ \list
+ \li \l {Network Programming with Qt}
+ \list
+ \li \l{Network Programming API}
+ \endlist
+ \li \l {Secure Sockets Layer (SSL) Classes}
+ \li \l {Changes to Qt Network}{Upgrading from Qt 5}
+ \endlist
+
+*/
diff --git a/src/opengl/doc/qtopengl.qdocconf b/src/opengl/doc/qtopengl.qdocconf
index 7af173aac86..8d0a3998437 100644
--- a/src/opengl/doc/qtopengl.qdocconf
+++ b/src/opengl/doc/qtopengl.qdocconf
@@ -55,14 +55,20 @@ qhp.QtOpenGL.indexTitle = Qt OpenGL
# Only update the name of the project for the next variables.
qhp.QtOpenGL.virtualFolder = qtopengl
-qhp.QtOpenGL.subprojects = classes
+qhp.QtOpenGL.subprojects = classes examples
qhp.QtOpenGL.subprojects.classes.title = C++ Classes
qhp.QtOpenGL.subprojects.classes.indexTitle = Qt OpenGL C++ Classes
qhp.QtOpenGL.subprojects.classes.selectors = class fake:headerfile
qhp.QtOpenGL.subprojects.classes.sortPages = true
+qhp.QtOpenGL.subprojects.examples.title = Examples
+qhp.QtOpenGL.subprojects.examples.indexTitle = Qt OpenGL Examples
+qhp.QtOpenGL.subprojects.examples.selectors = example
+qhp.QtOpenGL.subprojects.examples.sortPages = true
+
navigation.landingpage = "Qt OpenGL"
navigation.cppclassespage = "Qt OpenGL C++ Classes"
+navigation.examplespage = "Qt OpenGL Examples"
# Enforce zero documentation warnings
warninglimit = 0
diff --git a/src/sql/doc/qtsql.qdocconf b/src/sql/doc/qtsql.qdocconf
index 9f6e1a31e0d..78c544454f5 100644
--- a/src/sql/doc/qtsql.qdocconf
+++ b/src/sql/doc/qtsql.qdocconf
@@ -15,11 +15,16 @@ qhp.QtSql.virtualFolder = qtsql
qhp.QtSql.indexTitle = Qt SQL
qhp.QtSql.indexRoot =
-qhp.QtSql.subprojects = classes
+qhp.QtSql.subprojects = manual classes
+qhp.QtSql.subprojects.manual.title = Qt SQL
+qhp.QtSql.subprojects.manual.indexTitle = Qt SQL module topics
+qhp.QtSql.subprojects.manual.type = manual
+
qhp.QtSql.subprojects.classes.title = C++ Classes
qhp.QtSql.subprojects.classes.indexTitle = Qt SQL C++ Classes
qhp.QtSql.subprojects.classes.selectors = class fake:headerfile
qhp.QtSql.subprojects.classes.sortPages = true
+
tagfile = ../../../doc/qtsql/qtsql.tags
depends += qtcore qtwidgets qtdoc qmake qtcmake
@@ -39,6 +44,9 @@ imagedirs += images \
navigation.landingpage = "Qt SQL"
navigation.cppclassespage = "Qt SQL C++ Classes"
+# Auto-generate navigation linking based on "Qt SQL module topics":
+navigation.toctitles = "Qt SQL module topics"
+navigation.toctitles.inclusive = false
# Highlighted examples in Data Processing & IO category
manifestmeta.highlighted.names = \
diff --git a/src/sql/doc/src/qtsql-toc.qdoc b/src/sql/doc/src/qtsql-toc.qdoc
new file mode 100644
index 00000000000..51f4f694832
--- /dev/null
+++ b/src/sql/doc/src/qtsql-toc.qdoc
@@ -0,0 +1,25 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtsql-toc.html
+ \title Qt SQL module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the Qt SQL module.
+
+ \list
+ \li \l {SQL Database Drivers}
+ \li \l {Data Types for Qt-supported Database Systems}
+ \li \l {SQL Programming}
+ \list
+ \li \l{Connecting to Databases}
+ \li \l{Executing SQL Statements}
+ \li \l{Using the SQL Model Classes}
+ \li \l{Presenting Data in a Table View}
+ \li \l{Creating Data-Aware Forms}
+ \endlist
+ \li \l {Changes to Qt SQL}{Upgrading from Qt 5}
+ \endlist
+
+*/
diff --git a/src/testlib/doc/qttestlib.qdocconf b/src/testlib/doc/qttestlib.qdocconf
index 8b245a864fd..31b088579aa 100644
--- a/src/testlib/doc/qttestlib.qdocconf
+++ b/src/testlib/doc/qttestlib.qdocconf
@@ -16,7 +16,11 @@ qhp.QtTestLib.virtualFolder = qttest
qhp.QtTestLib.indexTitle = Qt Test
qhp.QtTestLib.indexRoot =
-qhp.QtTestLib.subprojects = classes
+qhp.QtTestLib.subprojects = manual classes
+qhp.QtTestLib.subprojects.manual.title = Qt Test
+qhp.QtTestLib.subprojects.manual.indexTitle = Qt Test module topics
+qhp.QtTestLib.subprojects.manual.type = manual
+
qhp.QtTestLib.subprojects.classes.title = C++ Classes
qhp.QtTestLib.subprojects.classes.indexTitle = Qt Test C++ Classes
qhp.QtTestLib.subprojects.classes.selectors = class fake:headerfile
@@ -55,6 +59,9 @@ manifestmeta.thumbnail.names = "QtTestLib/Chapter *"
navigation.landingpage = "Qt Test"
navigation.cppclassespage = "Qt Test C++ Classes"
+# Auto-generate navigation linking based on "Qt Test module topics":
+navigation.toctitles = "Qt Test module topics"
+navigation.toctitles.inclusive = false
# Enforce zero documentation warnings
warninglimit = 0
diff --git a/src/testlib/doc/src/qttest-toc.qdoc b/src/testlib/doc/src/qttest-toc.qdoc
new file mode 100644
index 00000000000..13f8b7082d3
--- /dev/null
+++ b/src/testlib/doc/src/qttest-toc.qdoc
@@ -0,0 +1,28 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qttest-toc.html
+ \title Qt Test module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the Qt Test module.
+
+ \list
+ \li \l {Qt Test Overview}
+ \li \l {Qt Test Best Practices}{Best Practices}
+ \li \l {Qt Test Tutorial}
+ \list
+ \li \l {Chapter 1: Writing a Unit Test}
+ \li \l {Chapter 2: Data Driven Testing}
+ \li \l {Chapter 3: Simulating GUI Events}
+ \li \l {Chapter 4: Replaying GUI Events}
+ \li \l {Chapter 5: Writing a Benchmark}
+ \li \l {Chapter 6: Skipping Tests with QSKIP}
+ \endlist
+ \li \l {CMake Target Properties in Qt6 Test}{CMake Target Properties}
+ \li \l {CMake Variables in Qt6 Test}{CMake Variables}
+ \li \l {Changes to Qt Test}{Upgrading from Qt 5}
+ \endlist
+
+*/
diff --git a/src/widgets/doc/qtwidgets.qdocconf b/src/widgets/doc/qtwidgets.qdocconf
index 5f68179a367..f7de91f8d5d 100644
--- a/src/widgets/doc/qtwidgets.qdocconf
+++ b/src/widgets/doc/qtwidgets.qdocconf
@@ -18,11 +18,14 @@ qhp.QtWidgets.virtualFolder = qtwidgets
qhp.QtWidgets.indexTitle = Qt Widgets
qhp.QtWidgets.indexRoot =
-qhp.QtWidgets.subprojects = classes
+qhp.QtWidgets.subprojects = manual classes
qhp.QtWidgets.subprojects.classes.title = C++ Classes
qhp.QtWidgets.subprojects.classes.indexTitle = Qt Widgets C++ Classes
qhp.QtWidgets.subprojects.classes.selectors = class fake:headerfile
qhp.QtWidgets.subprojects.classes.sortPages = true
+qhp.QtWidgets.subprojects.manual.title = Qt Widgets
+qhp.QtWidgets.subprojects.manual.indexTitle = Qt Widgets module topics
+qhp.QtWidgets.subprojects.manual.type = manual
tagfile = ../../../doc/qtwidgets/qtwidgets.tags
@@ -74,6 +77,9 @@ imagedirs += images \
navigation.landingpage = "Qt Widgets"
navigation.cppclassespage = "Qt Widgets C++ Classes"
+# Auto-generate navigation linking based on "Qt Widgets module topics":
+navigation.toctitles = "Qt Widgets module topics"
+navigation.toctitles.inclusive = false
# Highlighted examples for User Interface Components category
manifestmeta.highlighted.names = \
diff --git a/src/widgets/doc/src/qtwidgets-toc.qdoc b/src/widgets/doc/src/qtwidgets-toc.qdoc
new file mode 100644
index 00000000000..8b31c583288
--- /dev/null
+++ b/src/widgets/doc/src/qtwidgets-toc.qdoc
@@ -0,0 +1,64 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtwidgets-toc.html
+ \title Qt Widgets module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the Qt Widgets module.
+
+ \list
+ \li \l {Widgets Classes}{Widgets}
+ \list
+ \li \l{Qt Widget Gallery}{Widget Gallery}
+ \endlist
+ \li \l {Window and Dialog Widgets}
+ \list
+ \li \l{Application Main Window}
+ \endlist
+ \li \l {Dialog Windows}
+ \list
+ \li \l{Standard Dialogs}
+ \endlist
+ \li \l {Styles and Style Aware Widgets}
+ \list
+ \li \l{Styling}
+ \endlist
+ \li \l {Qt Style Sheets}
+ \list
+ \li \l{The Style Sheet Syntax}
+ \li \l{Qt Widgets Designer Integration}
+ \li \l{Customizing Qt Widgets Using Style Sheets}{Using Style Sheets}
+ \li \l{Qt Style Sheets Reference}{Style Sheets Reference}
+ \li \l{Qt Style Sheets Examples}{Style Sheets Examples}
+ \endlist
+ \li \l {Layout Management}
+ \li \l {Model/View Programming}
+ \list
+ \li \l{Model/View Tutorial}
+ \endlist
+ \li \l {Keyboard Focus in Widgets}
+ \li \l {Gestures in Widgets and Graphics View}
+ \li \l {Graphics View Framework}
+ \li \l {Changes to Qt Widgets}{Upgrading form Qt 5}
+ \li \l {Widgets Tutorial}
+ \list
+ \li \l{Widgets Tutorial - Creating a Window}{Creating a Window}
+ \li \l{Widgets Tutorial - Child Widgets}{Child Widgets}
+ \li \l{Widgets Tutorial - Using Layouts}{Using Layouts}
+ \li \l{Widgets Tutorial - Nested Layouts}{Nested Layouts}
+ \endlist
+ \li \l {Qt Widgets Examples}{Examples}
+ \list
+ \li \l{Main Window Examples}
+ \li \l{Desktop Examples}
+ \li \l{Dialog Examples}
+ \li \l{Item Views Examples}
+ \li \l{Painting Examples}
+ \li \l{Rich Text Examples}
+ \li \l{Graphics View Examples}
+ \endlist
+ \endlist
+
+*/
diff --git a/src/xml/doc/qtxml.qdocconf b/src/xml/doc/qtxml.qdocconf
index 63d934943b3..ffc679b1bd3 100644
--- a/src/xml/doc/qtxml.qdocconf
+++ b/src/xml/doc/qtxml.qdocconf
@@ -15,12 +15,16 @@ qhp.QtXml.virtualFolder = qtxml
qhp.QtXml.indexTitle = Qt XML
qhp.QtXml.indexRoot =
-qhp.QtXml.subprojects = classes
+qhp.QtXml.subprojects = manual classes
qhp.QtXml.subprojects.classes.title = C++ Classes
qhp.QtXml.subprojects.classes.indexTitle = Qt XML C++ Classes
qhp.QtXml.subprojects.classes.selectors = class fake:headerfile
qhp.QtXml.subprojects.classes.sortPages = true
+qhp.QtXml.subprojects.manual.title = Qt XML
+qhp.QtXml.subprojects.manual.indexTitle = Qt XML module topics
+qhp.QtXml.subprojects.manual.type = manual
+
tagfile = ../../../doc/qtxml/qtxml.tags
depends += qtcore qtnetwork qtdoc qtwidgets qmake qtcmake qtcore5compat
@@ -35,6 +39,9 @@ exampledirs += ../../../examples/xml \
navigation.landingpage = "Qt XML"
navigation.cppclassespage = "Qt XML C++ Classes"
+# Auto-generate navigation linking based on "Qt XML module topics":
+navigation.toctitles = "Qt XML module topics"
+navigation.toctitles.inclusive = false
# Add a thumbnail for examples that do not have images
manifestmeta.thumbnail.names = "QtXml/XML Stream Lint Example"
diff --git a/src/xml/doc/src/qtxml-toc.qdoc b/src/xml/doc/src/qtxml-toc.qdoc
new file mode 100644
index 00000000000..327567ce307
--- /dev/null
+++ b/src/xml/doc/src/qtxml-toc.qdoc
@@ -0,0 +1,21 @@
+// Copyright (C) 2024 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtxml-toc.html
+ \title Qt XML module topics
+
+ The following list has links to all the individual topics (HTML files)
+ in the Qt XML module.
+
+ \list
+ \li \l {XML Processing}
+ \li \l {An Introduction to Namespaces}
+ \li \l {XML Streaming}
+ \li \l {Working with the DOM Tree}
+ \li \l {XML Classes}
+ \li \l {Changes to Qt XML}{Upgrading from Qt 5}
+ \li \l {DOM Bookmarks Application}{Example}
+ \endlist
+
+*/