Commit Graph

682 Commits

Author SHA1 Message Date
Paul Wicking
2f35879649 Doc: Add \examplecategory macro
Examples in Qt's codebase must be tagged with specific categories
such that Qt Creator can group them thematically. This can be done
by way of using the `\meta category` construct in QDoc.

At the same time, we want the generated documentation to group the
examples by the same logic as in Qt Creator. Hence, QDoc was modified
to implicitly add a group for each category that is used in a
`meta category` invocation.

By design, QDoc exposes ways to list groups to users, but no way to list
the \meta command invocations. Letting QDoc implicitly add a group for
categories passed to the \meta command as a side-effect, therefore breaks
with the principle of least surprise and the single responsibility
principle.

An alternative solution makes use of QDoc's existing support for code
generation through macros. This patch introduces the macro
`\examplecategory` as a global macro throughout Qt to achieve the same
effect as the aforementioned change to QDoc. The macro takes an argument
enclosed in curly braces. This argument is the example category name. It's
used as meta information in the manifest files consumed by Qt Creator, and
added as the category group name for the QDoc side at the same time.

The introduction of this macro allows reverting the change to QDoc
itself, while maintaining feature parity for both Qt Creator and the
generated content.

Task-number: QTBUG-111891
Pick-to: 6.5
Change-Id: I311b98168253b45ac456ff3c1824db3d835191a9
Reviewed-by: Luca Di Sera <luca.disera@qt.io>
2023-04-03 21:37:12 +02:00
Mårten Nordheim
826b606a5d Remove loopback network example
It doesn't showcase anything interesting that other examples
don't already show off.

Pick-to: 6.5
Change-Id: Ie95c3ddb3ff52b3beab54bd6fa75fb75ae5c7ba5
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
2023-03-23 16:02:28 +01:00
Dennis Oberst
11df026ea1 docs: Remove map and runfunction example
amends: fbb470b40b
amends: de5e0422ca

Pick-to: 6.5 6.5.0
Change-Id: I04d4a60f7e5f7f0d149667d0e78ca56bac23280d
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2023-03-21 16:19:19 +01:00
Dennis Oberst
8352756d27 Example: rename progressdialog to primecounter and modernize it
The previous example finished way too quickly and provided no real
value in regards to API understanding. Previously, QtConcurrent::map
was used, which was also used in other examples. We are now using
QtConcurrent::filterReduce to demonstrate other functionality.

Task-number: QTBUG-111165
Pick-to: 6.5 6.5.0
Change-Id: Ibd6eb119d0711cddfe8b211d460e9d67d6ce95c3
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
2023-03-21 11:19:42 +01:00
Dennis Oberst
d795dfaee7 Example: update wordcount example
Added a QFileDialog to let the user select a path. Before, the path
was statically assigned with "../../" , which is not optimal.
I also modified the findFiles function to check for text files in
general and not only *.cpp and *.h files. Lastly the result of the
word counting is now displayed on the console, as I think this is an
informative output from this example.

Task-number: QTBUG-111165
Pick-to: 6.5 6.5.0
Change-Id: Ie27c6acb4f79a78e3bef141edb92de08901fde71
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2023-03-20 20:58:08 +01:00
Santhosh Kumar
87567f3a46 docs: Remove side panel and swipe to remove examples
Removed side panel and swipe to remove examples as part of patchset
3bc6f344a8f10699313c3e0c9236dd6945edd895 and updated docs to reflect
that change.

Fixes: QTBUG-110989
Pick-to: 6.5.0
Change-Id: I6241dd9842b1584e3dd25057591fe29eaa34d579
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2023-03-08 15:19:13 +00:00
Jan Arve Sæther
5773c3ac28 Move anchor layout example to manual tests
Pick-to: 6.5 6.5.0
Change-Id: I9c9a9dbcdaf705a31208b80b71e978938a492142
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2023-03-02 17:24:53 +00:00
Volker Hilsheimer
3c104c2799 Remove the 'sdi' example
It is essentially the same as the other mainwindow examples, showing
how to create a text editor. The only special code here is the tiling of
the different main windows, which - without any documentation or
explanation - is neither very helpful, nor relevant in 2023.

Pick-to: 6.5
Change-Id: I48b92b1cf057f586e0d2842d1c0a3312154e9a13
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2023-03-02 12:08:11 +01:00
Jan Arve Sæther
a84b2e5973 Move Weather Anchor Layout example to manual tests
Pick-to: 6.5
Change-Id: I8782a83b5c12b4f57bf9ef9063818cb124bddd56
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2023-03-02 05:55:57 +01:00
Doris Verria
276bf8cb23 Examples doc: Tag 'To Do List Example' for iOS
All QtQuickControls examples are marked for android by default.
However, the To Do List example is iOS specific so don't include it.
Add it to the list of iOS tags instead.

Fixes: QTBUG-111426
Pick-to: 6.5 6.4
Change-Id: Ic89d6b40d263f81ed402a2064f2e44b2fa826940
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2023-02-27 10:10:10 +01:00
Friedemann Kleint
bb2ff8a69f qdoc: Add *.webp as an default image suffix
qdoc does ignore image directories if no file with 'known' suffix
is found.

[ChangeLog][qdoc] *.webp has been added to the list of default image
suffixes.

Pick-to: 6.5
Change-Id: I49524ea13d14dd7e246401dec7deb2ba4e66cb07
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2023-02-21 18:56:07 +00:00
Mårten Nordheim
d5e98cde1a Delete references to deleted examples
The bearer code hasn't been in Qt for some years.

Pick-to: 6.5 6.4 6.2
Change-Id: Id69ad1ce5035a0970f3507d4b6ba4a5549bf1d6c
Reviewed-by: Konrad Kujawa <konrad.kujawa@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2023-02-16 14:16:34 +01:00
Volker Hilsheimer
48a1a5564f Examples: move widgets/codeeditor into manual tests
It's not a very well written example, using (largely unneed) hacks to
implement what it does. It's also misleading - the syntaxhighlighter
example is a better showcase for building a useful code editor.

Move it to manual tests.

Fixes: QTBUG-111025
Pick-to: 6.5
Change-Id: I405d41688235bf3e9a08373e716769f26d02fec6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2023-02-09 00:23:34 +01:00
Volker Hilsheimer
3fe0bf6e1b Move findfiles example into manual tests
The example follows bad and outdated practices:

- running time consuming and I/O heavy workload in the GUI thread
- calling processEvents to keep the UI responsive
- showing results only at the end of a search rather than continuously

Perhaps this example can be rewritten at some point to apply modern
practices (at least use a thread and emit signals), but it seems
to have low overall educational value.

Moving it to be a manual test for now.

Fixes: QTBUG-111002
Pick-to: 6.5
Change-Id: Id630fd4599096448ea4f96bcbf977b11a039796f
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2023-02-09 00:23:34 +01:00
Volker Hilsheimer
55f2b448b0 Turn elidedlabel example into a code snippet
The example is 90% boiler plate for subclassing QFrame and providing
a bit of GUI to change the size of the label using sliders. The
interesting bit is a block of 25 lines of code, so turn those into a
snippet and add that to the QTextLayout overview documentation.

Fixes: QTBUG-111011
Pick-to: 6.5
Change-Id: I6e97b2ea47b553c8d998ad185cfac006721ef7ee
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2023-02-09 00:23:33 +01:00
Topi Reinio
275d510ce3 Doc: Update copyright year in the template
Pick-to: 6.2 6.4 6.5
Fixes: QTBUG-110271
Change-Id: I70ce5356941d2499a219ab9fb1875df23acda3dc
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2023-02-07 18:04:11 +00:00
Jan Arve Sæther
f7db1cfa92 Remove "Analog Clock Window Example"
This is almost exactly the same as the "Analog Clock" (widget) example.
"Analog Clock Window Example" demonstrates:
* How to render to a QWindow (covered by RasterWindow example)
* QPainter and transformations (covered by Analog Clock example)
* How to use QTimer (covered by Analog Clock example)

Pick-to: 6.5
Change-Id: I7f20a29798830ed6345eca250e4139cb314cab84
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
2023-02-07 17:34:42 +00:00
Jan Arve Sæther
fd65f70974 Fix analog clock example to adhere to guidelines
Guidelines: https://wiki.qt.io/Qt6/Example-Guideline

Pick-to: 6.5
Change-Id: I12c65ae11e7906fd2e9dfb449072199560488aed
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
2023-02-02 17:51:34 +01:00
Jan Arve Sæther
e08575a18a Remove wiggly example
It demonstrates timerEvent() and some QFontMetrics
There are other examples that demonstrates this

Pick-to: 6.5
Change-Id: I4ad6f30c8ef93c995f980545ed88ab13b9aa9c7d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-01-31 22:28:30 +01:00
Kai Köhne
d53607225a Doc: Do ignore \since 5.x
We only support Qt 5.15 since a while, so the detailed information in
which Qt 5 version a particular class, function, or enum was introduced
is becoming less and less relevant.

Pick-to: 6.5
Change-Id: I39bd579f23abc0ac84879e9bd22e6a97651ef7c3
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2023-01-31 18:42:15 +01:00
Mitch Curtis
f2b22a2945 Doc: explicitly mention C++ when discussing linking to C++ libraries
Fixes: QTBUG-108325
Pick-to: 6.2 6.4 6.5
Change-Id: I7282c8a8df0bf8f403a4e7a9d4512e7bdf6c9979
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2023-01-31 09:46:49 +00:00
Jan Arve Sæther
2db23e151f Adhere to https://wiki.qt.io/Qt6/Example-Guideline
* Remove "Example" suffix in title

Pick-to: 6.5
Change-Id: I5da311850ab8f725da363969d7a8d8a1a85f8d70
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2023-01-26 16:07:47 +01:00
Assam Boudjelthia
c290e742c6 Fix qt android notifier example name for qtdoc
Rename from QtAndroidExtras/Qt Notifier to QtCore/Qt Android Notifier.

Task-number: QTBUG-110230
Change-Id: I18ad45ce85b57977f32af5fc735119df88f93144
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2023-01-20 16:11:30 +00:00
Ville Voutilainen
fee977b18b Remove android tag from QtOpenGL examples
Task-number: QTBUG-110230
Change-Id: I6997c1c0eb91f4ee6ff9e9579a742c6617310267
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-01-20 06:42:45 +00:00
Ville Voutilainen
e8626fb1fa Remove android tag from Widgets examples
Task-number: QTBUG-110230
Change-Id: Ic03fcafcf6a9beea3e8c847ede8eaff924b8788b
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-01-20 06:42:32 +00:00
Ville Voutilainen
c5bd2b6c12 Remove android tag from QuickControls1 examples
Task-number: QTBUG-110230
Change-Id: Ib97ce416c56de7dcb3a47013c539845bd9206f7a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-01-20 06:42:17 +00:00
Venugopal Shivashankar
725b641d87 Doc: Add margins to all anchors in a translated page
Google translate drops the space around the non-translatable
inline text. This should ensure that inline anchors have extra
margins.

Change-Id: I1c204a9a27d0a39256ef04aa3f03ba1b8433aa54
Done-with: Topi Reinio <topi.reinio@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2022-12-12 14:14:22 +00:00
Kai Köhne
486c8aae62 Doc: Change links from froglogic to qt domain
Pick-to: 5.15 6.2 6.4
Change-Id: Ic249f8dfa168948eddc83f35314708ffb40e75b1
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2022-12-09 11:40:49 +01:00
Eike Ziller
436467134e Doc: Add a dark offline CSS
Which can be used by Qt Creator and Assistant.

Task-number: QTBUG-97125
Task-number: QTCREATORBUG-26557
Change-Id: I03e5ac0a15f84101c73887724693e9eb27670754
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2022-11-11 18:48:50 +02:00
Thibaut Cuvelier
dd1b21dbf3 Adapt qdoc macros and documentation for DocBook
Change-Id: I91e380e7670964937d90e478029f367177bf339b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2022-11-04 18:39:03 +01:00
Kai Köhne
b77da049bc Move i18n example to qttools
Move i18n example out of qtbase. In qttools, it can use lrelease,
avoiding the need to store .qm files in the repository.

Change-Id: I8ba36a1372c2a743b809e3f7ea95a67825558f41
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-11-01 15:52:12 +01:00
Laszlo Papp
faeeb42b85 Add a shortcut editor example
Many applications offer shortcuts for quick interaction with the
application. It is also common in such applications to offer a shortcut
editor in the preferences or separately in a dialog.

However, even though this is a fairly common use case for applications
with more than a couple of shortcuts, there is no good and comprehensive
official Qt example how this could be achieved.

This change is an attempt to bridge the gap.

Change-Id: Ic01a404e6157bda1b0a75a0b792cbfe5d910d48f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2022-10-25 14:38:46 +01:00
Thibaut Cuvelier
fd28c97075 qdoc: improve \youtube documentation for DocBook images
The same kind of line is required for DocBook as HTML or QHP. This
change makes that requirement clear.

It was suggested by Nicholas Bennett in a change in existing
configuration for this exact line.

Change-Id: I664300f229bac9931c6f1ac4a08bd7c8c42bf37c
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2022-10-05 18:14:09 +00:00
Bartlomiej Moskal
7ae9632929 Examples doc: Tags fix for QtQuick examples
Four examples in QtQuick module had wrong tag in qdocconf file:
-QQuickRenderControl D3D11 Example
-Scene Graph - Direct3D 11 Under QML
-Scene Graph - Metal Texture Import
-Scene Graph - Metal Under QML

The first two are specific to Windows. The other two are IOS specific.
They were all marked as "android".
This commit changed those tags to correct one.

Pick-to: 6.4 6.4.0 6.3
Fixes: QTBUG-106436
Fixes: QTBUG-106438
Fixes: QTBUG-106439
Fixes: QTBUG-106469
Change-Id: I3d8d3cb54e4e552d7574c7c2f1d59437374c6446
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2022-09-19 11:25:36 +00:00
Alexandru Croitor
3eb2918f2e CMake: Add reference documentation for QT_IOS_LAUNCH_SCREEN
Amends 578f4ba00c

Pick-to: 6.4
Task-number: QTBUG-104519
Change-Id: I02ea0694ead0e5b8c7a70a09cc14b51d8e374dd5
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-09-02 17:00:23 +02:00
Mitch Curtis
2d7b67d491 Doc: fix example repo URL
qtquickcontrols2 was merged into qtdeclarative in Qt 6.2.

Fixes: QTBUG-105004
Pick-to: 6.2 6.3 6.4
Change-Id: Icbec8a74f1269b270be42b6a93930fb28d64af37
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2022-09-01 12:23:55 +08:00
Lucie Gérard
32df595275 Change the license of all CMakeLists.txt and *.cmake files to BSD
Task-number: QTBUG-105718
Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-08-23 23:58:42 +02:00
Lucie Gérard
fb1b20eab3 Add license headers to cmake files
CMakeLists.txt and .cmake files of significant size
(more than 2 lines according to our check in tst_license.pl)
now have the copyright and license header.

Existing copyright statements remain intact

Task-number: QTBUG-88621
Change-Id: I3b98cdc55ead806ec81ce09af9271f9b95af97fa
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-08-03 17:14:55 +02:00
Sona Kurazyan
90f3e1d349 Move the docs for porting to QRegularExpression to a common place
Copy them from QRegExp docs in qt5compat to
doc/global/includes/corelib/port-from-qregexp.qdocinc, so that the
porting docs can be included from both Qt 6 porting guide and qt5compat.

Task-number: QTBUG-89702
Pick-to: 6.4 6.3 6.2
Change-Id: I616e2333f60f36e4851398479939fd062016748d
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2022-07-20 13:15:59 +02:00
Kai Köhne
440f91bd0d Clean up qt-cpp-defines.qdocconf
Cpp.ignoretokens, Cpp.ignoredirectives, falsehoods are not
used anymore by clang based qdoc.

Most defines are not needed, either, because clang based qdoc
will get these defined by scanning the normal headers. And QDOC,
Q_CLANG_QDOC is actually set by qdoc itself.

What's left is Q_GUI_LIB, Q_WIDGETS_LIB, which is used in headers
modules to make some API conditionally available. Finally, there's
QT_KEYPAD_NAVIGATION, which seems to be a Qt 3 thing, but still
some documentation depending on it ;)

Pick-to: 6.4
Change-Id: Ib9cf0debac8d569cc21271087168a46c0f8635ca
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2022-07-20 13:15:56 +02:00
Kai Köhne
f71aeea932 Doc: Hide weak overload template magic from documentation
Hide the 'template magic' to implement Q_WEAK_OVERLOAD from the
documentation. So far Q_WEAK_OVERLOAD void foo() lead to

  template <typename> void foo()

in the generated documentation, which is arguably confusing to the
uninitiated. And people interested in implementation details & exact
overload resolution will arguably just read the .h files themselves.

Fixes: QTBUG-104851
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I5e0b1b337b28e621e6a627241aa8037da0a879a7
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
2022-07-13 10:51:59 +00:00
Topi Reinio
0c82d6a75a Doc: Fix online macros for commercial template
qt-module-defaults-online.qdocconf includes online-specific overrides
for some of the documentation macros. This needs to happen also in
the commercial template to have equivalent behavior.

Pick-to: 6.4 6.3
Change-Id: I2ca3246fbf16cef502e8eada056df6e8db573d5d
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2022-06-21 22:08:34 +00:00
Kai Köhne
9d2cc4dd76 Fix typos in docs and comments
Found by codespell

Pick-to: 6.4
Change-Id: Ie3e301a23830c773a2e9aff487c702a223d246eb
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2022-06-15 21:31:02 +02:00
Topi Reinio
11ccd2a68e Doc: Fix typo in the online documentation template
Pick-to: 5.15 6.2 6.3
Change-Id: I15e6db96722f5139f35dcffe70f796c4d7c17327
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2022-05-31 10:41:36 +02:00
Topi Reinio
7ecbac21ff Doc: Link to page documenting Qt trademarks in the copyright footer
Use an unversioned link to the online documentation, ensuring we
link to the latest version of this page.

Pick-to: 6.3 6.2 5.15
Task-number: QTBUG-102787
Change-Id: I285356687a3873fb861a54d003185f2b751c1b72
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2022-05-30 21:33:07 +02:00
Lucie Gérard
05fc3aef53 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
Files that have to be modified by hand are modified.
License files are organized under LICENSES directory.

Task-number: QTBUG-67283
Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-05-16 16:37:38 +02:00
Andreas Eliasson
1ae30395f3 Doc: Fix syntax in \tab macro example
Pick-to: 6.3
Change-Id: I490ecc3a810b911f9e6b242fc01f5a03800e9bc9
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2022-05-09 19:12:14 +02:00
Andreas Eliasson
0e087c9612 Doc: Fix padding inside tab content
The previously defined padding for the tab content was
overwritten to 0 by a more specific css selector. In addition,
code snippets should not have any extra padding, hence the :not(.pre)
css selector.

Pick-to: 6.3
Change-Id: I8f331924c5d01c8971660bb7a5b3aad25e3dee8a
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
2022-05-09 17:12:14 +00:00
Kai Köhne
b8b3a8047f Fix alignment of next/prev links in offline style
With the old value, they were placed above the
header bar. Moving them a few pixels below looks
less broken.

Pick-to: 6.2 6.3 5.15
Change-Id: Iddd9d5e0b5c199fe35a9c8b8a7cac9a472901a21
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2022-05-06 00:55:34 +00:00
Venugopal Shivashankar
242633430b Doc: Fix typo in the HTML tabs config
Pick-to: 6.2 6.3
Change-Id: I00fad2e1e686f977bd508109c1a6a5d064d7a3d6
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2022-04-25 10:07:05 +02:00