summaryrefslogtreecommitdiffstats
path: root/doc/global
diff options
context:
space:
mode:
Diffstat (limited to 'doc/global')
-rw-r--r--doc/global/config.qdocconf18
-rw-r--r--doc/global/externalsites/external-resources.qdoc69
-rw-r--r--doc/global/externalsites/qt-webpages.qdoc28
-rw-r--r--doc/global/externalsites/qtcreator.qdoc28
-rw-r--r--doc/global/externalsites/qtdesignstudio.qdoc28
-rw-r--r--doc/global/externalsites/rfc.qdoc28
-rw-r--r--doc/global/fileextensions.qdocconf2
-rw-r--r--doc/global/html-config.qdocconf4
-rw-r--r--doc/global/html-footer-online.qdocconf2
-rw-r--r--doc/global/html-footer.qdocconf10
-rw-r--r--doc/global/html-header-offline.qdocconf8
-rw-r--r--doc/global/html-header-online.qdocconf3
-rw-r--r--doc/global/htmltabs.qdocconf60
-rw-r--r--doc/global/includes-online/search.qdoc28
-rw-r--r--doc/global/includes/cli-build-cmake.qdocinc42
-rw-r--r--doc/global/includes/corelib/port-from-qregexp.qdocinc175
-rw-r--r--doc/global/includes/examples-run.qdocinc4
-rw-r--r--doc/global/includes/module-use.qdocinc64
-rw-r--r--doc/global/includes/standardpath/functiondocs.qdocinc42
-rw-r--r--doc/global/macros-online.qdocconf8
-rw-r--r--doc/global/macros.qdocconf102
-rw-r--r--doc/global/manifest-meta.qdocconf118
-rw-r--r--doc/global/qt-cpp-defines.qdocconf231
-rw-r--r--doc/global/qt-html-templates-offline-simple.qdocconf2
-rw-r--r--doc/global/qt-html-templates-offline.qdocconf14
-rw-r--r--doc/global/qt-module-defaults-online-commercial.qdocconf3
-rw-r--r--doc/global/qt-module-defaults-online.qdocconf10
-rw-r--r--doc/global/snippets/code/doc_src_port_from_qregexp.cpp65
-rw-r--r--doc/global/template/style/htmltabs.css60
-rw-r--r--doc/global/template/style/offline-dark.css778
-rw-r--r--doc/global/template/style/offline.css27
-rw-r--r--doc/global/template/style/online.css30
-rw-r--r--doc/global/template/style/tech_preview.svg1
-rw-r--r--doc/global/warninglimit.qdocconf9
34 files changed, 1558 insertions, 543 deletions
diff --git a/doc/global/config.qdocconf b/doc/global/config.qdocconf
index 16d084f9c8..1ed2160522 100644
--- a/doc/global/config.qdocconf
+++ b/doc/global/config.qdocconf
@@ -3,7 +3,7 @@
dita.metadata.default.author = Qt Project
dita.metadata.default.permissions = all
dita.metadata.default.publisher = Qt Project
-dita.metadata.default.copyryear = 2022
+dita.metadata.default.copyryear = 2024
dita.metadata.default.copyrholder = The Qt Company Ltd
dita.metadata.default.audience = programmer
@@ -19,15 +19,21 @@ ignorewords += \
WebSockets \
OpenGL
-# Omit \since information for items introduced before Qt 5
-ignoresince = 5.0
+# Omit \since information for items introduced before Qt 6
+ignoresince = 6.0
sourcedirs += includes $$BUILDDIR
+exampledirs += snippets
url = https://doc.qt.io/qt
defines += qt6
-# Uncomment the following two lines to generate documentation marked as \internal
-# alias.internal = disable
-# macro.internal.HTML = "<span style="color:red">[internal]</span>"
+# Require Qt modules to define qhp.projects
+qhp = true
+
+# Disable writing host-specific paths into .index files
+locationinfo = false
+
+# Include the warninglimit used for documentation testing in CI
+include(warninglimit.qdocconf)
diff --git a/doc/global/externalsites/external-resources.qdoc b/doc/global/externalsites/external-resources.qdoc
index 19cbf87e62..272c73b3b0 100644
--- a/doc/global/externalsites/external-resources.qdoc
+++ b/doc/global/externalsites/external-resources.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\externalpage https://source.android.com/setup/start/build-numbers
\title Android: Build Numbers
@@ -53,6 +29,10 @@
\title Android: Verify Android App Links
*/
/*!
+ \externalpage https://source.android.com/devices/tech/debug/tagged-pointers
+ \title Android: Tagged Pointers
+*/
+/*!
\externalpage https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl
\title iOS: canOpenURL:
*/
@@ -97,7 +77,7 @@
*/
/*!
- \externalpage http://www.cmake.org/cmake/help/documentation.html
+ \externalpage https://cmake.org/cmake/help/latest/
\title CMake Documentation
*/
@@ -137,6 +117,11 @@
*/
/*!
+ \externalpage https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html
+ \title CMake BUILD_SHARED_LIBS Documentation
+*/
+
+/*!
\externalpage https://conan.io/
\title Conan
*/
@@ -561,3 +546,33 @@
\externalpage https://www.unicode.org/
\title Unicode standard
*/
+
+/*!
+ \externalpage https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw
+ \title CreateProcess
+*/
+
+/*!
+ \externalpage https://testanything.org
+ \title Test Anything Protocol
+*/
+
+/*!
+ \externalpage https://www.jetbrains.com/teamcity/
+ \title TeamCity
+*/
+
+/*!
+ \externalpage https://junit.org/
+ \title JUnit XML
+*/
+
+/*!
+ \externalpage https://www.qt.io/product/quality-assurance/test-center
+ \title Test Center
+*/
+
+/*!
+ \externalpage https://specifications.freedesktop.org/trash-spec/trashspec-1.0.html
+ \title FreeDesktop.org Trash specification version 1.0
+*/
diff --git a/doc/global/externalsites/qt-webpages.qdoc b/doc/global/externalsites/qt-webpages.qdoc
index baeeed255e..7b659fa529 100644
--- a/doc/global/externalsites/qt-webpages.qdoc
+++ b/doc/global/externalsites/qt-webpages.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\externalpage http://qt.io/
\title Qt Homepage
diff --git a/doc/global/externalsites/qtcreator.qdoc b/doc/global/externalsites/qtcreator.qdoc
index 5d97a87ad1..c99e6cbe7b 100644
--- a/doc/global/externalsites/qtcreator.qdoc
+++ b/doc/global/externalsites/qtcreator.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// Up-to-date with Qt Creator 6.0.0
diff --git a/doc/global/externalsites/qtdesignstudio.qdoc b/doc/global/externalsites/qtdesignstudio.qdoc
index a8c1e34bc5..2a9acfaed8 100644
--- a/doc/global/externalsites/qtdesignstudio.qdoc
+++ b/doc/global/externalsites/qtdesignstudio.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
// Up-to-date with QDS 2.2.1
diff --git a/doc/global/externalsites/rfc.qdoc b/doc/global/externalsites/rfc.qdoc
index 6d515d8506..b6646f453c 100644
--- a/doc/global/externalsites/rfc.qdoc
+++ b/doc/global/externalsites/rfc.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\externalpage https://datatracker.ietf.org/doc/html/rfc850
diff --git a/doc/global/fileextensions.qdocconf b/doc/global/fileextensions.qdocconf
index ca036619f1..cf9c6688c0 100644
--- a/doc/global/fileextensions.qdocconf
+++ b/doc/global/fileextensions.qdocconf
@@ -3,7 +3,7 @@ outputencoding = UTF-8
sourceencoding = UTF-8
examples.fileextensions = "*.cpp *.h *.js *.xq *.svg *.xml *.ui *.qhp *.qhcp *.qml *.css *.glsl"
-examples.imageextensions = "*.png *.jpg *.gif"
+examples.imageextensions = "*.png *.jpg *.gif *.webp"
headers.fileextensions = "*.ch *.h *.h++ *.hh *.hpp *.hxx"
sources.fileextensions = "*.c++ *.cc *.cpp *.cxx *.mm *.qml *.qdoc"
diff --git a/doc/global/html-config.qdocconf b/doc/global/html-config.qdocconf
index 9b3b05b7d3..216f3a50cf 100644
--- a/doc/global/html-config.qdocconf
+++ b/doc/global/html-config.qdocconf
@@ -18,7 +18,8 @@ HTML.extraimages += template/images/arrow_bc.png \
#specify which files in the output directory should be packed into the qch file.
#these files are assumed to be in each module's output directory."qtquick/images/ico_out.png" for example.
-qhp.extraFiles += images/arrow_bc.png \
+{qhp.extraFiles,DocBook.extraFiles} += \
+ images/arrow_bc.png \
images/home.png \
images/ico_out.png \
images/ico_note.png \
@@ -29,3 +30,4 @@ qhp.extraFiles += images/arrow_bc.png \
images/bullet_sq.png \
images/bgrContent.png \
images/logo.png
+
diff --git a/doc/global/html-footer-online.qdocconf b/doc/global/html-footer-online.qdocconf
index 523d228b93..6da298418b 100644
--- a/doc/global/html-footer-online.qdocconf
+++ b/doc/global/html-footer-online.qdocconf
@@ -78,7 +78,7 @@ HTML.footer += \
" <ul id=\"menu-footer-submenu\" class=\"right clearfix\"><li id=\"menu-item-1795\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-1795\"><a title=\"Sign into your account.\" href=\"https://account.qt.io/login\">Sign In</a></li>\n" \
" <li id=\"menu-item-10375\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-10375\"><a href=\"mailto:feedback@theqtcompany.com?Subject=Feedback%20about%20doc.qt.io%20site\">Feedback</a></li>\n" \
" <li id=\"menu-item-1494\" class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-1494\"><a href=\"http://qt.io/contact-us/\">Contact us</a></li>\n" \
- " <li id=\"menu-item-4472\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-4472\"><a href=\"http://qt.io/about-us/\">© 2022 The Qt Company</a></li>\n" \
+ " <li id=\"menu-item-4472\" class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-4472\"><a href=\"http://qt.io/about-us/\">© 2024 The Qt Company</a></li>\n" \
" </ul>\n" \
"</div>\n" \
"</div>\n" \
diff --git a/doc/global/html-footer.qdocconf b/doc/global/html-footer.qdocconf
index 673e500291..75626af645 100644
--- a/doc/global/html-footer.qdocconf
+++ b/doc/global/html-footer.qdocconf
@@ -8,13 +8,13 @@ HTML.footer = \
"</div>\n" \
"<div class=\"footer\">\n" \
" <p>\n" \
- " <acronym title=\"Copyright\">&copy;</acronym> 2022 The Qt Company Ltd.\n" \
+ " <abbr title=\"Copyright\">&copy;</abbr> 2024 <span translate=\"no\">The Qt Company Ltd.</span>\n" \
" Documentation contributions included herein are the copyrights of\n" \
" their respective owners.<br/>" \
" The documentation provided herein is licensed under the terms of the" \
" <a href=\"http://www.gnu.org/licenses/fdl.html\">GNU Free Documentation" \
- " License version 1.3</a> as published by the Free Software Foundation.<br/>" \
- " Qt and respective logos are trademarks of The Qt Company Ltd. " \
- " in Finland and/or other countries worldwide. All other trademarks are property\n" \
- " of their respective owners. </p>\n" \
+ " License version 1.3</a> as published by the <span translate=\"no\">Free Software Foundation</span>.<br/>" \
+ " <span translate=\"no\">Qt</span> and respective logos are <a href=\"https://doc.qt.io/qt/trademarks.html\">" \
+ " trademarks</a> of <span translate=\"no\">The Qt Company Ltd.</span> in Finland and/or other countries\n" \
+ " worldwide. All other trademarks are property of their respective owners. </p>\n" \
"</div>\n" \
diff --git a/doc/global/html-header-offline.qdocconf b/doc/global/html-header-offline.qdocconf
index d84f38fef8..ffce22eeee 100644
--- a/doc/global/html-header-offline.qdocconf
+++ b/doc/global/html-header-offline.qdocconf
@@ -1,10 +1,14 @@
#Default HTML header for QDoc builds.
#specify the CSS file used by this template
-HTML.stylesheets = template/style/offline.css
+HTML.stylesheets = template/style/offline.css \
+ template/style/offline-dark.css \
+ template/style/tech_preview.svg
#for including files into the qch file
-qhp.extraFiles += style/offline.css
+qhp.extraFiles += style/offline.css \
+ style/offline-dark.css \
+ style/tech_preview.svg
HTML.headerstyles = \
" <link rel=\"stylesheet\" type=\"text/css\" href=\"style/offline.css\" />\n"
diff --git a/doc/global/html-header-online.qdocconf b/doc/global/html-header-online.qdocconf
index d674e76bb0..8d258c2a27 100644
--- a/doc/global/html-header-online.qdocconf
+++ b/doc/global/html-header-online.qdocconf
@@ -11,8 +11,10 @@ HTML.stylesheets = template/style/online.css \
template/style/icomoon.woff \
template/style/cookiebar-x.png \
template/style/doc_search.png \
+ template/style/tech_preview.svg \
template/style/theqtcompany.png
+
#for including files into the qch file. Relative to the outputdir of a QDoc build.
qhp.extraFiles += style/online.css \
style/cookie-confirm.css \
@@ -25,6 +27,7 @@ qhp.extraFiles += style/online.css \
style/icomoon.woff \
style/cookiebar-x.png \
style/doc_search.png \
+ style/tech_preview.svg \
style/theqtcompany.png
HTML.headerstyles = \
diff --git a/doc/global/htmltabs.qdocconf b/doc/global/htmltabs.qdocconf
new file mode 100644
index 0000000000..164c71e9f0
--- /dev/null
+++ b/doc/global/htmltabs.qdocconf
@@ -0,0 +1,60 @@
+#Macros for HTML tabs
+#Usage:
+#\tab {name}{tab-id}{title}{checked}
+#\tabcontent {tab-id}
+# content
+#\endtabcontent
+
+# Ensure that the {name} is unique for the group.
+# i.e A group of tabs can have the same name, whereas
+# {tab-id} should be unique. In addition, the argument
+# for \tabcontent macro should match the {tab-id} for the
+# corresponding \tab.
+
+# The {checked} argument ensures that the tab is selected
+# by default when the HTML page is loaded. For the other
+# tabs that are not selected, pass and empty argument {}.
+#
+# Note that these macros work with the online template only.
+#
+# Example:
+# \if defined(onlinedocs)
+# \tab {build-qt-app}{tab-cmake}{CMake}{checked}
+# \tab {build-qt-app}{tab-qmake}{qmake}{}
+# \tabcontent {tab-cmake}
+# \else
+# \section1 Using CMake
+# \endif
+# CMake-specific instructions go here
+# \if defined(onlinedocs)
+# \endtabcontent
+# \tabcontent {tab-qmake}
+# \else
+# \section1 Using qmake
+# \endif
+# qmake-specific instructions go here
+# \if defined(onlinedocs)
+# \endtabcontent
+# \endif
+
+macro.tab.HTML = "<input type=\"radio\" name=\"tabs_\1\" id=\"\2\" \4/><label for=\"\2\">\3</label><style>#\2:checked ~ .\2{display: block;}</style>"
+macro.tabcontent.HTML = "<div class=\"tabcontent \1\">"
+macro.endtabcontent.HTML = "</div>"
+
+HTML.extraimages += template/style/htmltabs.css
+
+HTML.headerstyles += \
+ " <link rel=\"stylesheet\" type=\"text/css\" href=\"images/htmltabs.css\" />\n"
+
+HTML.headerscripts += \
+ " <script type=\"text/javascript\">\n" \
+ " \$(document).ready(function(){\n" \
+ " \$(\"input[type=radio]\").on(\"click\", function() {\n" \
+ " var lbl = \$(this).next().text();\n" \
+ " \$(\"input[type=radio]:not(checked)\").filter(function() {\n" \
+ " if (\$(this).next().text() == lbl)\n" \
+ " \$(this).prop(\"checked\", true);\n" \
+ " });\n" \
+ " });\n" \
+ " });\n" \
+ " </script>\n"
diff --git a/doc/global/includes-online/search.qdoc b/doc/global/includes-online/search.qdoc
index 8d3c7d27aa..3be897d29b 100644
--- a/doc/global/includes-online/search.qdoc
+++ b/doc/global/includes-online/search.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page search-results.html
diff --git a/doc/global/includes/cli-build-cmake.qdocinc b/doc/global/includes/cli-build-cmake.qdocinc
new file mode 100644
index 0000000000..b4c6ffccb4
--- /dev/null
+++ b/doc/global/includes/cli-build-cmake.qdocinc
@@ -0,0 +1,42 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+//! [cli-build-cmake]
+
+ \section1 Building and Running from the Command Line
+
+ To build an example application from the command line, create a build
+ directory for it. Switch to the build directory and run \c qt-cmake to
+ configure your project for building. If the project is configured
+ successfully, the generated files enable you to build the project.
+
+ \badcode
+ md <build_directory>
+ cd <build_directory>
+ <qt_installation_directory>\bin\qt-cmake -GNinja <source_directory>
+ <generator>
+ \endcode
+
+ The commands create an executable in the build directory. The \c CMake
+ tool reads the project file and produces instructions for how to build
+ the application. The generator then uses the instructions to produce
+ the executable binary.
+
+ For example, to build the Notepad example on Windows, when using Ninja
+ as the generator, enter the following commands:
+
+ \badcode \QtVersion
+ md notepad-build
+ cd notepad-build
+ C:\Qt\\1\msvc2019_64\bin\qt-cmake -GNinja C:\Examples\notepad
+ ninja
+ \endcode
+
+ If you do not use Ninja as the generator, use the generator-independent
+ CMake command to build the application instead of \c ninja:
+
+ \badcode
+ cmake --build
+ \endcode
+
+//! [cli-build-cmake]
diff --git a/doc/global/includes/corelib/port-from-qregexp.qdocinc b/doc/global/includes/corelib/port-from-qregexp.qdocinc
new file mode 100644
index 0000000000..11f0a3136f
--- /dev/null
+++ b/doc/global/includes/corelib/port-from-qregexp.qdocinc
@@ -0,0 +1,175 @@
+// Copyright (C) 2022 Giuseppe D'Angelo <dangelog@gmail.com>.
+// Copyright (C) 2022 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+//! [porting-to-qregularexpression]
+
+ The QRegularExpression class introduced in Qt 5 implements Perl-compatible
+ regular expressions and is a big improvement upon QRegExp in terms of APIs
+ offered, supported pattern syntax, and speed of execution. The biggest
+ difference is that QRegularExpression simply holds a regular expression,
+ and it's \e{not} modified when a match is requested. Instead, a
+ QRegularExpressionMatch object is returned, to check the result of a match
+ and extract the captured substring. The same applies to global matching and
+ QRegularExpressionMatchIterator.
+
+ Other differences are outlined below.
+
+ \note QRegularExpression does not support all the features available in
+ Perl-compatible regular expressions. The most notable one is the fact that
+ duplicated names for capturing groups are not supported, and using them can
+ lead to undefined behavior. This may change in a future version of Qt.
+
+ \section3 Different pattern syntax
+
+ Porting a regular expression from QRegExp to QRegularExpression may require
+ changes to the pattern itself.
+
+ In specific scenarios, QRegExp was too lenient and accepted patterns that
+ are simply invalid when using QRegularExpression. These are easy to detect,
+ because the QRegularExpression objects built with these patterns are not
+ valid (see QRegularExpression::isValid()).
+
+ In other cases, a pattern ported from QRegExp to QRegularExpression may
+ silently change semantics. Therefore, it is necessary to review the
+ patterns used. The most notable cases of silent incompatibility are:
+
+ \list
+
+ \li Curly braces are needed to use a hexadecimal escape like \c{\xHHHH}
+ with more than 2 digits. A pattern like \c{\x2022} needs to be ported
+ to \c{\x{2022}}, or it will match a space (\c{0x20}) followed by the
+ string \c{"22"}. In general, it is highly recommended to always use
+ curly braces with the \c{\x} escape, no matter the number of digits
+ specified.
+
+ \li A 0-to-n quantification like \c{{,n}} needs to be ported to \c{{0,n}}
+ to preserve semantics. Otherwise, a pattern such as \c{\d{,3}} would
+ match a digit followed by the exact string \c{"{,3}"}.
+
+ \li QRegExp by default does Unicode-aware matching, while
+ QRegularExpression requires a separate option; see below for more
+ details.
+
+ \li c{.} in QRegExp does by default match all characters, including the
+ newline character. QRegularExpression excludes the newline character
+ by default. To include the newline character, set the
+ QRegularExpression::DotMatchesEverythingOption pattern option.
+
+ \endlist
+
+ For an overview of the regular expression syntax supported by
+ QRegularExpression, please refer to the
+ \l{https://pcre.org/original/doc/html/pcrepattern.html}{pcrepattern(3)}
+ man page, describing the pattern syntax supported by PCRE (the reference
+ implementation of Perl-compatible regular expressions).
+
+ \section3 Porting from QRegExp::exactMatch()
+
+ QRegExp::exactMatch() served two purposes: it exactly matched a regular
+ expression against a subject string, and it implemented partial matching.
+
+ \section4 Porting from QRegExp's Exact Matching
+
+ Exact matching indicates whether the regular expression matches the entire
+ subject string. For example, the classes yield on the subject string \c{"abc123"}:
+
+ \table
+ \header \li \li QRegExp::exactMatch() \li QRegularExpressionMatch::hasMatch()
+ \row \li \c{"\\d+"} \li \b false \li \b true
+ \row \li \c{"[a-z]+\\d+"} \li \b true \li \b true
+ \endtable
+
+ Exact matching is not reflected in QRegularExpression. If you want
+ to be sure that the subject string matches the regular expression
+ exactly, you can wrap the pattern using the QRegularExpression::anchoredPattern()
+ function:
+
+ \snippet code/doc_src_port_from_qregexp.cpp 0
+
+ \section4 Porting from QRegExp's Partial Matching
+
+ When using QRegExp::exactMatch(), if an exact match was not found, one
+ could still find out how much of the subject string was matched by the
+ regular expression by calling QRegExp::matchedLength(). If the returned length
+ was equal to the subject string's length, then one could conclude that a partial
+ match was found.
+
+ QRegularExpression supports partial matching explicitly by means of the
+ appropriate QRegularExpression::MatchType.
+
+ \section3 Global matching
+
+ Due to limitations of the QRegExp API, it was impossible to implement global
+ matching correctly (that is, like Perl does). In particular, patterns that
+ can match 0 characters (like \c{"a*"}) are problematic.
+
+ QRegularExpression::globalMatch() implements Perl global match correctly, and
+ the returned iterator can be used to examine each result.
+
+ For example, if you have code like:
+
+ \snippet code/doc_src_port_from_qregexp.cpp 1
+
+ You can rewrite it as:
+
+ \snippet code/doc_src_port_from_qregexp.cpp 2
+
+ \section3 Unicode properties support
+
+ When using QRegExp, character classes such as \c{\w}, \c{\d}, etc. match
+ characters with the corresponding Unicode property: for instance, \c{\d}
+ matches any character with the Unicode \c{Nd} (decimal digit) property.
+
+ Those character classes only match ASCII characters by default when using
+ QRegularExpression: for instance, \c{\d} matches exactly a character in the
+ \c{0-9} ASCII range. It is possible to change this behavior by using the
+ QRegularExpression::UseUnicodePropertiesOption pattern option.
+
+ \section3 Wildcard matching
+
+ There is no direct way to do wildcard matching in QRegularExpression.
+ However, the QRegularExpression::wildcardToRegularExpression() method
+ is provided to translate glob patterns into a Perl-compatible regular
+ expression that can be used for that purpose.
+
+ For example, if you have code like:
+
+ \snippet code/doc_src_port_from_qregexp.cpp 3
+
+ You can rewrite it as:
+
+ \snippet code/doc_src_port_from_qregexp.cpp 4
+
+ Please note though that some shell-like wildcard patterns might not be
+ translated to what you expect. The following example code will silently
+ break if simply converted using the above-mentioned function:
+
+ \snippet code/doc_src_port_from_qregexp.cpp 5
+
+ This is because, by default, the regular expression returned by
+ QRegularExpression::wildcardToRegularExpression() is fully anchored.
+ To get a regular expression that is not anchored, pass
+ QRegularExpression::UnanchoredWildcardConversion as the conversion
+ options:
+
+ \snippet code/doc_src_port_from_qregexp.cpp 6
+
+ \section3 Minimal matching
+
+ QRegExp::setMinimal() implemented minimal matching by simply reversing the
+ greediness of the quantifiers (QRegExp did not support lazy quantifiers,
+ like \c{*?}, \c{+?}, etc.). QRegularExpression instead does support greedy,
+ lazy, and possessive quantifiers. The QRegularExpression::InvertedGreedinessOption
+ pattern option can be useful to emulate the effects of QRegExp::setMinimal():
+ if enabled, it inverts the greediness of quantifiers (greedy ones become
+ lazy and vice versa).
+
+ \section3 Caret modes
+
+ The QRegularExpression::AnchorAtOffsetMatchOption match option can be used to
+ emulate the QRegExp::CaretAtOffset behavior. There is no equivalent for the
+ other QRegExp::CaretMode modes.
+
+//! [porting-to-qregularexpression]
diff --git a/doc/global/includes/examples-run.qdocinc b/doc/global/includes/examples-run.qdocinc
index e9b8575650..96be9e3f3b 100644
--- a/doc/global/includes/examples-run.qdocinc
+++ b/doc/global/includes/examples-run.qdocinc
@@ -1,5 +1,5 @@
\section1 Running the Example
-To run the example from \l{Qt Creator Manual}{Qt Creator}, open the \gui Welcome
-mode and select the example from \gui Examples. For more information, visit
+To run the example from \l{Qt Creator Manual}{Qt Creator}, open the \uicontrol Welcome
+mode and select the example from \uicontrol Examples. For more information, visit
\l{Qt Creator: Building and Running an Example}{Building and Running an Example}.
diff --git a/doc/global/includes/module-use.qdocinc b/doc/global/includes/module-use.qdocinc
index 8f00e1dcaa..234d79c305 100644
--- a/doc/global/includes/module-use.qdocinc
+++ b/doc/global/includes/module-use.qdocinc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
//! [using qt module]
@@ -41,6 +17,21 @@
//! [using qt module]
+//! [using the c++ api]
+ Using a Qt module's C++ API requires linking against the module library,
+ either directly or through other dependencies. Several build tools have
+ dedicated support for this, including \l{CMake Documentation}{CMake} and
+ \l{qmake}.
+//! [using the c++ api]
+
+//! [using the qml api]
+ The QML types of the module are available through the \c \1 import. To use
+ the types, add the following import statement to your .qml file:
+
+ \qml
+ import \1
+ \endqml
+//! [using the qml api]
//! [building with qmake]
@@ -50,3 +41,24 @@
of the \c QT variable in the project's .pro file:
//! [building with qmake]
+
+//! [building_with_qmake]
+ To configure the module for building with qmake, add the module as a value
+ of the \c QT variable in the project's .pro file:
+
+ \code
+ QT += \1
+ \endcode
+//! [building_with_qmake]
+
+//! [building with cmake]
+ Use the \c {find_package()} command to locate the needed module component
+ in the \c {Qt6} package:
+
+ \code
+ find_package(Qt6 REQUIRED COMPONENTS \1)
+ target_link_libraries(mytarget PRIVATE Qt6::\1)
+ \endcode
+
+ For more details, see the \l {Build with CMake} overview.
+//! [building with cmake]
diff --git a/doc/global/includes/standardpath/functiondocs.qdocinc b/doc/global/includes/standardpath/functiondocs.qdocinc
index b830b5a956..135aa25aa3 100644
--- a/doc/global/includes/standardpath/functiondocs.qdocinc
+++ b/doc/global/includes/standardpath/functiondocs.qdocinc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
//! [displayName]
@@ -36,7 +12,7 @@
//! [findExecutable]
Finds the executable named \a executableName in the specified
- \a paths, or the system paths if paths is empty.
+ \a paths, or the system paths if \a paths is empty.
On most operating systems the system path is determined by the
\c PATH environment variable. The directories where to search for
@@ -45,8 +21,8 @@
twice, once with paths set and once with paths empty.
Symlinks are not resolved in order to preserve behavior for the
case of executables whose behavior depends on the name they are
- invoked with
- .
+ invoked with.
+
\note On Windows, the usual executable extensions (from the PATHEXT
environment variable) are automatically appended. For example, the
findExecutable("foo") call finds \c foo.exe or \c foo.bat if
@@ -55,8 +31,8 @@
Returns the absolute file path to the executable, or an empty
string if not found.
- If the given \n executableName is an absolute path pointing to
- an executable its clean path is returned.
+ If the given \a executableName is an absolute path pointing to
+ an executable, its clean path is returned.
//! [findExecutable]
@@ -95,11 +71,13 @@
It affects the locations into which test programs might write
files: \c GenericDataLocation, \c AppDataLocation, \c ConfigLocation,
\c GenericConfigLocation, \c AppConfigLocation,
+ \c StateLocation, \c GenericStateLocation,
\c GenericCacheLocation, and \c CacheLocation. Other locations
are not affected.
On Unix, \c XDG_DATA_HOME is set to \c{~/.qttest/share},
- \c XDG_CONFIG_HOME is set to \c{~/.qttest/config}, and
+ \c XDG_CONFIG_HOME is set to \c{~/.qttest/config},
+ \c XDG_STATE_HOME is set \c{~/.qttest/state} and
\c XDG_CACHE_HOME is set to \c{~/.qttest/cache}.
On macOS, data goes to \c{~/.qttest/Application Support},
diff --git a/doc/global/macros-online.qdocconf b/doc/global/macros-online.qdocconf
index c6f370a7d7..dafbabff4d 100644
--- a/doc/global/macros-online.qdocconf
+++ b/doc/global/macros-online.qdocconf
@@ -2,3 +2,11 @@ macro.youtube.HTML = "<div class=\"video\">\n<span class=\"vspan\"></span>\n" \
"<iframe src=\"https://www.youtube.com/embed/\1\"" \
"frameborder=\"0\" allowfullscreen>\n" \
"</iframe></div>\n"
+macro.youtube.DocBook = "<db:mediaobject>\n" \
+ "<db:videoobject>\n" \
+ "<db:videodata fileref=\"\1\">\n" \
+ "</db:videodata>\n" \
+ "</db:videoobject>\n" \
+ "</db:mediaobject>\n"
+
+include(htmltabs.qdocconf)
diff --git a/doc/global/macros.qdocconf b/doc/global/macros.qdocconf
index 8b5f499d07..93c6fa0ab0 100644
--- a/doc/global/macros.qdocconf
+++ b/doc/global/macros.qdocconf
@@ -1,44 +1,96 @@
macro.aacute.HTML = "&aacute;"
+macro.aacute.DocBook = "&#225;"
macro.Aring.HTML = "&Aring;"
+macro.Aring.DocBook = "&#197;"
macro.aring.HTML = "&aring;"
+macro.aring.DocBook = "&#229;"
macro.Auml.HTML = "&Auml;"
+macro.Auml.DocBook = "&#196;"
macro.author = "\\b{Author:}"
macro.BR.HTML = "<br />"
+macro.BR.DocBook = ""
macro.copyright.HTML = "&copy;"
+macro.copyright.DocBook = "&#169;"
macro.eacute.HTML = "&eacute;"
+macro.eacute.DocBook = "&#233;"
macro.gui = "\\b"
macro.HR.HTML = "<hr />"
+macro.HR.DocBook = ""
macro.iacute.HTML = "&iacute;"
+macro.iacute.DocBook = "&#237;"
macro.key = "\\b"
macro.macos = "macOS"
macro.menu = "\\b"
macro.oslash.HTML = "&oslash;"
+macro.oslash.DocBook = "&#248;"
macro.ouml.HTML = "&ouml;"
+macro.ouml.DocBook = "&#246;"
macro.nothing = "\\dontdocument ()"
macro.nullptr = "\\c{nullptr}"
-macro.QA = "\\e{Qt Assistant}"
-macro.QD = "\\e{Qt Designer}"
-macro.QL = "\\e{Qt Linguist}"
macro.Q_OBJECT = "Q_OBJECT"
-macro.QQV = "\\e{Qt QML Viewer}"
macro.QtVersion = "$QT_VERSION"
macro.QtVer = "$QT_VER"
macro.param = "\\e"
macro.raisedaster.HTML = "<sup>*</sup>"
-macro.raisedaster.DocBook = "\\sup{*}"
+macro.raisedaster.DocBook = "<db:superscript>*</db:superscript>"
macro.rarrow.HTML = "&rarr;"
+macro.rarrow.DocBook = "&#8594;"
macro.reg.HTML = "<sup>&reg;</sup>"
-macro.rego.DocBook = "\\sup{&#174;}"
+macro.reg.DocBook = "\\sup{&#174;}"
macro.return = "Returns"
macro.starslash = "\\c{*/}"
macro.begincomment = "\\c{/*}"
macro.endcomment = "\\c{*/}"
macro.uuml.HTML = "&uuml;"
+macro.uuml.DocBook = "&#252;"
macro.mdash.HTML = "&mdash;"
+macro.mdash.DocBook = "&#8212;"
macro.pi.HTML = "&Pi;"
+macro.pi.DocBook = "&#928;"
macro.beginqdoc.HTML = "/*!"
+macro.beginqdoc.DocBook = "/*!"
macro.endqdoc.HTML = "*/"
+macro.endqdoc.DocBook = "*/"
macro.borderedimage = "\\div {class=\"border\"} \\image \1\n\\enddiv"
+macro.examplecategory = "\\meta category {\1}\n\\ingroup category \1"
+
+# Macros for product names, sorted in alphabetic order
+
+macro.QA = "Qt Assistant"
+macro.QB = "Qt Bridge"
+macro.QBF = "Qt Bridge for Figma"
+macro.QBPS = "Qt Bridge for Adobe Photoshop"
+macro.QBSK = "Qt Bridge for Sketch"
+macro.QBXD = "Qt Bridge for Adobe XD"
+macro.QD = "Qt Widgets Designer"
+macro.QDS = "Qt Design Studio"
+macro.QDV = "Qt Design Viewer"
+macro.QL = "Qt Linguist"
+macro.QMCU = "Qt for MCUs"
+macro.QMLLS = "QML Language Server"
+macro.QMT = "Qt Maintenance Tool"
+macro.QOI = "Qt Online Installer"
+macro.QQV = "Qt QML Viewer"
+macro.QtAA = "Qt for Android Automotive"
+macro.QUL = "Qt Quick Ultralite"
+macro.QtTAS = "Qt Tools for Android Studio"
+
+# The following macros are used for various Android docs. The purpose is to keep
+# it as simple as updating these instead of updating multiple lines in scattered locations.
+macro.AndroidAbis = "\\c{arm64-v8}, \\c{x86_64}, \\c{x86}, and \\c{armeabi-v7a}"
+macro.NdkVer = "r26b"
+macro.NdkFullVer = "26.1.10909125"
+macro.NdkCompilerVer = "Clang 17.0.2"
+macro.JdkVer = "17"
+macro.AndroidMinApiVer = "26"
+macro.AndroidMaxApiVer = "34"
+macro.AndroidMinVer = "8.0"
+macro.AndroidMaxVer = "14"
+macro.AndroidPlatformVer = "34"
+macro.AndroidBuildToolsVer = "34.0.0"
+macro.GradleVer = "8.3"
+macro.AGPVer = "7.4.1"
+macro.AAOSVer = "10 to 13"
macro.beginfloatleft.HTML = "<div style=\"float: left; margin-right: 2em\">"
macro.beginfloatright.HTML = "<div style=\"float: right; margin-left: 2em\">"
@@ -46,6 +98,12 @@ macro.endfloat.HTML = "</div>"
macro.clearfloat.HTML = "<br style=\"clear: both\" />"
macro.emptyspan.HTML = "<span></span>"
+macro.beginfloatleft.DocBook = ""
+macro.beginfloatright.DocBook = ""
+macro.endfloat.DocBook = ""
+macro.clearfloat.DocBook = ""
+macro.emptyspan.DocBook = ""
+
# Used like \brief, but replicates the sentence also as text.
# Wrap the entire sentence with {}, for example:
# \summary {Creates a build target.}
@@ -57,16 +115,27 @@ macro.QtMajorVersion.match = "^(\\d+)\\."
macro.QtMinorVersion.match = "\\d+\\.(\\d+)"
# Embed YouTube content by video ID - Example: \youtube dQw4w9WgXcQ
-# Also requires a <ID>.jpg thumbnail for offline docs. In .qdocconf, add:
+# Also requires a <ID>.jpg thumbnail for offline docs. By default, qdoc doesn't copy the thumbnail
+# along with the offline docs, you must specify it manually. In .qdocconf, to do it for all formats
+# at once, add:
#
-# HTML.extraimages += images/dQw4w9WgXcQ.jpg
-# qhp.ProjectName.extraFiles += images/dQw4w9WgXcQ.jpg
+# {HTML.extraimages,qhp.QtDoc.extraFiles, DocBook.extraimages} += images/dQw4w9WgXcQ.jpg
#
macro.youtube.HTML = "<div class=\"video\">\n" \
"<a href=\"https://www.youtube.com/watch/?v=\1\">\n"\
"<img src=\"images/\1.jpg\"" \
"title=\"Click to play in a browser\" /></a>\n" \
"</div>\n"
+macro.youtube.DocBook = "<db:mediaobject>\n" \
+ "<db:videoobject>\n" \
+ "<db:videodata fileref=\"\1\">\n" \
+ "</db:videodata>\n" \
+ "</db:videoobject>\n" \
+ "<db:imageobject>\n" \
+ "<db:imagedata fileref=\"images/\1.jpg\">\n" \
+ "</db:imagedata>\n" \
+ "</db:imageobject>\n" \
+ "</db:mediaobject>\n"
macro.excludefromcreator = "\\meta tag broken"
@@ -74,8 +143,23 @@ macro.preliminarycmakecommand = "\\note This command is in technology preview a
macro.preliminarycmakevariable = "\\note This variable is in technology preview and may change in future releases."
macro.preliminarycmakeproperty = "\\note This property is in technology preview and may change in future releases."
+macro.cmakecommandsince = "\n\nThis command was introduced in Qt \1.\n\n"
+macro.cmakevariablesince = "\n\nThis variable was introduced in Qt \1.\n\n"
+macro.cmakepropertysince = "\n\nThis property was introduced in Qt \1.\n\n"
+
macro.cmakecommandandroidonly = "\\note This command should only be called if targeting the Android platform."
macro.cmakepropertyandroidonly = "\\note This property is used only if targeting the Android platform."
macro.cmakevariableandroidonly = "\\note This variable is used only if targeting the Android platform."
macro.versionlessCMakeCommandsNote = "If \\l{Versionless commands}{versionless commands} are disabled, use \\c{\1} instead. It supports the same set of arguments as this command."
+
+macro.cmakepropertywebassemblyonly = "\\note This property is used only if targeting the WebAssembly platform."
+
+macro.cmakepropertyiosonly = "\\note This property is used only if targeting iOS."
+macro.cmakevariableiosonly = "\\note This variable is used only if targeting iOS."
+
+macro.qtpolicydeprecatedbehavior = "\\note The \\c{OLD} behavior of a policy is deprecated, and may be removed in the future."
+#Appends the tech preview link to the brief sentence and adds to tech_preview
+#group.
+#Must be placed directly under a \brief command
+macro.techpreview = "(Technical preview)\n\n\\meta status {Technical preview}\n\\ingroup tech_preview\n"
diff --git a/doc/global/manifest-meta.qdocconf b/doc/global/manifest-meta.qdocconf
index e9e273461d..863451681a 100644
--- a/doc/global/manifest-meta.qdocconf
+++ b/doc/global/manifest-meta.qdocconf
@@ -19,7 +19,7 @@
# manifestmeta.filters = highlighted sql global
#
# manifestmeta.highlighted.names = "QtGui/Analog Clock Window Example" \
-# "QtWidgets/Analog Clock Example"
+# "QtWidgets/Analog Clock"
# manifestmeta.highlighted.attributes = isHighlighted:true
#
# manifestmeta.sql.names = "QtSql/*"
@@ -35,16 +35,14 @@ manifestmeta.highlighted.attributes = isHighlighted:true
manifestmeta.android.names = "Qt3D/Qt 3D: Basic Shapes C++ Example" \
"Qt3D/Qt 3D: Planets QML Example" \
"Qt3D/Qt 3D: Simple Custom Material QML Example" \
- "QtAndroidExtras/Qt Notifier" \
+ "QtCore/Qt Android Notifier" \
"QtBluetooth/Bluetooth Low Energy Scanner Example" \
"QtBluetooth/Bluetooth Scanner Example" \
"QtBluetooth/QML Bluetooth Scanner Example" \
"QtCharts/*" \
- "QtConcurrent/QtConcurrent Progress Dialog Example" \
"QtDataVisualization/Audiolevels Example" \
"QtDataVisualization/Qt Quick 2 Scatter Example" \
"QtDataVisualization/Qt Quick 2 Surface Multiseries Example" \
- "QtGui/Analog Clock Window Example" \
"QtGui/OpenGL Window Example" \
"QtGui/Raster Window Example" \
"QtLinguist/Arrow Pad Example" \
@@ -53,17 +51,14 @@ manifestmeta.android.names = "Qt3D/Qt 3D: Basic Shapes C++ Example" \
"QtLocation/Places Map (QML)" \
"QtLocation/Plane Spotter (QML)" \
"QtMultimedia/AudioEngine Example" \
- "QtMultimedia/Camera Example" \
"QtMultimedia/QML Camera Example" \
"QtMultimedia/QML Video Example" \
"QtMultimedia/QML Video Shader Effects Example" \
"QtNFC/Annotated URL Example" \
"QtNFC/QML Poster Example" \
- "QtOpenGL/2D Painting Example" \
"QtOpenGL/Hello GLES3 Example" \
- "QtOpenGL/Textures Example" \
- "QtPositioning/SatelliteInfo (C++/QML)" \
- "QtPositioning/Weather Info (C++/QML)" \
+ "QtPositioning/Satellite Info" \
+ "QtPositioning/Weather Info" \
"QtPurchasing/Qt Purchasing Examples - QtHangman" \
"QtQML/Extending QML - Attached Properties Example" \
"QtQML/Extending QML - Grouped Properties Example" \
@@ -71,13 +66,33 @@ manifestmeta.android.names = "Qt3D/Qt 3D: Basic Shapes C++ Example" \
"QtQML/Extending QML - Signal Support Example" \
"QtQML/Qt Quick Examples - XMLHttpRequest" \
"QtQml/Qt Quick Examples - XMLHttpRequest" \
- "QtQuick/*" \
- "QtQuickControls/*" \
- "QtQuickControls1/Qt Quick Controls 1 - Calendar Example" \
- "QtQuickControls1/Qt Quick Controls 1 - Gallery" \
- "QtQuickControls1/Qt Quick Controls 1 - Styles Example" \
- "QtQuickControls1/Qt Quick Controls 1 - Table View Example" \
- "QtQuickControls1/Qt Quick Controls 1 - Touch Gallery" \
+ "QtQuick/C++ Extensions*" \
+ "QtQuick/Models and Views*" \
+ "QtQuick/QQuickRenderControl OpenGL Example" \
+ "QtQuick/QQuickWidget - QQuickView Comparison Example" \
+ "QtQuick/QML*" \
+ "QtQuick/Qt Quick*" \
+ "QtQuick/Scene Graph - Custom Geometry" \
+ "QtQuick/Scene Graph - Custom Material" \
+ "QtQuick/Scene Graph - Graph" \
+ "QtQuick/Scene Graph - OpenGL Under QML" \
+ "QtQuick/Scene Graph - Painted Item" \
+ "QtQuick/Scene Graph - Rendering FBOs" \
+ "QtQuick/Scene Graph - Two Texture Providers" \
+ "QtQuick/Scene Graph - Vulkan Under QML" \
+ "QtQuick/Scene Graph - Vulkan Texture Import" \
+ "QtQuick/Threaded ListModel Example" \
+ "QtQuick/TabWidget Example" \
+ "QtQuick/UI Components*" \
+ "QtQuickControls/Qt Quick Controls - Attached Style Properties Example" \
+ "QtQuickControls/Qt Quick Controls - Chat Tutorial" \
+ "QtQuickControls/Qt Quick Controls - Contact List" \
+ "QtQuickControls/Qt Quick Controls - Event Calendar" \
+ "QtQuickControls/Qt Quick Controls - Flat Style" \
+ "QtQuickControls/Qt Quick Controls - Gallery" \
+ "QtQuickControls/Qt Quick Controls - Imagine Style Example: Automotive" \
+ "QtQuickControls/Qt Quick Controls - Text Editor" \
+ "QtQuickControls/Qt Quick Controls - Wearable Demo" \
"QtQuickDialogs/*" \
"QtQuickExtras/*" \
"QtSCXML/Qt SCXML Calculator QML Example" \
@@ -87,57 +102,15 @@ manifestmeta.android.names = "Qt3D/Qt 3D: Basic Shapes C++ Example" \
"QtSQL/Master Detail Example" \
"QtSVG/Text Object Example" \
"QtUiTools/Text Finder Example" \
- "QtWebView/Qt WebView Examples - Minibrowser" \
- "QtWidgets/Address Book Example" \
- "QtWidgets/Affine Transformations" \
- "QtWidgets/Analog Clock Example" \
- "QtWidgets/Animated Tiles Example" \
- "QtWidgets/Application Chooser Example" \
- "QtWidgets/Basic Layouts Example" \
- "QtWidgets/Border Layout Example" \
- "QtWidgets/Code Editor Example" \
- "QtWidgets/Colliding Mice Example" \
- "QtWidgets/Concentric Circles Example" \
- "QtWidgets/Digital Clock Example" \
- "QtWidgets/Dynamic Layouts Example" \
- "QtWidgets/Easing Curves Example" \
- "QtWidgets/Editable Tree Model Example" \
- "QtWidgets/Elided Label Example" \
- "QtWidgets/Fade Message Effect Example" \
- "QtWidgets/Flow Layout Example" \
- "QtWidgets/Font Sampler Example" \
- "QtWidgets/Frozen Column Example" \
- "QtWidgets/Gradients" \
- "QtWidgets/Group Box Example" \
- "QtWidgets/Image Composition Example" \
- "QtWidgets/Line Edits Example" \
- "QtWidgets/Mouse Button Tester" \
- "QtWidgets/Move Blocks Example" \
- "QtWidgets/Painter Paths Example" \
- "QtWidgets/Painter Paths Example" \
- "QtWidgets/Path Stroking" \
- "QtWidgets/Pixelator Example" \
- "QtWidgets/Recent Files Example" \
- "QtWidgets/SDI Example" \
- "QtWidgets/Scribble Example" \
- "QtWidgets/Simple Tree Model Example" \
- "QtWidgets/Sliders Example" \
- "QtWidgets/Spreadsheet" \
- "QtWidgets/Touch Dials Example" \
- "QtWidgets/Transformations Example" \
- "QtWidgets/Undo Framework" \
- "QtWidgets/Vector Deformation" \
- "QtWidgets/Wiggly Example"
+ "QtWebView/Qt WebView Examples - Minibrowser"
manifestmeta.android.tags = android
manifestmeta.ios.names = "QtCore/Contiguous Cache Example" \
"QtCore/Mandelbrot Example" \
- "QtCore/Queued Custom Type Example" \
- "QtGui/Analog Clock Window Example" \
+ "QtCore/Queued Custom Type" \
"QtGui/OpenGL Window Example" \
"QtGui/Raster Window Example" \
- "QtNetwork/Loopback Example" \
"QtNetwork/Network Chat Example" \
"QtNetwork/Torrent Example" \
"QtOpenGL/2D Painting Example" \
@@ -147,7 +120,6 @@ manifestmeta.ios.names = "QtCore/Contiguous Cache Example" \
"QtWidgets/Easing Curves Example" \
"QtWidgets/Move Blocks Example" \
"QtWidgets/States Example" \
- "QtWidgets/Class Wizard Example" \
"QtWidgets/Find Files Example" \
"QtWidgets/License Wizard Example" \
"QtWidgets/Standard Dialogs Example" \
@@ -158,7 +130,6 @@ manifestmeta.ios.names = "QtCore/Contiguous Cache Example" \
"QtWidgets/Blur Picker Effect Example" \
"QtWidgets/Fade Message Effect Example" \
"QtWidgets/Lighting Effect Example" \
- "QtWidgets/Anchor Layout Example" \
"QtWidgets/Basic Graphics Layouts Example" \
"QtWidgets/40000 Chips" \
"QtWidgets/Colliding Mice Example" \
@@ -167,8 +138,7 @@ manifestmeta.ios.names = "QtCore/Contiguous Cache Example" \
"QtWidgets/Embedded Dialogs" \
"QtWidgets/Graphics View Flow Layout Example" \
"QtWidgets/Simple Anchor Layout Example" \
- "QtWidgets/Weather Anchor Layout Example" \
- "QtWidgets/Address Book Example" \
+ "QtWidgets/Address Book" \
"QtWidgets/Basic Sort/Filter Model Example" \
"QtWidgets/Chart Example" \
"QtWidgets/Custom Sort/Filter Model Example" \
@@ -182,7 +152,6 @@ manifestmeta.ios.names = "QtCore/Contiguous Cache Example" \
"QtWidgets/Border Layout Example" \
"QtWidgets/Flow Layout Example" \
"QtWidgets/Basic Drawing Example" \
- "QtWidgets/Concentric Circles Example" \
"QtWidgets/Font Sampler Example" \
"QtWidgets/Gradients" \
"QtWidgets/Image Composition Example" \
@@ -195,7 +164,7 @@ manifestmeta.ios.names = "QtCore/Contiguous Cache Example" \
"QtWidgets/Completer Example" \
"QtWidgets/Custom Completer Example" \
"QtWidgets/Undo Framework" \
- "QtWidgets/Analog Clock Example" \
+ "QtWidgets/Analog Clock" \
"QtWidgets/Calculator Example" \
"QtWidgets/Calendar Widget Example" \
"QtWidgets/Character Map Example" \
@@ -208,7 +177,6 @@ manifestmeta.ios.names = "QtCore/Contiguous Cache Example" \
"QtWidgets/Sliders Example" \
"QtWidgets/Validators Example" \
"QtWidgets/Window Flags Example" \
- "QtWidgets/Wiggly Example" \
"QtQuick/Qt Quick Examples - Animation" \
"QtQuick/Qt Quick Examples - Canvas" \
"QtQuick/Qt Quick Examples - Drag and Drop" \
@@ -216,12 +184,15 @@ manifestmeta.ios.names = "QtCore/Contiguous Cache Example" \
"QtQuick/Qt Quick Examples - MouseArea" \
"QtQuick/Qt Quick Examples - Positioners" \
"QtQuick/Qt Quick Examples - Right to Left" \
+ "QtQuick/Scene Graph - Metal Texture Import" \
+ "QtQuick/Scene Graph - Metal Under QML" \
"QtQuick/Scene Graph - OpenGL Under QML" \
"QtQuick/Qt Quick Examples - Shader Effects" \
"QtQuick/Qt Quick Examples - Text" \
"QtQuick/Qt Quick Examples - Touch Interaction" \
"QtQuick/Qt Quick Examples - Views" \
- "QtQuick/Qt Quick Examples - Window and Screen"
+ "QtQuick/Qt Quick Examples - Window and Screen" \
+ "QtQuickControls/Qt Quick Controls - To Do List"
manifestmeta.ios.tags = ios
@@ -229,13 +200,10 @@ manifestmeta.ios.tags = ios
manifestmeta.thumbnail.attributes = "imageUrl:qthelp\://org.qt-project.qtdoc.$QT_VERSION_TAG/qtdoc/images/qt-codesample.png"
manifestmeta.thumbnail.names = "QtCore/Contiguous Cache Example" \
- "QtCore/Custom Type Example" \
- "QtCore/JSON Save Game Example" \
- "QtCore/Semaphores Example" \
- "QtCore/Wait Conditions Example" \
- "QtConcurrent/Map Example" \
- "QtConcurrent/QtConcurrent Word Count Example" \
- "QtConcurrent/Run Function Example" \
+ "QtCore/Saving and Loading a Game" \
+ "QtCore/Producer and Consumer using Semaphores" \
+ "QtCore/Producer and Consumer using Wait Conditions" \
+ "QtConcurrent/Word Count" \
"QtGui/Raster Window Example" \
"QtNetwork/Network Download*" \
"QtWidgets/Dynamic Layouts Example" \
diff --git a/doc/global/qt-cpp-defines.qdocconf b/doc/global/qt-cpp-defines.qdocconf
index 0a49b37a02..2f80ca3a68 100644
--- a/doc/global/qt-cpp-defines.qdocconf
+++ b/doc/global/qt-cpp-defines.qdocconf
@@ -1,219 +1,8 @@
versionsym = QT_VERSION_STR
-defines += Q_QDOC \
- Q_CLANG_QDOC \
- QT_.*_SUPPORT \
- QT_.*_LIB \
- QT_COMPAT \
- QT_KEYPAD_NAVIGATION \
- QT_NO_EGL \
- Q_BYTE_ORDER \
- QT_DEPRECATED \
- QT_DEPRECATED_* \
- Q_NO_USING_KEYWORD \
- Q_OS_.* \
- Q_COMPILER_INITIALIZER_LISTS \
- Q_COMPILER_UNIFORM_INIT \
- Q_COMPILER_RVALUE_REFS
-
-clangdefines += Q_QDOC \
- Q_CLANG_QDOC \
- QT_COMPAT \
- QT_BUILD_CORE_LIB \
- QT_BUILD_EGL_DEVICE_LIB \
- QT_BUILD_LOCATION_LIB \
- QT_BUILD_SCRIPT_LIB \
- QT_BUILD_TESTLIB_LIB \
- QT_BUILD_WIDGETS_LIB \
- QT_CORE_LIB \
- QT_DEPRECATED \
- QT_GUI_LIB \
- QT_KEYPAD_NAVIGATION \
- QT_LARGEFILE_SUPPORT \
- QT_NETWORK_LIB \
- QT_NO_EGL \
- QT_OPENGL_SUPPORT \
- QT_SCRIPT_LIB \
- QT_SHARED_POINTER_BACKTRACE_SUPPORT \
- QT_WIDGETS_LIB \
- Q_BYTE_ORDER \
- Q_CC_CLANG \
- Q_COMPILER_CONSTEXPR \
- Q_COMPILER_DEFAULT_MEMBERS \
- Q_COMPILER_DELETE_MEMBERS \
- Q_COMPILER_EXPLICIT_OVERRIDES \
- Q_COMPILER_INITIALIZER_LISTS \
- Q_COMPILER_MANGLES_RETURN_TYPE \
- Q_COMPILER_NOEXCEPT \
- Q_COMPILER_NULLPTR \
- Q_COMPILER_RVALUE_REFS \
- Q_COMPILER_STATIC_ASSERT \
- Q_COMPILER_UNIFORM_INIT \
- Q_COMPILER_VARIADIC_MACROS \
- Q_COMPILER_VARIADIC_TEMPLATES \
- Q_ATOMIC_INT16_IS_SUPPORTED \
- Q_ATOMIC_INT64_IS_SUPPORTED \
- Q_ATOMIC_INT8_IS_SUPPORTED
-
-# Q_COMPILER_REF_QUALIFIERS is not yet supported by all compilers
-
-Cpp.ignoretokens += \
- ENGINIOCLIENT_EXPORT \
- PHONON_EXPORT \
- Q_ALWAYS_INLINE \
- Q_AUTOTEST_EXPORT \
- Q_BLUETOOTH_EXPORT \
- Q_COMPAT_EXPORT \
- Q_CORE_EXPORT \
- Q_CORE_EXPORT_INLINE \
- Q_DBUS_EXPORT \
- Q_DECL_CONSTEXPR \
- Q_DECL_RELAXED_CONSTEXPR \
- Q_DECL_CONST_FUNCTION \
- Q_DECL_DEPRECATED \
- Q_DECL_NOEXCEPT \
- Q_DECL_FINAL \
- Q_DECL_OVERRIDE \
- Q_DECL_NOTHROW \
- Q_DECL_PURE_FUNCTION \
- Q_DECL_UNUSED \
- Q_DECL_CF_RETURNS_RETAINED \
- Q_DECL_NS_RETURNS_AUTORELEASED \
- Q_DECL_EQ_DEFAULT \
- Q_DECLARATIVE_EXPORT \
- Q_EXPLICIT \
- Q_EXPORT \
- Q_EXPORT_PLUGIN \
- Q_EXPORT_PLUGIN2 \
- Q_GADGET \
- Q_GADGET_EXPORT \
- Q_GFX_INLINE \
- Q_GUI_EXPORT \
- Q_GUI_EXPORT_INLINE \
- Q_GUI_EXPORT_STYLE_CDE \
- Q_GUI_EXPORT_STYLE_COMPACT \
- Q_GUI_EXPORT_STYLE_MAC \
- Q_GUI_EXPORT_STYLE_MOTIF \
- Q_GUI_EXPORT_STYLE_MOTIFPLUS \
- Q_GUI_EXPORT_STYLE_PLATINUM \
- Q_GUI_EXPORT_STYLE_POCKETPC \
- Q_GUI_EXPORT_STYLE_SGI \
- Q_GUI_EXPORT_STYLE_WINDOWS \
- Q_INLINE_TEMPLATE \
- Q_INTERNAL_WIN_NO_THROW \
- Q_INVOKABLE \
- Q_LOCATION_EXPORT \
- Q_POSITIONING_EXPORT \
- Q_MULTIMEDIA_EXPORT \
- Q_NAMESPACE \
- Q_NAMESPACE_EXPORT \
- Q_NETWORK_EXPORT \
- Q_NEVER_INLINE \
- Q_NORETURN \
- Q_OPENGL_EXPORT \
- Q_OPENVG_EXPORT \
- Q_OUTOFLINE_TEMPLATE \
- Q_PRINTSUPPORT_EXPORT \
- Q_QML_EXPORT \
- Q_REQUIRED_RESULT \
- Q_SCRIPT_EXPORT \
- Q_SCRIPTTOOLS_EXPORT \
- Q_SERIALBUS_EXPORT \
- Q_SQL_EXPORT \
- Q_SVG_EXPORT \
- Q_TESTLIB_EXPORT \
- Q_TYPENAME \
- Q_WEAK_OVERLOAD \
- Q_WIDGETS_EXPORT \
- Q_WINEXTRAS_EXPORT \
- Q_XML_EXPORT \
- Q_XMLPATTERNS_EXPORT \
- Q_XMLSTREAM_EXPORT \
- QAXFACTORY_EXPORT \
- QDBUS_EXPORT \
- QDESIGNER_COMPONENTS_LIBRARY \
- QDESIGNER_EXTENSION_LIBRARY \
- QDESIGNER_SDK_LIBRARY \
- QDESIGNER_SHARED_LIBRARY \
- QDESIGNER_UILIB_LIBRARY \
- QHELP_EXPORT \
- QM_AUTOTEST_EXPORT \
- QM_EXPORT_CANVAS \
- QM_EXPORT_DNS \
- QM_EXPORT_DOM \
- QM_EXPORT_FTP \
- QM_EXPORT_HTTP \
- QM_EXPORT_ICONVIEW \
- QM_EXPORT_NETWORK \
- QM_EXPORT_OPENGL \
- QM_EXPORT_OPENVG \
- QM_EXPORT_SQL \
- QM_EXPORT_TABLE \
- QM_EXPORT_WORKSPACE \
- QM_EXPORT_XML \
- QT_ASCII_CAST_WARN \
- QT_ASCII_CAST_WARN_CONSTRUCTOR \
- QT_BEGIN_INCLUDE_NAMESPACE \
- QT_BEGIN_NAMESPACE \
- QT_BOOTSTRAPPED \
- QT_DESIGNER_STATIC \
- QT_END_INCLUDE_NAMESPACE \
- QT_END_NAMESPACE \
- QT_FASTCALL \
- QT_MUTEX_LOCK_NOEXCEPT \
- QT_POPCOUNT_CONSTEXPR \
- QT_SIZEPOLICY_CONSTEXPR \
- QT_WARNING_DISABLE_DEPRECATED \
- QT_WARNING_PUSH \
- QT_WARNING_POP \
- QT_WIDGET_PLUGIN_EXPORT \
- QWEBKIT_EXPORT
-
-Cpp.ignoredirectives += \
- __attribute__ \
- K_DECLARE_PRIVATE \
- PHONON_HEIR \
- PHONON_OBJECT \
- Q_CLASSINFO \
- Q_DECLARE_INTERFACE \
- Q_DECLARE_METATYPE \
- QT_DECL_METATYPE_EXTERN \
- QT_IMPL_METATYPE_EXTERN \
- Q_DECLARE_OPERATORS_FOR_FLAGS \
- Q_DECLARE_PRIVATE \
- Q_DECLARE_PRIVATE_D \
- Q_DECLARE_PUBLIC \
- Q_DECLARE_SHARED \
- Q_DECLARE_TR_FUNCTIONS \
- Q_DECLARE_TYPEINFO \
- Q_DECL_NOEXCEPT_EXPR \
- QT_DEPRECATED_X \
- QT_SYSINFO_DEPRECATED_X \
- Q_DISABLE_COPY \
- Q_DUMMY_COMPARISON_OPERATOR \
- Q_ENUM \
- Q_ENUMS \
- Q_ENUM_NS \
- Q_FLAG \
- Q_FLAGS \
- Q_FLAG_NS \
- QT_HAS_INCLUDE \
- Q_INTERFACES \
- Q_PRIVATE_PROPERTY \
- QT_FORWARD_DECLARE_CLASS \
- Q_DECLARE_HANDLE \
- Q_REVISION \
- QT_WARNING_DISABLE_CLANG \
- QT_WARNING_DISABLE_GCC \
- QT_WARNING_DISABLE_INTEL \
- QT_WARNING_DISABLE_MSVC \
- Q_ATTRIBUTE_FORMAT_PRINTF \
- Q_MV_IOS
-
-# Qt 6: Remove
-falsehoods += \
- "QT_VERSION >= QT_VERSION_CHECK\\(\\s*6\\s*,\\s*0\\s*,\\s*0\\s*\\)"
-
+defines += QT_GUI_LIB \
+ QT_WIDGETS_LIB \
+ QT_KEYPAD_NAVIGATION
excludefiles += \
"*_posix.cpp" \
@@ -229,3 +18,17 @@ excludefiles += \
"*_udev.cpp" \
"*_vxworks.cpp" \
"*_darwin.cpp"
+
+# Convenience macros for specifying C++ type ordering in \class documentation
+#
+# Usage: \stronglyordered
+# \stronglyorderedwith {Type1 [Type2 .. TypeN]}
+
+macro.stronglyordered = "\\compares strong"
+macro.stronglyorderedwith = "\\compareswith strong \1\n\\endcompareswith"
+macro.weaklyordered = "\\compares weak"
+macro.weaklyorderedwith = "\\compareswith weak \1\n\\endcompareswith"
+macro.partiallyordered = "\\compares partial"
+macro.partiallyorderedwith = "\\compareswith partial \1\n\\endcompareswith"
+macro.equalitycomparable = "\\compares equality"
+macro.equalitycomparablewith = "\\compareswith equality \1\n\\endcompareswith"
diff --git a/doc/global/qt-html-templates-offline-simple.qdocconf b/doc/global/qt-html-templates-offline-simple.qdocconf
index 02a3228519..392b03b5e5 100644
--- a/doc/global/qt-html-templates-offline-simple.qdocconf
+++ b/doc/global/qt-html-templates-offline-simple.qdocconf
@@ -23,7 +23,7 @@ HTML.navigationseparator = \
"<span class=\"naviSeparator\"> &#9702; </span>\n"
# Add some padding around code snippets, as we cannot
-# currectly style them for QTextBrowser using only CSS.
+# correctly style them for QTextBrowser using only CSS.
codeindent = 1
codeprefix = "\n"
codesuffix = "\n"
diff --git a/doc/global/qt-html-templates-offline.qdocconf b/doc/global/qt-html-templates-offline.qdocconf
index 39f49fd3da..cbd896f655 100644
--- a/doc/global/qt-html-templates-offline.qdocconf
+++ b/doc/global/qt-html-templates-offline.qdocconf
@@ -8,7 +8,8 @@ defines += offlinedocs
#uncomment if navigation bar is not wanted
#HTML.nonavigationbar = "true"
-HTML.stylesheets = template/style/offline.css
+HTML.stylesheets = template/style/offline.css \
+ template/style/offline-dark.css
HTML.extraimages += template/images/ico_out.png \
template/images/ico_note.png \
template/images/ico_note_attention.png \
@@ -22,6 +23,17 @@ sourcedirs += includes
#specify which files in the output directory should be packed into the qch file.
qhp.extraFiles += style/offline.css \
+ style/offline-dark.css \
+ images/ico_out.png \
+ images/ico_note.png \
+ images/ico_note_attention.png \
+ images/btn_prev.png \
+ images/btn_next.png \
+ images/bullet_dn.png \
+ images/bullet_sq.png \
+ images/bgrContent.png
+
+DocBook.extraimages += \
images/ico_out.png \
images/ico_note.png \
images/ico_note_attention.png \
diff --git a/doc/global/qt-module-defaults-online-commercial.qdocconf b/doc/global/qt-module-defaults-online-commercial.qdocconf
index 3d21ea0122..8ecb1b23fb 100644
--- a/doc/global/qt-module-defaults-online-commercial.qdocconf
+++ b/doc/global/qt-module-defaults-online-commercial.qdocconf
@@ -15,6 +15,9 @@ include(compat.qdocconf)
include(fileextensions.qdocconf)
include(qt-html-templates-online.qdocconf)
+#override macros for online use
+include(macros-online.qdocconf)
+
#extra configuration data DITA information
include(config.qdocconf)
diff --git a/doc/global/qt-module-defaults-online.qdocconf b/doc/global/qt-module-defaults-online.qdocconf
index 0200aed68a..4942c2639d 100644
--- a/doc/global/qt-module-defaults-online.qdocconf
+++ b/doc/global/qt-module-defaults-online.qdocconf
@@ -5,15 +5,15 @@
HTML.footer = \
" </div>\n" \
" <p class=\"copy-notice\">\n" \
- " <acronym title=\"Copyright\">&copy;</acronym> 2022 The Qt Company Ltd.\n" \
+ " <abbr title=\"Copyright\">&copy;</abbr> 2024 The Qt Company Ltd.\n" \
" Documentation contributions included herein are the copyrights of\n" \
" their respective owners. " \
" The documentation provided herein is licensed under the terms of the" \
" <a href=\"http://www.gnu.org/licenses/fdl.html\">GNU Free Documentation" \
" License version 1.3</a> as published by the Free Software Foundation. " \
- " Qt and respective logos are trademarks of The Qt Company Ltd. " \
- " in Finland and/or other countries worldwide. All other trademarks are property\n" \
- " of their respective owners. </p>\n"
+ " Qt and respective logos are <a href=\"https://doc.qt.io/qt/trademarks.html\">" \
+ " trademarks</a> of The Qt Company Ltd. in Finland and/or other countries\n" \
+ " worldwide. All other trademarks are property of their respective owners. </p>\n"
#include standard set of macros and C++ defines and ignores
include(macros.qdocconf)
@@ -31,4 +31,4 @@ include(config.qdocconf)
# single-directory output mode
HTML.nosubdirs = "true"
-HTML.outputsubdir = "html"
+HTML.outputsubdir = "../html"
diff --git a/doc/global/snippets/code/doc_src_port_from_qregexp.cpp b/doc/global/snippets/code/doc_src_port_from_qregexp.cpp
new file mode 100644
index 0000000000..735425d086
--- /dev/null
+++ b/doc/global/snippets/code/doc_src_port_from_qregexp.cpp
@@ -0,0 +1,65 @@
+// Copyright (C) 2022 Giuseppe D'Angelo <dangelog@gmail.com>.
+// Copyright (C) 2022 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+//! [0]
+QString p("a .*|pattern");
+
+// re matches exactly the pattern string p
+QRegularExpression re(QRegularExpression::anchoredPattern(p));
+//! [0]
+
+//! [1]
+QString subject("the quick fox");
+
+int offset = 0;
+QRegExp re("(\\w+)");
+while ((offset = re.indexIn(subject, offset)) != -1) {
+ offset += re.matchedLength();
+ // ...
+}
+//! [1]
+
+//! [2]
+QString subject("the quick fox");
+
+QRegularExpression re("(\\w+)");
+QRegularExpressionMatchIterator i = re.globalMatch(subject);
+while (i.hasNext()) {
+ QRegularExpressionMatch match = i.next();
+ // ...
+}
+//! [2]
+
+//! [3]
+QRegExp wildcard("*.txt");
+wildcard.setPatternSyntax(QRegExp::Wildcard);
+//! [3]
+
+//! [4]
+auto wildcard = QRegularExpression(QRegularExpression::wildcardToRegularExpression("*.txt"));
+//! [4]
+
+//! [5]
+const QString fp1("C:/Users/dummy/files/content.txt");
+const QString fp2("/home/dummy/files/content.txt");
+
+QRegExp re1("*/files/*");
+re1.setPatternSyntax(QRegExp::Wildcard);
+re1.exactMatch(fp1); // returns true
+re1.exactMatch(fp2); // returns true
+
+// but converted with QRegularExpression::wildcardToRegularExpression()
+
+QRegularExpression re2(QRegularExpression::wildcardToRegularExpression("*/files/*"));
+re2.match(fp1).hasMatch(); // returns false
+re2.match(fp2).hasMatch(); // returns false
+//! [5]
+
+//! [6]
+QRegularExpression re3(QRegularExpression::wildcardToRegularExpression(
+ "*/files/*", QRegularExpression::UnanchoredWildcardConversion));
+re3.match(fp1).hasMatch(); // returns true
+re3.match(fp2).hasMatch(); // returns true
+//! [6]
diff --git a/doc/global/template/style/htmltabs.css b/doc/global/template/style/htmltabs.css
new file mode 100644
index 0000000000..f904fb1635
--- /dev/null
+++ b/doc/global/template/style/htmltabs.css
@@ -0,0 +1,60 @@
+/*
+-----------
+HTML Tabs
+-----------
+*/
+
+.blankline {
+ height: 1em;
+ display: block;
+}
+
+input[type="radio"],
+input[type="radio"] ~ .tabcontent {
+ display: none;
+ margin: 0;
+}
+
+input[type="radio"] + label {
+ display: inline-block;
+}
+
+input[type="radio"] + label {
+ margin-left: 0;
+ padding: 10px 10px 8px;
+ background-image: linear-gradient(to right, #09102b, #53586b);
+ color: #ccc;
+ position: relative;
+ clip-path: polygon(10px 0%, 100% 0%, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0% 100%, 0% calc(100% - 10px), 0% 10px);
+ margin-right: 2px;
+ min-width: 50px;
+ cursor: pointer;
+}
+
+input[type="radio"]:hover + label,
+input[type="radio"]:checked + label {
+ opacity: 0.75;
+ transition: all ease 0.3s;
+}
+
+input[type="radio"]:checked + label {
+ color: #41cd52;
+}
+
+/* Some styling for the content */
+div.tabcontent {
+ border-left: 3px solid #ccc;
+ border-top: 1px solid #ccc;
+}
+
+div.tabcontent >:first-child:not(.pre) {
+ padding-top: 2px;
+}
+
+div.tabcontent >:not(.pre) {
+ padding-left: 10px;
+}
+
+div.tabcontent pre {
+ margin-top: 0;
+}
diff --git a/doc/global/template/style/offline-dark.css b/doc/global/template/style/offline-dark.css
new file mode 100644
index 0000000000..1410a6091a
--- /dev/null
+++ b/doc/global/template/style/offline-dark.css
@@ -0,0 +1,778 @@
+body {
+ font: normal 400 14px/1.2 Arial;
+ margin-top: 50px;
+ font-family: Arial, Helvetica;
+ text-align: left;
+ margin-left: 5px;
+ margin-right: 5px;
+ background-color: #2E2F30;
+ color: #d0d0d0
+}
+
+p {
+ line-height: 20px
+}
+
+img {
+ margin-left: 0px;
+ max-width: 800px;
+ height: auto;
+ filter: brightness(85%);
+}
+
+.content .border img {
+ box-shadow:3px 3px 8px 3px rgba(200,200,200,0.5)
+}
+
+.content .border .player {
+ box-shadow:3px 3px 8px 3px rgba(200,200,200,0.5)
+}
+
+.content .indexboxcont li {
+ font: normal bold 13px/1 Verdana
+ }
+
+.content .normallist li {
+ font: normal 13px/1 Verdana
+ }
+
+.descr {
+ margin-top: 35px;
+ margin-bottom: 45px;
+ margin-left: 5px;
+ text-align: left;
+ vertical-align: top;
+}
+
+.name {
+ max-width: 75%;
+ font-weight: 100;
+}
+
+tt {
+ text-align: left
+}
+
+/*
+-----------
+links
+-----------
+*/
+
+a:link {
+ color: #9a9ef9;
+ text-decoration: none;
+ text-align: left;
+}
+
+a.qa-mark:target:before {
+ content: "***";
+ color: #ff0000;
+}
+
+a:hover {
+ color: #9a9ef9;
+ text-decoration:underline;
+ text-align: left;
+}
+
+a:visited {
+ color: #9a9ef9;
+ text-align: left;
+}
+
+a:visited:hover {
+ color: #9a9ef9;
+ text-align: left;
+}
+
+/*
+-----------
+offline viewing: HTML links display an icon
+-----------
+*/
+
+a[href*="http://"]::before,
+a[href*="ftp://"]::before,
+a[href*="https://"]::before {
+ content: url(../images/ico_out.png);
+ padding-right: 5px;
+}
+
+.video a {
+ background: none;
+}
+
+.flags {
+ text-decoration: none;
+ text-height: 24px;
+}
+
+.flags:target {
+ background-color: #FFFFD6;
+}
+
+/*
+-------------------------------
+NOTE styles
+-------------------------------
+*/
+.admonition {
+ padding: 5px 0 5px 40px;
+ border: #404142 1px solid;
+}
+
+.admonition.note, .admonition.important {
+ background: #353637 3px 6px no-repeat url(../images/ico_note.png);
+}
+
+.admonition.warning {
+ background: #353637 3px 6px no-repeat url(../images/ico_note_attention.png);
+}
+/*
+-------------------------------
+Top navigation
+-------------------------------
+*/
+
+.qtref {
+ display: block;
+ position: relative;
+ height: 15px;
+ z-index: 1;
+ font-size: 11px;
+ padding-right: 10px;
+ float: right;
+}
+
+.naviNextPrevious {
+ clear: both;
+ display: block;
+ position: relative;
+ text-align: right;
+ top: -30px;
+ float: right;
+ height: 20px;
+ z-index: 1;
+ padding-right: 10px;
+ padding-top: 2px;
+ vertical-align: top;
+ margin: 0px;
+}
+
+.naviNextPrevious > a:first-child {
+ background-image: url(../images/btn_prev.png);
+ background-repeat: no-repeat;
+ background-position: left;
+ padding-left: 20px;
+ height: 20px;
+ padding-left: 20px;
+ }
+
+.naviNextPrevious > a:last-child {
+ background-image: url(../images/btn_next.png);
+ background-repeat: no-repeat;
+ background-position: right;
+ padding-right: 20px;
+ height: 20px;
+ margin-left: 30px;
+ }
+
+.naviSeparator { display: none }
+/*
+-----------
+footer and license
+-----------
+*/
+
+.footer {
+ text-align: left;
+ padding-top: 45px;
+ padding-left: 5px;
+ margin-top: 45px;
+ margin-bottom: 45px;
+ font-size: 10px;
+ border-top: 1px solid #404142;
+}
+
+.footer p {
+ line-height: 14px;
+ font-size: 11px;
+ padding: 0;
+ margin: 0;
+}
+
+.footer a[href*="http://"], a[href*="ftp://"], a[href*="https://"] {
+ font-weight: bold;
+}
+
+.footerNavi {
+ width: auto;
+ text-align: right;
+ margin-top: 50px;
+ z-index: 1;
+}
+
+.navigationbar {
+ display: block;
+ position: relative;
+ border-top: 1px solid #404142;
+ border-bottom: 1px solid #404142;
+ background-color: #353637;
+ z-index: 1;
+ height: 20px;
+ padding-left: 7px;
+ margin: 0px;
+ padding-top: 2px;
+ margin-left: -5px;
+ margin-right: -5px;
+}
+
+.navigationbar .first {
+ background: url(../images/home.png);
+ background-position: left;
+ background-repeat: no-repeat;
+ padding-left: 20px;
+ }
+
+.navigationbar ul {
+ margin: 0px;
+ padding: 0px;
+ }
+
+ .navigationbar ul li {
+ list-style-type: none;
+ padding-top: 2px;
+ padding-left: 4px;
+ margin: 0;
+ height: 20px;
+ }
+
+.navigationbar li {
+ float: left
+ }
+
+ .navigationbar li a, .navigationbar td a {
+ display: block;
+ text-decoration: none;
+ background: url(../images/arrow_bc.png);
+ background-repeat: no-repeat;
+ background-position: right;
+ padding-right: 17px;
+ }
+
+table.buildversion {
+ float: right;
+ margin-top: -18px !important;
+}
+
+.navigationbar table {
+ border-radius: 0;
+ border: 0 none;
+ background-color: #F2F2F2;
+ margin: 0;
+}
+
+.navigationbar table td {
+ padding: 0;
+ border: 0 none;
+}
+
+#buildversion {
+ font-style: italic;
+ float: right;
+ margin-right: 5px;
+}
+
+#buildversion a {
+ background: none;
+}
+
+/*
+
+/* table of content
+no display
+*/
+
+/*
+-----------
+headers
+-----------
+*/
+
+@media screen {
+ .title {
+ color: #d0d0d0;
+ font-size: 20px;
+ font-weight: normal;
+ left: 0;
+ padding-bottom: 15px;
+ padding-left: 10px;
+ padding-top: 15px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ background-color: #2E2F30;
+ border-bottom: 1px #404142 solid;
+ font-weight: bold;
+ margin-left: 0px;
+ margin-right: 0px;
+ }
+ .subtitle, .small-subtitle {
+ display: block;
+ clear: left;
+ }
+}
+
+h1 {
+ margin: 0
+}
+
+h2, p.h2 {
+ font: 500 16px/1.2 Arial;
+ font-weight: 100;
+ background-color: #353637;
+ padding: 4px;
+ margin-bottom: 15px;
+ margin-top: 30px;
+ border-top: #404142 1px solid;
+ border-bottom: #404142 1px solid;
+ max-width: 99%;
+}
+
+h2:target {
+ background-color: #F2F3D4;
+}
+
+h3 {
+ font: 500 14px/1.2 Arial;
+ font-weight: 100;
+ text-decoration: underline;
+ margin-bottom: 15px;
+ margin-top: 30px;
+}
+
+h3.fn, span.fn {
+ border-width: 1px;
+ border-style: solid;
+ border-color: #404142;
+ -moz-border-radius: 7px 7px 7px 7px;
+ -webkit-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
+ background-color: #353637;
+ word-spacing: 3px;
+ padding: 5px 5px;
+ text-decoration: none;
+ font-weight: bold;
+ max-width: 75%;
+ font-size: 14px;
+ margin: 0px;
+ margin-top: 30px;
+}
+.fngroup h3.fngroupitem {
+ margin-bottom: 5px;
+}
+
+h3.fn code,
+h3.flags code,
+td.tblQmlFuncNode > p > code,
+td.tblQmlPropNode > p > code {
+ float: right;
+}
+
+code.extra.summary {
+ font-size: 12px;
+}
+
+h3.fn:target {
+ background-color: #F6F6D6;
+}
+
+.name {
+ color: #d0d0d0
+}
+
+.type {
+ color: #a4a6a8
+}
+
+/*
+-----------------
+table styles
+-----------------
+*/
+
+.table img {
+ border: none;
+ margin-left: 0px;
+ -moz-box-shadow: 0px 0px 0px #2E2F30;
+ -webkit-box-shadow: 0px 0px 0px #2E2F30;
+ box-shadow: 0px 0px 0px #2E2F30;
+}
+
+/* table with border alternative colors*/
+
+table, pre, .LegaleseLeft {
+ -moz-border-radius: 7px 7px 7px 7px;
+ -webkit-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
+ background-color: #353637;
+ border: 1px solid #404142;
+ border-collapse: separate;
+ margin-bottom: 25px;
+ margin-left: 15px;
+ font-size: 12px;
+ line-height: 1.2;
+}
+
+ table tr.even {
+ background-color: #2E2F30;
+ color: #a4a6a8;
+ }
+
+ table tr.odd {
+ background-color: #353637;
+ color: #a4a6a8;
+ }
+
+ table tr:target {
+ background-color: #F6F6D6;
+ }
+
+ table thead {
+ text-align: left;
+ padding-left: 20px;
+ background-color: #2E2F30;
+ border-left: none;
+ border-right: none;
+ }
+
+ table thead th {
+ padding-top: 5px;
+ padding-left: 10px;
+ padding-bottom: 5px;
+ border-bottom: 2px solid #404142;
+ padding-right: 10px;
+ }
+
+ table th {
+ text-align: left;
+ padding-left: 20px;
+ }
+
+ table td {
+ padding: 3px 15px 3px 20px;
+ border-bottom: #404142 dotted 1px;
+ }
+
+ table p {
+ margin: 0px
+ }
+
+.LegaleseLeft {
+ font-family: monospace;
+ white-space: pre-wrap;
+}
+/* table bodless & white*/
+
+.borderless {
+ border-radius: 0px 0px 0px 0px;
+ background-color: #2E2F30;
+ border: 1px solid #2E2F30;
+}
+
+.borderless tr {
+ background-color: #2E2F30;
+ color: #d0d0d0;
+ }
+
+.borderless td {
+ border: none;
+ border-bottom: #2E2F30 dotted 1px;
+ }
+
+/*
+-----------
+List
+-----------
+*/
+
+ul {
+ margin-top: 10px;
+}
+
+li {
+ margin-bottom: 10px;
+ padding-left: 8px;
+ list-style: outside;
+ text-align: left;
+}
+
+ ul > li {
+ list-style-type: square;
+ }
+
+ol {
+ margin: 10px;
+ padding: 0;
+}
+
+ol.A > li {
+ list-style-type: upper-alpha;
+}
+
+ol.a > li{
+ list-style-type: lower-alpha;
+}
+
+ol > li {
+ margin-left: 30px;
+ padding-left: 8px;
+ list-style-type: decimal;
+}
+
+ol.A > li {
+ list-style-type: upper-alpha;
+}
+
+ol.a > li {
+ list-style-type: lower-alpha;
+}
+
+ol.i > li {
+ list-style-type: lower-roman;
+}
+
+ol.I > li {
+ list-style-type: upper-roman;
+}
+
+.centerAlign {
+ text-align: left
+}
+
+.cpp, .LegaleseLeft {
+ display: block;
+ margin: 10px;
+ overflow: auto;
+ padding: 20px 20px 20px 20px;
+}
+
+.js {
+ display: block;
+ margin: 10px;
+ overflow: auto;
+ padding: 20px 20px 20px 20px;
+}
+
+.memItemLeft {
+ padding-right: 3px
+}
+
+.memItemRight {
+ padding: 3px 15px 3px 0
+}
+
+.qml {
+ display: block;
+ margin: 10px;
+ overflow: auto;
+ padding: 20px 20px 20px 20px;
+}
+
+.qmlextra {
+ padding-left: 5px;
+ float: right;
+}
+
+.rightAlign {
+ padding: 3px 5px 3px 10px;
+ text-align: right;
+}
+
+.qmldoc {
+ margin-left: 15px
+}
+
+.flowList {
+ padding: 25px
+}
+.flowList dd {
+ display: inline-block;
+ margin-left: 10px;
+ width: 255px;
+ line-height: 1.15em;
+ overflow-x: hidden;
+ text-overflow: ellipsis
+}
+.alphaChar {
+ font-size: 2em;
+ position: relative
+}
+/*
+-----------
+Content table
+-----------
+*/
+
+@media screen {
+ .toc {
+ float: right;
+ clear: right;
+ vertical-align: top;
+ -moz-border-radius: 7px 7px 7px 7px;
+ -webkit-border-radius: 7px 7px 7px 7px;
+ border-radius: 7px 7px 7px 7px;
+ background: #353637;
+ background-position: top;
+ background-repeat: repeat-x;
+ border: 1px solid #404142;
+ padding-left: 5px;
+ padding-bottom: 10px;
+ height: auto;
+ width: 200px;
+ text-align: left;
+ margin-left: 20px;
+ margin-top: 5px;
+ }
+}
+
+
+.toc h3 {
+ text-decoration: none
+}
+
+.toc h3 {
+ font: 500 14px/1.2 Arial;
+ font-weight: 100;
+ padding: 0px;
+ margin: 0px;
+ padding-top: 5px;
+ padding-left: 5px;
+}
+
+.toc ul {
+ padding-left: 10px;
+ padding-right: 5px;
+}
+
+.toc ul li {
+ margin-left: 15px;
+ marker-offset: 0px;
+ margin-bottom: 8px;
+ padding-left: 0px;
+ }
+
+.toc .level1 {
+ border: none
+}
+
+.toc .level2 {
+ border: none;
+ margin-left: 25px;
+}
+
+.level3 {
+ border: none;
+ margin-left: 30px;
+}
+
+.clearfix {
+ clear: both
+}
+
+/*
+-----------
+Landing page
+-----------
+*/
+
+.col-group {
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+
+.landing h2 {
+ background-color: transparent;
+ border: none;
+ margin-bottom: 0px;
+ font-size: 18px;
+}
+
+.landing a, .landing li {
+ font-size: 13px;
+ font-weight: bold !important;
+}
+
+.col-1 {
+ display: inline-block;
+ white-space: normal;
+ width: 70%;
+ height: 100%;
+ float: left;
+}
+
+.col-2 {
+ display: inline-block;
+ white-space: normal;
+ width: 20%;
+ margin-left: 5%;
+ position: relative;
+ top: -20px;
+}
+
+.col-1 h1 {
+ margin: 20px 0 0 0;
+ }
+
+.col-1 h2 {
+ font-size: 18px;
+ font-weight: bold !important;
+}
+
+.landingicons {
+ display: inline-block;
+ width: 100%;
+}
+
+.icons1of3 {
+ display: inline-block;
+ width: 33.3333%;
+ float: left;
+}
+
+.icons1of3 h2, .doc-column h2 {
+ font-size: 15px;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.multi-column {
+ position: relative;
+}
+
+div.multi-column div {
+ display: -moz-inline-box;
+ display: inline-block;
+ vertical-align: top;
+ margin-top: 1em;
+ margin-right: 4em;
+ width: 24em;
+}
+
+.mainContent .video {
+ width:40%;
+ max-width:640px;
+ margin: 15px 0 0 15px;
+ position:relative;
+ display:table
+}
+
+.mainContent .video iframe {
+ width:100%;
+ height:100%;
+ position:absolute;
+ top:0;
+ left:0
+}
diff --git a/doc/global/template/style/offline.css b/doc/global/template/style/offline.css
index 4075845549..6426109a49 100644
--- a/doc/global/template/style/offline.css
+++ b/doc/global/template/style/offline.css
@@ -147,7 +147,7 @@ Top navigation
display: block;
position: relative;
text-align: right;
- top: -47px;
+ top: -30px;
float: right;
height: 20px;
z-index: 1;
@@ -369,9 +369,18 @@ h3.fn, span.fn {
.fngroup h3.fngroupitem {
margin-bottom: 5px;
}
-h3.fn code {
+
+h3.fn code,
+h3.flags code,
+td.tblQmlFuncNode > p > code,
+td.tblQmlPropNode > p > code {
float: right;
}
+
+code.extra.summary {
+ font-size: 12px;
+}
+
h3.fn:target {
background-color: #F6F6D6;
}
@@ -574,6 +583,20 @@ ol.I > li {
padding: 3px 15px 3px 0
}
+span.status.technical-preview {
+ display: inline-block;
+ position: relative;
+ background: center/contain no-repeat url(tech_preview.svg);
+ width: 26px;
+ height: 23px;
+}
+
+td.memItemRight span.status {
+ margin-top: -10px;
+ right: -10px;
+ top: 6px;
+}
+
.qml {
display: block;
margin: 10px;
diff --git a/doc/global/template/style/online.css b/doc/global/template/style/online.css
index 23d387430e..d7c0187409 100644
--- a/doc/global/template/style/online.css
+++ b/doc/global/template/style/online.css
@@ -505,6 +505,18 @@ h1,h2,h3,h4,h5,h6 {
font-size:150%;
margin-bottom: 1em
}
+span.status.technical-preview {
+ display:inline-block;
+ position:relative;
+ background:center/contain no-repeat url(tech_preview.svg);
+ width:26px;
+ height:23px
+}
+td.memItemRight span.status {
+ margin-top:-10px;
+ right:-10px;
+ top:6px
+}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
display:block
}
@@ -1097,12 +1109,18 @@ span.wrap:active {
code,.codelike {
font-family:"Droid Sans Mono"
}
-h3.fn code {
- font-size:0.75em;
+h3.fn code,
+h3.flags code,
+td.tblQmlFuncNode > p > code,
+td.tblQmlPropNode > p > code {
+ font-size:0.6em;
float:right;
background-color:#eee;
padding:3px;
- margin: 3px 0 0 20px
+ margin-left:20px
+}
+code.extra.summary {
+ font-size:0.75em;
}
pre:hover>.copy_text {
display:inline-block;
@@ -1569,3 +1587,9 @@ a.plink {
a.plink::before {
content:'\00B6'
}
+
+/* Add margin for all anchor tags in a translated page */
+html.translated-ltr .mainContent p a,
+html.translated-rtl .mainContent p a {
+ margin:0 2px 0 2px;
+}
diff --git a/doc/global/template/style/tech_preview.svg b/doc/global/template/style/tech_preview.svg
new file mode 100644
index 0000000000..54ce08ddbb
--- /dev/null
+++ b/doc/global/template/style/tech_preview.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="49" height="43" viewBox="0 0 13 11" stroke="#09102b"><path d="M12.82 11.125L.155 11.121 6.491.155z" opacity=".999" fill="#ffe353" stroke-linejoin="round" stroke-width=".31"/><path d="M4.914 7.071L3.521 8.302l1.287 1.084m1.144.027l1.394-1.231-1.287-1.084m-.283-.539l-.788 2.974" fill="none" stroke-linecap="round" stroke-width=".151"/><path d="M7.287 9.358l-.013.259 1.695.025-.021-.297-1.662.013zm.706.017L7.989 5.7l.367-.004.017 3.658m.33-3.512l-.238.008.004.255.238.033-.004-.297zm-.221.05l-3.199.008.004.238 3.165-.021.029-.226zm-2.965.255l.025.447.28-.15.23.163-.267.313m-.23-.322l-.242-.046-.084.163.288.226" fill="#41cd52" stroke-width=".151"/></svg>
diff --git a/doc/global/warninglimit.qdocconf b/doc/global/warninglimit.qdocconf
new file mode 100644
index 0000000000..661240820a
--- /dev/null
+++ b/doc/global/warninglimit.qdocconf
@@ -0,0 +1,9 @@
+# Fail the documentation test build if QDoc warnings exceed the limit.
+#
+# Submodule documentation projects can increase this base limit to
+# account for known warnings, for example:
+#
+# qtcore.qdocconf:
+# warninglimit += 1
+
+warninglimit = 10