Commit Graph

54 Commits

Author SHA1 Message Date
Craig Scott 9e1d2a0eb1 Update qml examples for improved target path handling
Some examples were still using the old "add as ordinary resources"
approach for QML modules, others needed adjustment to the subdirectory
structure to better reflect the URI structure of the QML modules
involved.

Task-number: QTBUG-95144
Pick-to: 6.2
Change-Id: Ie3399410cf6df491eb1e7b4a589ca26c577d82a0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-08-24 16:08:21 +10:00
Joerg Bornemann b4ab58d791 Raise cmake_minimum_required to VERSION 3.16 in examples
Pick-to: 6.2
Task-number: QTBUG-95636
Change-Id: I9f76b787533dad1c469fbb8c69df6c27b20a9aa3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2021-08-17 13:48:14 +02:00
Ulf Hermann 1629fa0c6c Use nullptr rather than 0 for null pointers
Change-Id: I2921298ad2e04001bdee8824c56f01c203efb7d6
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2021-06-30 14:16:49 +02:00
Craig Scott 2422dd5a7a Switch examples to build as isolated sub-builds
Task-number: QTBUG-90820
Change-Id: Id9157526898ba72cb64ee8256639b37357f7bacf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
2021-05-27 21:08:14 +10:00
Ulf Hermann d7008c79d4 QQmlListProperty: Use qsizetype rather than int for sizes
[ChangeLog][QtQml] The QQmlListProperty callback functions use qsizetype
now as type for the size of a list. This is in line with the containers
that you might use to back the list.

Fixes: QTBUG-88269
Change-Id: Ia38403cb32f241e6c70e1a580dbeff1d6d694331
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-11-09 18:09:30 +01:00
Alexandru Croitor 20d5e2d7ef CMake: Regenerate examples to set the WIN32_EXECUTABLE property
As well as the MACOSX_BUNDLE properties as necessary.

Task-number: QTBUG-87664
Task-number: QTBUG-86827
Change-Id: I46769fb543acb2cbeba122470b5e44ad478fbe4e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-10-26 23:38:39 +01:00
Alexandru Croitor 903252b240 CMake: Regenerate examples to use qt_add_executable
Task-number: QTBUG-87661
Change-Id: Ie5bba408000211b24694aa0143bdf79c4a298f42
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
2020-10-20 09:32:34 +02:00
Ulf Hermann e7d90fc526 Fix lineedit example
The default name created by QML_ELEMENT is the name of the local type,
not the one of the foreign type.

Pick-to: 5.15
Task-number: QTBUG-87150
Change-Id: I2b5dfcea3e835d4e69d5fa4df179333a37ee1d6e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-10-05 12:56:37 +00:00
Edward Welbourne 572882fd67 Example: Pass QDate, QTime by value, not by const reference
They're value types, packaging qint64 and int, repsectively.

Change-Id: Icf18794466cd140e1384d6dd0de736fbb2c05a48
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-09-01 16:57:01 +02:00
Jarek Kobus dd71c43b97 Use QList instead of QVector
Task-number: QTBUG-84469
Change-Id: I4c3353c00a566023503fbc178ba8454391dc334c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-06-25 07:54:07 +02:00
Alexandru Croitor a7c7e7ceaa CMake: Don't install .qmltypes for Qt tests, examples and tools
that don't have an explicit QT_QML_MODULE_INSTALL_DIR path
specified. We don't want to pollute the Qt qml import path with
these files.

Task-number: QTBUG-84403
Change-Id: I768267e0e79daa8090d882c301648cce14e1a809
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-05-29 10:01:40 +02:00
Alexandru Croitor 965984771d CMake: Regenerate qtdeclarative/examples
Includes
- new example installation paths
- one case of QT_QMLTYPES_FILENAME addition

Change-Id: I24423da9b04b6ecc8445017fa35f148dd43b1829
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2020-05-29 10:01:22 +02:00
Alexandru Croitor 26c5243491 Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
	dependencies.yaml
	src/qml/qml/qqmlengine.cpp

Change-Id: I6a73fd1064286f4a2232de85c2ce7f80452d4641
2020-03-12 15:03:03 +01:00
Ulf Hermann 90b4528b84 Avoid discouraged patterns in examples
In particular, use required properties where applicable, explicitly
import QtQml where we use it, avoid unqualified access into the root
scope of a component, use JavaScript functions with explicit parameters
as signal handlers.

Change-Id: I3eaaba47cc3c7a2a12d488e36f9eec145cedbb0e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-02-11 19:26:05 +01:00
Ulf Hermann 6d0a453f41 Use the extended QQmlListProperty interface in a few places
Task-number: QTBUG-79263
Change-Id: If518f644b5b9eddbacfb1cb16fbb557127ffcfb2
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-02-07 09:37:53 +01:00
Alexandru Croitor 97a5cf8634 Regenerate examples
Change-Id: I39564d4b644a7ee367d9ce92b85426a5c2a122a4
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-29 15:39:22 +00:00
Leander Beernaert 1d333d3375 Merge remote-tracking branch 'origin/dev' into wip/cmake
Change-Id: I0c5b939c70bdb91ccdf7068784308416dcaa5736
2020-01-16 16:25:06 +01:00
Ulf Hermann 2c3419e127 Generate registrations for all examples
Now that we can generate all QML type information at build time, we
should also use it.

Change-Id: I647c72bbe38fdb2deb565b75c86a696af3d15b61
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-13 16:47:57 +01:00
Fabian Kosmale 4eff729950 Binding example: Fix type registration
Fixes: QTBUG-81335
Change-Id: Ie93c9b7ad49703bce245592e659ccdb6ea2b7ed9
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-01-13 13:27:36 +01:00
Alexandru Croitor c2f8b9535d Merge remote-tracking branch 'origin/dev' into wip/cmake
Removed dependencies.yaml because we don't use it yet in wip/cmake.
Fixed conflict in qmlcachegen.cpp.

Change-Id: Ie1060c737bee1daa85779903598e5b6d5020d922
2019-10-14 19:02:37 +02:00
Leander Beernaert 9e633bbda7 Regenerate Examples
Change-Id: I2fbfb44bbb6d667e022bffb480feaf74ff0d0a5e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-10-14 09:09:55 +00:00
Alexandru Croitor 6a0bb9a7d6 Merge remote-tracking branch 'origin/wip/qt6' into wip/cmake
Change-Id: I4a91928610f79c8e21a05781953ffa41508c828a
2019-10-11 16:21:42 +02:00
Ulf Hermann cc1a604c70 Specify parameters of type registration in class declarations
Using this technique we can automatically register all necessary
revisions and minor versions of a type, using the metaobject system.
This greatly reduces the potential for mistakes and resulting
incompatibilities between versions of imports.

We assume that for each type we need to register all revisions of its
super types and its attached type, and that the revisions match. That
is, if you import version X of type A, you will also get version X of
its attached type and of any super types. As we previously didn't take
these dependencies into account when manually registering the types, a
number of extra revisions are now registered for some types.

Potentially, we can now generate the qmltypes files at compile time,
using moc.

Change-Id: I7abb8a5c39f5e63ad1a0cb41a783f2c91909491b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-26 12:32:17 +02:00
Leander Beernaert bf58a1cc04 Update Examples with lowercase qt6_add_resources()
Re-run pro2cmake on all exampls.

Change-Id: Iafd1092beff023b407a8f29c2a5b651f2e534b75
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-09-20 08:38:06 +00:00
Ulf Hermann d045cd4330 Reference Examples: Fix calls to exec() and exit codes
exec() is a static member of QCoreApplication and should be called as
such. In case of errors we should return a non-0 exit code from main().

Change-Id: I0fefa006841b367d06a9de1fd1284cb7caf467bd
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-30 17:57:38 +02:00
Ulf Hermann 76282f480e Use qmlRegisterAnonymousType in examples and tests
Change-Id: I511d18ad8f73ea77a208e4448a8f86e5be5facc3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-27 16:20:55 +02:00
Leander Beernaert b938edcfb3 Convert Examples
This patch converts all examples in qtdeclarative except for a few
exceptions which require a public facing qml plugin api.

Change-Id: I2cd2b1bb455be8b48796893a8235dea7f8b35aa2
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2019-08-23 13:51:06 +00:00
Ulf Hermann a2e1025354 Reference Examples: Avoid static_cast on function arguments
qobject_cast is safer and not very expensive here.

Change-Id: Ie87219e2a5092e453d257064a95a790de31015f5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-20 08:43:01 +02:00
Ulf Hermann adcb79025a Reference Examples: Use override for overridden virtual functions
Change-Id: I9f4225bf312856d08fd08431353f3cb36d0f7fa5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-20 08:42:49 +02:00
Ulf Hermann 3cc226ffe7 Reference Examples: Use nullptr
Change-Id: I325cfdcf488e9d238e618ca23ef40aedf7c5eec1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-20 08:42:30 +02:00
Ulf Hermann 66fabff253 Reference Examples: Use auto for results of new and component.create()
Change-Id: Ibfd92fbc5a99b38cf8b31a11c0adfdfa69e2bb36
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-20 08:42:16 +02:00
Ulf Hermann 73a9c52fed Reference Examples: Use initializer lists to avoid repeating type naems
Change-Id: Iff0b31d9b641a55ea246235ba1d7a066592ef0c0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-08-20 08:42:01 +02:00
Alexandru Croitor 13374ceb16 Merge remote-tracking branch 'origin/wip/qt6' into wip/cmake
Change-Id: I2963c1209316fb6755f572969f368970450d7991
2019-07-11 17:24:39 +02:00
Marc Mutz 11344a9070 Port from QLineEdit::getTextMargins() to textMargins()
getTextMargins() will be deprecated soon.

Change-Id: I328f87553585fd1450c85191422013ebc0c8f7f8
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2019-07-03 13:29:47 +00:00
Alexandru Croitor 6c69a6ab7c Initial CMake port
Crude port of QtQml, QtQmlModels, QtQuick and a few tests and a few
examples.

Task-number: QTBUG-74136
Change-Id: I5de4d8215b33d1a4a72c2c0e7951e4b384f27e3e
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2019-06-03 11:03:46 +00:00
J-P Nurmi d2ed475b84 Examples: remove bogus return
Change-Id: I653974c80c6767d9af95b9157a73c09dbdeb76cc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
2018-04-03 12:36:21 +00:00
Shawn Rutledge 499ec43937 use nullptr consistently (clang-tidy)
From now on we prefer nullptr instead of 0 to clarify cases where
we are assigning or testing a pointer rather than a numeric zero.

Also, replaced cases where 0 was passed as Qt::KeyboardModifiers
with Qt::NoModifier (clang-tidy replaced them with nullptr, which
waas wrong, so it was just as well to make the tests more readable
rather than to revert those lines).

Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2018-02-26 07:13:18 +00:00
Kai Koehne ea6cd0de3c Fix outdated BSD license header
Change-Id: Icc08925454445fc9497fb3bfd2c26efe90605983
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2017-10-17 11:18:11 +00:00
Michael Winkelmann a54f08e1ea Replace QList<Person*> with QVector<Person*> and function pointers
The usage of the QQmlListProperty QList constructor is discouraged since
QList violates QML's memory management rules.
Replaced the QList with a QVector and passed the function pointers to the
QQmlListProperty constructor instead, as officially recommended.

Change-Id: I6d28a43530cc3edd5e7d89c351bad70deb721689
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2017-03-07 07:11:44 +00:00
Nico Vertriest a0ed2b0ef3 Doc: added specs to Extending QML - Methods Example
Change-Id: I7386c2bd738776455a71bde8cffdcedb9e292b24
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2017-01-09 09:38:14 +00:00
Nico Vertriest 27ea28b0f4 Doc: Rearranged order of Extending QML Examples
Rearranged in logical order of example build up

Change-Id: I6af8e39bd900d4ce058de46e0b3ebd5e368222c8
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2017-01-09 09:38:01 +00:00
Friedemann Kleint 1e2e356f0f Port examples to new connection syntax.
Change-Id: I121c59ac0ad56acb4cd54b99ecd37567368385ce
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2015-07-22 22:16:19 +00:00
Jani Heikkinen 20c207815a Fixed license headers
Change-Id: I4d5640ff95e1361ec7e65fb3e87d7726d8185ff5
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
2015-02-17 13:33:18 +00:00
Jani Heikkinen c5796292ad Update copyright headers
Qt copyrights are now in The Qt Company, so we could update the source
code headers accordingly. In the same go we should also fix the links to
point to qt.io.

Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9
Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
2015-02-12 10:28:11 +00:00
Oswald Buddenhagen 325161d1c4 the qmlextensionplugins example and a bunch of reference examples need QtQuick
Task-number: QTBUG-36893
Change-Id: If1f937113b651fd2255f8004739f2c601e3826bf
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2014-02-21 17:43:19 +01:00
Oswald Buddenhagen 4ff32bdc50 the shell example and a bunch of reference examples need no QtGui
Task-number: QTBUG-36893
Change-Id: I51e402c90bd727cd3066788e0864e887ab8cb9e4
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
2014-02-21 17:43:19 +01:00
Oswald Buddenhagen e2ea0a83cc fix whitespace
remove trailing spaces and expand tabs

Change-Id: Ieacb9d096b612c45d1a64700044c114d1f7522bc
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
2014-01-22 21:01:53 +01:00
Sergio Ahumada 83deab8d1b Update copyright year in Digia's license headers
Change-Id: I6c3bd7bebe3d62d1cfd0fa6334544c9db8398c76
Reviewed-by: Akseli Salovaara <akseli.salovaara@digia.com>
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
2013-01-10 19:52:37 +01:00
Oswald Buddenhagen 63b6e19704 make use of qtHaveModule()
Change-Id: I23f11c944fafb5863a960dcc83bc1e57e189f662
Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
Reviewed-by: Tasuku Suzuki <stasuku@gmail.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-01-10 09:17:58 +01:00
Oswald Buddenhagen a6065d60f1 centralize and fixup example sources install targets
follow respective change in qtbase

Change-Id: I27502eb7ebea973e19ec5f7c3ec0e2338556f6e0
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
2012-12-10 18:16:48 +01:00