- 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>
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>
* 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>
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
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>
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>
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>
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>
The title of the external page 'Creating a Mobile Application' in the
Qt Creator docs has changed to include a space between 'Qt' and
'Creator'. This caused the filename to change, thus breaking the
incoming links from the Qt for (iOS|Android) Examples pages.
Task-number: QTBUG-69678
Change-Id: I7819a9e2b483bc760af5bb636841bccf0c6cb739
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
Specifically, commit e80a3b49c0 introduced
the use of some QT_VERSION_CHECK macros to distinguish some methods'
visibility between Qt 5 and Qt 6, however the QDoc falsehoods variable
(added sometime prior) was sensitive to whitespace, and did not
correctly recognize those version checks. This resulted in some methods
being incorrectly documented as public instead of protected, or vice
versa.
This change simply makes the QT_VERSION_CHECK in QDoc falsehoods allow
for optional whitespace.
Methods affected by this change (in documentation only):
* QListWidget::dropEvent()
* QTableWidget::items(), ::indexFromItem(), itemFromIndex()
* QTreeWidget::items(), ::indexFromItem(), and itemFromIndex()
Task-number: QTBUG-68005
Change-Id: Ibe3e780334a9a915989ed43b5cdda6915c9161ec
Reviewed-by: Luca Beldi <v.ronin@yahoo.it>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
QDoc links to the homepage in the navigation bar; use
index.html for linking instead of "Qt $QT_VER" to prevent
incorrect links to section titles that clash with that
string.
Task-number: QTBUG-62484
Change-Id: I53ced31b7ce35d69579a8c70cbc475e306fd3b18
Reviewed-by: Martin Smith <martin.smith@qt.io>
__cplusplus was removed from the list of defines passed to
qdoc because it should not be there for clang-qdoc.
Change-Id: I32802e68d915f7a5b717f16ba26a1cd57d7ff645
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
We do add, remove or update third party code in minor releases,
sometimes even in patch level releases. However, the documentation is
supposed to be valid for all existing Qt 5 versions, but doing this for
attributions would require infrastructure we don't have.
Therefore rather make it explicit which Qt version the attributions
apply to. Also mention since when Qt is available under LGPLv3
(starting with Qt 5.4).
Task-number: QTBUG-65665
Change-Id: I328b5bf0c143f78ea61aad51f0644c3cbb6dee49
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Each module now maintain the list of examples to highlight separately.
Change-Id: Ib9bca8d945bb3e81d4176cbbebcb89b1309dc0d4
Reviewed-by: Nico Vertriest <nico.vertriest@qt.io>
The highlighted examples list for QQC2 is maintained separately.
Task-number: QTBUG-60647
Change-Id: Ib64ff7a44c6fcaf99058422d76ef6680df310911
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Conflicts:
examples/examples.pro
qmake/library/qmakebuiltins.cpp
src/corelib/global/qglobal.cpp
Re-apply b525ec2 to qrandom.cpp(code movement in 030782e)
src/corelib/global/qnamespace.qdoc
src/corelib/global/qrandom.cpp
src/gui/kernel/qwindow.cpp
Re-apply a3d59c7 to QWindowPrivate::setVisible() (code movement in d7a9e08)
src/network/ssl/qsslkey_openssl.cpp
src/plugins/platforms/android/androidjniinput.cpp
src/plugins/platforms/xcb/qxcbconnection.cpp
src/plugins/platforms/xcb/qxcbconnection_xi2.cpp
src/widgets/widgets/qmenu.cpp
tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp
Change-Id: If7ab427804408877a93cbe02079fca58e568bfd3
If the style changes after the browser already jumped to an anchor,
the resulting browser position will be messed up.
So, after we changed the style we need to make sure that we jump
to the anchor again.
Since browsers do not jump to anchors that they already jumped to,
that means first jumping to the top, then to the actual anchor.
Task-number: QTCREATORBUG-18448
Change-Id: I86c736adab6940903276f8a896b4054ddae11ebe
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Add CSS rules for grouped function documentation; that is, multiple
function signatures sharing the same documentation body.
Change-Id: I28de3805a8f5f972a59f6ea4ae32262ac36b69a6
Reviewed-by: Martin Smith <martin.smith@qt.io>
We're only supporting builds with MinGW-w64 these days.
Change-Id: I1198551ba85132c3f0f81e32f11aa149126ca61f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
When the switching to the non-simple offline style is done after
document load, the navigation to anchors completely breaks. So, do
the switch without the additional delay.
Task-number: QTCREATORBUG-18448
Change-Id: I5abbc3bbe1c743d2a5e493bb9e0916c5d092942a
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
QX11Info class from the Qt X11 Extras module is documented in
qx11info_x11.cpp, and it needs to be parsed.
Change-Id: I32e8415d93e67dbf16267d4af63979c1db0870b0
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
- Qt Bluetooth: Bluetooth Low Energy Heart Rate Game
- Qt Charts: Chart Themes Example
- Qt Data Visualization: Bars Example
- Qt Data Visualization: Surface Example
Task-number: QTBUG-53728
Change-Id: I960532deedc7e24dc5cd3e452ab1908b367e6d8e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Only example app that demonstrates the use of Qt for a wearable device.
Change-Id: I7656f809b0219e9a2c8cd61985445ecff8b2c174
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
This enables a number of functions declared in the qalgorithms.h to be
successfully documented.
Change-Id: I20c5827bb8f9e2ada98fd368b7827c5b156a518e
Reviewed-by: Martin Smith <martin.smith@qt.io>
This was dropped by commit 740ff1b8 in preparation for clang-based
C++ parser in qdoc. However, the old (current) parser still needs it,
as some of the functions to document are wrapped with those macros.
It does not interfere with the clang parser anyway; unlike the old
parser, clang will not resolve the wildcards in macros.
Change-Id: I3135a263e8eb200a11b1e918c776e3a2c3ec5fb6
Reviewed-by: Martin Smith <martin.smith@qt.io>
Some of the public APIs are still documented in private (_p.cpp)
source files. Let qdoc parse them.
Change-Id: I29ad87c21d663504f2b947d8b9ed76609c7946f3
Reviewed-by: Martin Smith <martin.smith@qt.io>
Since commit bf2160e72c, we can rely on
charNN_t support in all compilers except MSVC 2013, and since that
commit, we use (in 5.10, not 5.9, yet)
!defined(Q_OS_WIN) || defined(Q_COMPILER_UNICODE_STRINGS)
when we only need charNN_t, the type, as opposed to its library
support (u16string, char_traits<char16_t>, ...).
This patch splits the Q_C_UNICODE_STRINGS macro into two, adding
Q_STDLIB_UNICODE_STRINGS for when we need std::uNNstring, leaving
Q_C_UNICODE_STRINGS for when we need just charNN_t support.
In QDebug, when constructing a QChar out of a char16_t, cast to ushort
first, since QChar(char16_t) was only officially introduced in Qt 5.10.
[ChangeLog][Potentially Source-Incompatible Changes] The internal
Q_COMPILER_UNICODE_STRINGS macro is now defined if the compiler
supports charNN_t, even if the standard library does not. To check for
availability of std::uNNstring, use the new Q_STDLIB_UNICODE_STRINGS
macro.
Change-Id: I8f210fd7f1799fe21faf54506475a759b1f76a59
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Later, the Windows XP style will be removed entirely by means of
being merged with the Windows Vista style (which inherits from the
XP style).
There was actually no reason for these styles being separate
classes in the first place, because both result in the same
appearance for controls on the running version of Windows.
Therefore, the windowsxp style merely appears as a "broken"
version of the windowsvista style, with only minor differences
based on the additional metrics that the vista style provides.
The windowsxp style does NOT, and never did, allow users to get
a Windows XP style appearance on Windows 7 and above (which is
currently Qt's minimum supported platform). Therefore, now that
Qt no longer supports Windows XP, the windowsxp style is unusable.
[ChangeLog][QtWidgets] The windowsxp style is no longer available
as a separate style, because it did not (and cannot) actually
provide an XP-style appearance on currently supported Qt platforms.
Change-Id: I513d9bce3f247f97cfb28dfee88fe888469e0a6f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
qtquickcontrols2-customize.qdoc:28: warning: Can't link to 'Creating C++ Classes'
Change-Id: I7e8e84d7a0d03a84f32d860bc646640e5cf6258f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
QSysInfo has a customized deprecation directive that QDoc needs to
ignore to generate documentation for the deprecated functionality.
Change-Id: I1c378f14a2f842f1e9a55614d43fe509bb77fd89
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
This macro adds a \youtube <ID> command that embeds a YouTube link
into the documentation.
The video container scales to a specified percentage of the available
horizontal area. It assumes a source aspect ratio of 16:9, but looks
acceptable with other ratios.
For backends that do not support <iframe> (e.g. QTextBrowser), shows
a clickable video thumbnail that open the YouTube link in an external
browser window. Unfortunately, QTextBrowser cannot load images from
a remote URL, so we need to store a thumbnail image in the .qch file.
Change-Id: I3a3a0c5a20dd90e5cec6357ba70a23ee47dbe825
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
QDoc supports the --showinternal command line option, but it's
not integrated to the build system.
This commit documents an alternative way to get documentation marked as
internal generated, replacing every instance of \internal with a text
string '[internal]'
Change-Id: Ib48ade21adf32d430e62b95c4baa64be620d7eb0
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Martin Smith <martin.smith@qt.io>
QDoc reports warnings for every QML code snippet that's not a
complete QML type declaration - ignore these warnings because
in majority of the cases, they're not indicative of any actual
problems in the code.
Change-Id: I53d13e2ae683ca8c5473f68eda17c61199de1ff8
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Also add a basic test for constexpr expressions involving QSizePolicy.
GCC < 4.8.0 has problems with initializing variant members in constexpr ctors:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54922
Instead of revoking its Q_COMPILER_CONSTEXPR, which is a source-incompatible
change, simply note the fact so we can selectively provide constexpr for
QSizePolicy.
Change-Id: Iba8e5a7cdf847d73e8e2b6bb6211fb3c9846aa0a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
clangqdoc can't parse platform dependent source files
because they try to include platform dependent system
include files. e.g., When clangqdoc is run on macOS,
the Windows system include files are not available.
This change adds all the platform dependent .cpp files
to the excludefiles config variable. This means that
qdoc comments are no longer allowed in the excluded
files. There shouldn't be any documentation in these
files anyway. Platform dependent documentation should
be in .qdoc files or in generic .cpp files that do not
try to include platform dependent include files.
Note that .m and .mm files are excluded programatically
in qdoc.
Change-Id: I8f93fe9f5604e558b3df8c8cc8ee723010bf885d
Reviewed-by: Martin Smith <martin.smith@qt.io>
In clangqdoc, we no longer define platform-specific
macros, because they make clang try to include too
much include stuff. Instead, when we have something
like #if defined(Q_OS_XXX) surrounding something we
want clangqdoc to see, we add the Q_CLANG_QDOC macro
like this: #if defined(Q_OS_XXX) || defined(Q_CLANG_QDOC).
This should not be done everywhere Q_OS_XXX is used, but
only where there is some platform-specific things we want
to document.
Change-Id: I97bb57e9b0c044899fa45b0beb02702906d5c89a
Reviewed-by: Martin Smith <martin.smith@qt.io>
The qdoc 'defines' config variable lists values
that contain '*' to represent wildcards, but clang
doesn't accept them. This change adds a new config
variable called 'clangdefines' which explicitly
lists all the defines that match the wildcards.
It also lists several Qt defines for C++11 stuff,
because when clangqdoc comes into use, all the
supported compilers for Qt will support C++11
constructs.
There might be a few defines listed in clangdefines
that are unnecessary and maybe a few that we really
should not include, but we can adjust the list as
needed.
The clangqdoc code that reads this new config variable
will be added in a separate change. This change will
not affect the non-clang qdoc, because qdoc will just
ignore the clangdefines variable.
This change also adds Q_CLANG_QDOC to 'defines' and
to 'clangdefine'. Q_CLANG_QDOC is meant to be used
in the sources the way Q_QDOC is used. It indicates
that a particular use of Q_QDOC has been reviewed and
is still required for clangqdoc.
Change-Id: I3b00b18ec726196eda5cfa8411cd3e87433fec59
Reviewed-by: Martin Smith <martin.smith@qt.io>
Some public functions in QString and QDebug are declared inside
Q_COMPILER_UNICODE_STRINGS. This commit defines it for QDoc, and
adds documentation for QDebug functions that are now visible to
QDoc.
Change-Id: Ia7f2501c1dc7b8244dcc3ce4adcd2019fdbffcb6
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This macro, introduced in Qt 5.8, needs to be ignored by QDoc
in order to generate documentation correctly for a number of
deprecated functions.
Change-Id: I50bcd42167e3fafb7dda88484fde86e1aebb5980
Reviewed-by: Martin Smith <martin.smith@qt.io>
We need to add Q_[ENUM|FLAG]_NS to global qt-cpp-defines doc conf otherwise
qdoc ignores them and it will not produce any documentation or links to
these enums/flags
Task-number: QTBUG-57616
Change-Id: I744317346feb41db02787677f8698c4de15db226
Reviewed-by: Martin Smith <martin.smith@qt.io>
Removed a few from the list after testing them on a
Linux desktop and an Android device.
Change-Id: If1b9e7739d8c374acc8cbd2c72d7176fdff2e9f3
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Number of API changes in Qt 5.8 use these macros and QDoc needs to
ignore them the correctly match the documentation to the function
signatures.
Task-number: QTBUG-57424
Change-Id: I0c3a0eb4deb2d9b348f24800591bc6f6b47cf458
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Each supported version control system is described in
more detail in a dedicated topic since version 4.2.
Change-Id: I666f8c18d31954935c836509e572a3bfd2c2a32e
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
9f45d2ab added a documentation macro for bordered images
- Add the corresponding CSS rules to apply a drop shadow
for such images.
Change-Id: I18c4fbd7498db7b9391f33e568219e67b329e618
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Even though the \legalese command is no longer used in Qt 5
documentation as it doesn't support collating legalese texts
across modules, it may still be useful for stand-alone doc
projects.
Add CSS rules so the \legalese text is styled similarly to
code blocks, to make it stand out from the rest of the content.
Change-Id: I533d8e2375ea2f8054c0671ff34dfa6f0dfe01d1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Commit c5db8fc74 changed all instances of Q_WS_FOO to have the prefix
Q_DEAD_CODE_FROM_QT4 instead, to make it clearer when reading the code
that the code in question was a left-over from Qt4, when we used
Q_WS_ defines instead of Q_OS_ defines.
This worked well for cases of #ifdef Q_DEAD_CODE_FROM_QT4, but less so
for cases of #ifndef Q_DEAD_CODE_FROM_QT4, where the code was actually
unconditionally included.
To make this even clearer, the defines have been replaced by checks for
1 or 0, with a comment describing how the code used to look in Qt4. The
use of constants in the check also makes it easier for editors to parse
the condition and show visually that the code is defined out.
Change-Id: I152070d87334df7259b417cd5e17d7b7950379b7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
This macro is used similarly to the \image command; it wraps the image
in a div with class attribute 'border' that allows additional styling
in CSS.
Change-Id: I94271074378d79f0e52f1f5a4715a1f84e0254dc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Q_NAMESPACE is useful to add Q_ENUM_NS/Q_ENUMS, Q_FLAG_NS/Q_FLAGS and
Q_CLASSINFO to a namespace.
[ChangeLog] Added Q_NAMESPACE which can be used to add Q_ENUM_NS/
Q_ENUMS, Q_FLAG_NS/Q_FLAGS and Q_CLASSINFO to a namespace
Task-number: QTBUG-54981
Change-Id: Ic61b972794063e77134681fb347d6c4acddcdb44
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
As of version 10.12 (Sierra), the name of Apple's desktop operating
system will be macOS. Change the occurrences where the Mac platform
is discussed to use a macro \macos, which expands to 'macOS'. This
helps with adapting to future renaming.
Update the instructions on mac-specific Q_OS_* macro usage.
Add a \target for the old 'Qt for OS X' topic to keep links working
for other documentation modules that try to link with the old name.
Change-Id: Id33fb0cd985df702a4ae4efb4c5fd428e77d9b85
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Let the qtattributionsscanner tool generate a .qdoc file in
the build directory that contains code attributions for
this qdoc module.
Task-number: QTBUG-55139
Change-Id: Ic7532c9a7c092f552c36e21ee6cbebdd0107689b
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com>
The section got introduced in commit 93d35c07d0, but is
ignored by browsers so far due to a non-blank space (0xc2 0xa0).
Task-number: QTBUG-55115
Change-Id: Ie0668b89c7151c934f40e033100a544011a583d8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
The section got introduced in commit 93d35c07d0, but was apparently
ignored by browsers due to a non-blank space (0xc2 0xa0).
In commit b3959b515f the space was replaced, causing browsers
to hide the content.
Task-number: QTBUG-55115
Change-Id: I491f8721da5f2a964e450d4a0bee785a937ac7e4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>