The vspan was originally added for iframes. They are not needed
(and look weird) for normal images/links.
Pick-to: 6.1
Fixes: QTBUG-92266
Change-Id: I9da2b52234b2e49bc0cdef4bf8f0865fb092bb31
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
- Start in root folder so that large directories (/bin/, Windows)
are easily reachable
- Remove the line edit and navigate by double clicking instead
since this is more in line with expectations
- Use a QPlainTextEdit for logging
- Make the log message more informative
- Add icons
Change-Id: Ia3cd7fc143efef80772923291f0b711913aa47be
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Using a dark theme with the simplified offline style in Qt Assistant
results in hard to see links against a dark background. Let the
backend style the hyperlinks instead.
Pick-to: 6.1 6.0 5.15
Fixes: QTBUG-32778
Change-Id: I51ca87f8a526a07a385e42a3c978712ac4d1e91b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
- Add links to new topics
- Remove links to obsolete topics
- Update changed topic titles (might break links in module docs)
- Fix HTML file name of the Creating a Mobile Application topic
Change-Id: I8f06171946d85ed0fbfd457ed115f41cb5a9e2d0
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
There are still other parts of the CMake API that are not yet
documented. This change only addresses qt_add_executable() and the
Android-related commands it uses.
Fixes: QTBUG-88839
Task-number: QTBUG-84482
Pick-to: 6.0
Change-Id: I761b5ce908d1f62284baabe2d414cd37a0efe83d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Remove the qmake project files for most of Qt.
Leave the qmake project files for examples, because we still test those
in the CI to ensure qmake does not regress.
Also leave the qmake project files for utils and other minor parts that
lack CMake project files.
Task-number: QTBUG-88742
Change-Id: I6cdf059e6204816f617f9624f3ea9822703f73cc
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Use list-style-type correctly and replace background-image with
::before content for external link icons.
Pick-to: 6.0
Fixes: QTBUG-89470
Fixes: QTBUG-89471
Change-Id: Ib11a45baf5e92565b22e21f3bd1a929cbbbef608
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
C++ comment was terminated by "/" instead of "*/"
Task-number: QTBUG-88533
Pick-to: 6.0
Change-Id: I560b69602856009509781e56df36fee5879a297f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
The old link zstd.net is not working any more. Zstandard is now at
http://facebook.github.io/zstd/. To ease maintenance in the future,
those links now point to "Zstandard Site" which is maintained in
external-resources.qdoc.
Task-number: QTBUG-88533
Pick-to: 6.0
Change-Id: Ic8f067fd5d7ce1a088d0272797fca98fd506a26e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Unlike the QTextBrowser backend, litehtml does not render elements
inside <iframe> correctly. This prevented external links to
YouTube from working in offline documentation.
Move the <iframe> to a macro override specific to online doc builds.
Pick-to: 6.0 6.0.0
Fixes: QTBUG-88975
Change-Id: Iff7828ddeed353620eaa9ac669a3e0c03749daa2
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
The example won't show up in Qt Creator's Welcome mode without either
an \image or a generic thumbnail. Add the latter for now.
Pick-to: 6.0
Fixes: QTBUG-88970
Change-Id: Id5ec236ef4760e678921bc2a90608d66ac35394d
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
We don't use it yet in qtbase, but will need it in various other sub-modules,
so it's arguably better to maintain it here.
Change-Id: I5c10c9b34cafd435251918280ad0405189900337
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
This patch allows in top-level prefix builds to build Qt and to generate
the documentation without running cmake --install first.
For top-level builds we now always use the qdoc binary from the build
directory, not the installation directory.
We also have to copy the global doc files to the build directory to make
them accessible to the generate_docs target.
Change-Id: I2251603418fc3df9a21c7f2892789e9ff6c8cc21
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* Rearrange the documention to match the enumeration order.
Fixes: QTBUG-87037
Change-Id: Iad001351e0f309e694b8bbd503813017e6586a21
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
It was way too small, and should match the margins
for other content such as paragraphs, so that an
inline table in between two paragraphs has a balanced
spacing.
Change-Id: I2adb434ac7773e9796199f40d5318368ca380aca
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Qt for Python can be linked with \externalpage QDoc command
Task-number: QTBUG-87158
Change-Id: I68acc028f89af09cbd069e098a0fbbfa72234cdc
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Link to the website with the QDoc \l command
Task-number: QTBUG-87158
Change-Id: I1ae93f4ecf917dbb06e4ebd1eb1ca1b8fe31562b
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Enables linking to them using QDoc \l command
Task-number: QTBUG-85517
Change-Id: I23073a5c7b2f06a8ecf66116c538dcd3fff08f61
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
These were now always defined, hence redundant.
Leave the #define in place so that we can verify we actually do always
define it, in a #else of an existing #if check on it.
Change-Id: Iea4c3dbc8f9982268bcf81da5ef17fe2ebf5c462
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Drop deprecation warnings for now-dropped items
* Use the 'qt6' define and a new \nothing doc macro to conditionally
document items on Qt 6
* Add a custom module header for docs that pulls in also Vulkan headers
* Add \internal command for internal classes/functions
* Move QtGUI-related code snippets from widgets to gui docs
Change-Id: Ieb386b96631a49568d09059906d307c45c01d93a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
These strings qualify for auto-linking and therefore result in
unnecessary hyperlinks whenever 'Qt WebSockets' appears in the
documentation.
Pick-to: 5.15
Task-number: QTBUG-85388
Change-Id: I969125d4d5367f2373eef75180fe36817e3507d9
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Use the overload-with-template trick from P1423 to avoid ambiguities
when existing callers pass 0 or nullptr.
Add a qdoc-ignored macro to hide the fact that the overload is a
template.
[ChangeLog][QtCore][QString] Added char8_t overload of fromUtf8().
Change-Id: Iaa2d365bfa161ef36cc73fa3bad50aabf34d01db
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Assume UTF-8 on all Unix like systems
* Export some functions to be able to compile QTextCodec once
moved to Qt5Compat.
Task-number: QTBUG-75665
Change-Id: I52ec47a848bc0ba72e9c7689668b1bcc5d736c29
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
- Set base URL path to /qt
- Define 'qt6' for use in conditionals
- Omit \since information for everything introduced
before Qt 5
- Make use of the new expandable variables to allow
component-specific URLs in commercial templates
- Adjust CSS for changes in QDoc's output
Change-Id: I74581f0fb49cd176f92d6451c388e7b7ddf1baa4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
This should help visually differentiate between
the section titles and the normal text.
Change-Id: I5594aac0e0036509e7397999c3df21a90d474d60
Fixes: QTBUG-82694
Pick-to: 5.15
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Setting the logo to position at the top seems
to fix the issue.
Fixes: QTWEBSITE-928
Change-Id: I29336b4a1967a4676695b4f7f8560d01f3cf4fdf
Pick-to: 5.15
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
This file hasn't been touched in years, the current snippets file
is in src/corelib/doc/snippets
Change-Id: I919649a4284805d15ccb76d50fb690f5d3a23455
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Android variable are missing from the list of QMake variables...
Task-number: QTBUG-80390
Change-Id: Ic10f96687334eea99c0302d7137685b1bf6e56c6
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Conflicts:
examples/opengl/doc/src/cube.qdoc
src/corelib/global/qlibraryinfo.cpp
src/corelib/text/qbytearray_p.h
src/corelib/text/qlocale_data_p.h
src/corelib/time/qhijricalendar_data_p.h
src/corelib/time/qjalalicalendar_data_p.h
src/corelib/time/qromancalendar_data_p.h
src/network/ssl/qsslcertificate.h
src/widgets/doc/src/graphicsview.qdoc
src/widgets/widgets/qcombobox.cpp
src/widgets/widgets/qcombobox.h
tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp
tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp
tests/benchmarks/corelib/io/qdiriterator/qdiriterator.pro
tests/manual/diaglib/debugproxystyle.cpp
tests/manual/diaglib/qwidgetdump.cpp
tests/manual/diaglib/qwindowdump.cpp
tests/manual/diaglib/textdump.cpp
util/locale_database/cldr2qlocalexml.py
util/locale_database/qlocalexml.py
util/locale_database/qlocalexml2cpp.py
Resolution of util/locale_database/ are based on:
https://codereview.qt-project.org/c/qt/qtbase/+/294250
and src/corelib/{text,time}/*_data_p.h were then regenerated by
running those scripts.
Updated CMakeLists.txt in each of
tests/auto/corelib/serialization/qcborstreamreader/
tests/auto/corelib/serialization/qcborvalue/
tests/auto/gui/kernel/
and generated new ones in each of
tests/auto/gui/kernel/qaddpostroutine/
tests/auto/gui/kernel/qhighdpiscaling/
tests/libfuzzer/corelib/text/qregularexpression/optimize/
tests/libfuzzer/gui/painting/qcolorspace/fromiccprofile/
tests/libfuzzer/gui/text/qtextdocument/sethtml/
tests/libfuzzer/gui/text/qtextdocument/setmarkdown/
tests/libfuzzer/gui/text/qtextlayout/beginlayout/
by running util/cmake/pro2cmake.py on their changed .pro files.
Changed target name in
tests/auto/gui/kernel/qaction/qaction.pro
tests/auto/gui/kernel/qaction/qactiongroup.pro
tests/auto/gui/kernel/qshortcut/qshortcut.pro
to ensure unique target names for CMake
Changed tst_QComboBox::currentIndex to not test the
currentIndexChanged(QString), as that one does not exist in Qt 6
anymore.
Change-Id: I9a85705484855ae1dc874a81f49d27a50b0dcff7
Qt Creator now has the option to use the litehtml backend as a
replacement for the QTextBrowser-based help viewer.
Fix a few issues that the offline style has with the litehtml renderer:
- Fall back to using an unordered list for the navigation bar.
- Remove the background image for #buildversion and adjust font size.
- Adjust the generated padding around code snippets.
Keep the script that switches the offline-simple.css style to the
full offline style (offline.css) for JavaScript-enabled browsers.
The litehtml backend in Qt Creator will handle this switch internally.
With these changes, the generated offline documentation looks
acceptable when rendered with QTextBrowser, litehtml, or desktop
web browsers.
Fixes: QTBUG-82567
Change-Id: I86b179b1985b7ef54feddab30cb227b28021efe5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Explicitly set the list of examples that works on Android,
as many have issues with layout or other issues.
Task-number: QTBUG-80716
Change-Id: If71efc45a48c6236f8775e21e4cab6dc0129f024
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Conflicts:
examples/widgets/graphicsview/boxes/scene.h
src/corelib/Qt5CoreMacros.cmake
src/corelib/Qt6CoreMacros.cmake
src/network/ssl/qsslsocket.cpp
src/network/ssl/qsslsocket.h
src/platformsupport/fontdatabases/windows/qwindowsfontenginedirectwrite.cpp
src/testlib/CMakeLists.txt
src/testlib/.prev_CMakeLists.txt
tests/auto/corelib/tools/qscopeguard/tst_qscopeguard.cpp
Disabled building manual tests with CMake for now, because qmake
doesn't do it, and it confuses people.
Done-With: Alexandru Croitor <alexandru.croitor@qt.io>
Done-With: Volker Hilsheimer <volker.hilsheimer@qt.io>
Change-Id: I865ae347bd01f4e59f16d007b66d175a52f1f152
Conflicts:
src/corelib/tools/qvector.h
Make QVector(DataPointer dd) public to be able to properly merge
5b4b437b30 from 5.15 into dev.
src/widgets/kernel/qapplication.cpp
tests/auto/tools/moc/allmocs_baseline_in.json
Done-With: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Change-Id: I929ba7c036d570382d0454c2c75f6f0d96ddbc01
Adds custom targets which take care of generating and installing
documentation files.
Every module has a global set of targets suffixed with the module
name in order for them to be unique when we implement super builds.
The targets are the same as the list below, but replace ${target}
with the module's name. Eg.: docs_qtbase.
For every target which has an qt_add_docs() call, we now create the
following set of custom targets:
* docs_${target}
* html_docs_${target}
* qch_docs_${target}
* prepare_docs_${target}
* generate_docs_${target}
* install_docs_${target}
* install_html_docs_${target}
* install_qch_docs_${target}
Fixes: QTBUG-75859
Change-Id: Ie84cb9a2dedbe7333d9a84f4d73383442deca477
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The member functions of QStandardPath and
Qt.labs.platform.StandardPath behave the same, so
it's ideal to maintain their documentation in one place.
Task-number: QTBUG-79827
Change-Id: I349dbb85cd9b6a3bedac329c0707fc07057cd64b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
'macOS' appears in the documentation frequently, and because it
resembles a variable/property name, QDoc links each occurrence
of it.
'WebChannel' appears as part of a module name, but it's also
a QML type - auto-linking each word to QML documentation is
confusing.
Likewise, there's no need to link 'OpenGL' each time.
Explicit links such as \l [QML] WebChannel continue to work.
Task-number: QTBUG-79135
Change-Id: I76cc84b0076255e260aa88c244102702a48f35a6
Reviewed-by: Martin Smith <martin.smith@qt.io>
These topics were added to Qt Creator Manual 4.9 and 4.10.
Change-Id: I2e9bf355eb78b5e9877d0ca0bc41de00ed2b4333
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
The benefit of keeping this code around was to inspire or inform
changes in the areas to take into account possibly missing features
in Qt 5, but at this point that benefit is questionable. We can
always use the history to learn about missing pieces if needed.
Change-Id: I87a02dc451e9027be9b97554427bf8a1c6b2c025
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
This is needed to copy the .qdocconf files from that directory to
QT_INSTALL_DOCS.
Task-number: QTBUG-74391
Change-Id: Ia73d5c38c3c9588820401e8098b01f09e63292e4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
A recurring problem with the Q_NAMESPACE macro is that it declares
an object (staticMetaObject) in the surrounding namespace. That
object lacks any export/import qualification to make it usable
with shared libraries.
Introduce therefore another macro to work around this issue, allowing
the user to prefix the object with an exporting macro, f.i. like this:
Q_NAMESPACE_EXPORT(Q_CORE_EXPORT)
The old macro can simply then be rewritten in terms of this new one,
supplying an empty export macro.
Note that NOT passing an argument to a macro expecting one is well
defined behavior in C99 -- the macro will expand an empty token.
Of course, MSVC doesn't like this and emits warnings. As a
workaround, use a variadic macro.
[ChangeLog][QtCore] Added the new Q_NAMESPACE_EXPORT macro. It
can be used just like Q_NAMESPACE to add meta-object information
to a namespace; however it also supports exporting of such
information from shared libraries.
[ChangeLog][Potentially Source-Incompatible Changes] Prefixing
Q_NAMESPACE with an export macro may no longer work. Use the new
Q_NAMESPACE_EXPORT macro for that use case.
Fixes: QTBUG-68014
Change-Id: Ib044a555ace1f77ae8e0244d824ec473550f3d8e
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Conflicts:
src/corelib/tools/qlocale_data_p.h
(Regenerated by running the scripts in util/local_database/)
src/gui/opengl/qopengltextureuploader.cpp
Done-With: Edward Welbourne <edward.welbourne@qt.io>
Done-With: Allan Sandfeld Jensen <allan.jensen@qt.io>
Change-Id: I12df7f066ed0a25eb109f61c4b8d8dea63b683e2
Document public macros in Qt5CoreMacros.cmake. This will replace
the list in the current CMake Manual.
Task-number: QTBUG-72159
Change-Id: I377412fe0c1d0a9b232162bbab88ac830d2cac80
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Add documentation on how to use a module from CMake, alongside
the existing documentation about qmake. Separate generic info
from module-specific examples, to make it possible to use one
include file in all modules.
While at it, also remove the mentioning of the central include;
it is not something we should actively advocate anymore. Instead,
the documentation of every class gives the correct include to use.
Task-number: QTBUG-73058
Change-Id: I6b3c0e5ea218dd9c06a491c8fb799a7fcf42dd92
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Instead of generating .html page for each file in an example
project, generate links to code.qt.io, under the correct
path and branch, where the user can browse the example source.
Store all URLs under QT_INSTALL_DOCS/config where other qt5
submodules can access them. The repository name appears in
the URL, so we cannot define a single URL for all modules.
Task-number: QTBUG-74391
Change-Id: I63d4d6d2c352877797b1ee8e057d48c0cd789bff
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
We don't support CMake version 2 anymore. Instead of just updating
to a newer (but fixed) version let's link to the latest
documentation. This might create a bigger risk that links get
stale, but hopefully let people find always the latest information.
Task-number: QTBUG-72159
Change-Id: I082de80cf9ee107b5d017ab8ad6369f2448b0e1b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
The simplified style needs to work for both light and dark themes
in Qt Creator's help system. Background and text colors are already
applied according to the active theme, this commit removes the rest
of the hardcoded element colors that do not look good with a dark
theme.
Task-number: QTBUG-49417
Task-number: QTBUG-69327
Change-Id: Ib5ebe2755e98ca120f0500ab82713a37ec7199bd
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
CMake's moc file scanning is rather primitive: It will run moc on any
file containing a line that starts with Q_OBJECT (and similar macros).
We have four files in QtBase that contain such a macro at the start
of the line in a qdoc comment. These four files were excluded from
automatic moc handling by cmake, which is not ideal, since this will
silently fail when somebody actually adds a Q_OBJECT macro in code.
This patch introduces a macro Q_OBJECT for qdoc. This macro will be
replaced with Q_OBJECT in the generated documentation. While not nice,
at least a failure to use \Q_OBJECT is noticeable: Moc will warn about
the file.
Change-Id: I829893c1166eee306fe30058d4ea0256affd45ea
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Qt for Python users reading the documentation assume that int(0) can
be passed for pointer parameters. Use the newly introduced \nullptr to
disambiguate this.
In a follow-up step, the \nullptr macro can be defined as None
when generating the Qt for Python documentation.
Task-number: PYSIDE-903
Change-Id: I3a45f87175a0668ab5f3f95f0aff409f7e3ef027
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Copied from the CSS served by http://doc.qt.io/
Change-Id: Id37447e0f6de4a08a2632df862ae36f73d284814
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Versioning of some QML modules follows the Qt major and minor
version exactly. Add a documentation macro that expands to the short
version string to help automate the QML plugin documentation.
Task-number: QTBUG-67818
Change-Id: I45e7a2a1adfd6a82b828222e49b1d02b7c05897e
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Add a global QDoc macro \QtMinorVersion that
expands into the minor version of Qt, or more
specifically, the minor version contained in
the QT_VER environment variable.
The main use case for the new macro is to
document the QML modules whose minor versions
track the minor version of Qt:
\qmlmodule QtQuick 2.\QtMinorVersion
Task-number: QTBUG-67818
Change-Id: I2b4fcbb18de0f8f95718099309090017c237622f
Reviewed-by: Martin Smith <martin.smith@qt.io>
These examples are outdated and unmaintained, and have not been included
in the documentation for a long time. Removing the files to avoid
further confusion.
Task-number: QTBUG-59249
Change-Id: I3e4c535219cc6b40f3add5430c0967eba2c80eb9
Reviewed-by: Martin Smith <martin.smith@qt.io>
The browser backend for offline documentation has fewer capabilities
when it comes to CSS and JavaScript support. These defines allow us
to use \if conditionals when needed:
/*!
\if defined(onlinedocs)
<Content that is rendered in online documentation>
\else
<Fallback for offline docs>
\endif
*/
Change-Id: Ia51acb937754f22f2ece2836b4fb1470bf9ade90
Reviewed-by: Martin Smith <martin.smith@qt.io>