Fix the unqalified access warning by qualifying the lookup, and remove
an unused import. With that, the project is warning free, and we can
configure qmllint via its ini file to complain loudly if new warnings
are introduced.
Fixes: QTBUG-138178
Pick-to: 6.10
Change-Id: I785ac8dec15b99bce2306d5f1f754a2f55dcc334
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
csv-parser didn't get the -pthread flag. Now, we add the -pthread flag if this is compiled with multithreaded wasm.
Fixes: QTBUG-139340
Pick-to: 6.10.0 6.10
Change-Id: I0f9cca453bb7f13b8e3e005be5c55aa586cd2c88
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
-standardized xr_physicsbase_teleportation top-level CMake
-Standardized Android manifest file, this fixed a crash due to a lib
name not being up to date, and then not being found.
Pick-to: 6.10 6.10.0
Change-Id: Ib36d3790e5061b14a27f7fef7c24f5e2040ddb67
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
Add Qt icon and proper name for Qt Jenny example so it can be more
easily found from device.
Task-number: QTBUG-140051
Pick-to: 6.9 6.10.0 6.10
Change-Id: Iaf1ca401f59cfd8d6a30052cd961b1a2fc53d8c4
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
This avoids name clash.
Pick-to: 6.10 6.10.0
Fixes: QTBUG-139996
Change-Id: Ice1c8cd255585314ca016d9566ccb63aed48d2f0
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The AssetDownloader module is renamed to Qt.labs.assetdownloader.
Task-number: QTBUG-139846
Pick-to: 6.8 6.9 6.10 6.10.0
Change-Id: Ie052e9c7548a0f95e044bd6ecf900a7dcc300d71
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Add accessibility annotations to make the screen readers
read out the content correctly. For instance, VoiceOver
on macOS reads "x²" as "x two", where it should be "x
squared". Also give a more descriptive accessible name to
the somewhat unfortunately named "BS" button.
The Text items in the Display also need Accessible.name,
since Text is a low-level item which do not provide
a11y content by itself.
Fix issue with handling the Press action: the a11y system
does not call the mouse "press" or "release" signals in response
to this action, use "clicked" instead.
Pick-to: 6.10
Change-Id: I9c4cccf1b60c55320a149f97c86edea92a47bbb5
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Reviewed-by: Konsta Alajärvi <konsta.alajarvi@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Set root window background correctly and add safe margins to
QML Window when needed so that demo apps look good also on
edge-to-edge mode.
Ideally, we could also set Qt.ExpandedClientAreaHint window
flag, but since Android doesn't handle status bar coloring
well yet, it's better to leave it until that's supported.
Pick-to: 6.9 6.10
Change-Id: I2bf55aaa990909dea340c195056afcd511960395
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
The example is currently in a state where qmllint produces almost no
warnings, and should generally be kept in such a state.
Thus, add a configuration file that sets the warning limit to "0", such
that running the all_qmllint target for the example will fail if any
warning is produced, with the additional strictness hopefully helping
keeping the example almost warning-free.
Some warnings were disabled, instead of fixed, due to a compatibility
issue with Qt Design Studio, but should be fixed if that incompatibility
is resolved.
Pick-to: 6.10
Fixes: QTBUG-138170
Change-Id: Ibbbf17892f6be1b7b549718df16036d6a57c3022
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
ui.qml files do not support referencing the top-level `parent`, and
qmllint produces a warning when this is done.
Thus, remove the line that refers to `parent` from the ui.qml file.
In this particular case the only usage site of the type defined by the
relevant .ui.qml file sets the relevant property on the spot, such that
there should be no change in semantic with the removal.
Pick-to: 6.10
Task-number: QTBUG-138170
Change-Id: I68f9acc7c853afc1a62630a127bf1fa6eb891ec9
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
The example uses a custom QML type, `State_Idle`, to handle a series of
lists and their selections.
In particular, `State_Idle` is used to change the state of a string
property of each of those lists that represent the current selection.
This change is done by accessing a `list` element that is supposed to be
implicitly available and that is currently being defined inline when the
relevant list elements are created.
qmllint cannot know that at runtime `list` will be an available property
and thus produces a warning on access.
Generally, this type of accesses is fixed by explicitly passing the
dependency to the relevant element, that can then access it in a way
that qmllint can keep track of.
The subpart of those types that is modified by `State_Idle` is a string.
Passing a string downward would disallow `State_Idle` from changing the
original value, as the binding would only go one-way.
Furthermore, `State_Idle` is used for interacting with multiple types,
for example `ListModels` and `ListMaterial`.
All of those elements don't have a common shape that is known to have
the necessary property available, such that there is no single type that
can be used as the target of the dependency in a way that allows qmllint
to keep track of the accesses.
To help with allowing qmllint to have a defined shape to refer to, a new
custom QML type, `ListSelection` was added, whose only purpose is to
define a shape that contains the relevant property.
`State_Idle` was modified to work through an instance of that type,
providing a required property so that a reference to the instance can be
passed over and manipulated as required, with a shape that is known to
qmllint.
An instance of the new type was added as the root element of each list type and a
reference to the root element was passed over to the various `State_Idle`
instances that interact with it.
The inline definition of the various `list` property where removed from
the various instances of the relevant list types.
Pick-to: 6.10
Task-number: QTBUG-138170
Change-Id: I294a5c0f9f7175dd3706419d6fa02e7b3ed3cdb7
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The text was too low and hard to read.
I moved into the middle of the view and further away from the
user's head.
Pick-to: 6.10 6.9 6.8
Change-Id: I393d7ce6a86c510101af56e72cf8090df162af22
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Restructure the content to make it adhere to the application examples
template. Also, add image alt text and add the appropriate section
headings.
Fixes: QTBUG-137895
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Ie2b804bc286c9aba900e58d382bbc225fd0cca8a
Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io>
Reviewed-by: Jerome Pasion <jerome.pasion@qt.io>
Adds example Squish test cases for Coffee Machine demo.
Changes for working with new 6.10/dev patch
for the example.
SHA: 677229cb59
Task-number: QTBUG-138433
Task-number: QTBUG-138432
Pick-to: 6.10
Change-Id: Ia5f5f0bcf560dc1f898a34e41d316958d54da620
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Add sections and make small changes to adhere to the example template at
app-examples-template.qdoc
Fixes: QTBUG-137897
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: Idf05dcce9fe7cd1d01f9b15ead840cb08fccf1f4
Reviewed-by: Jerome Pasion <jerome.pasion@qt.io>
Some of the new qml files weren't included in the resources or the
qmldir file.
Amends 89a6ad7466
Amends 79d24cacfb
Pick-to: 6.10
Fixes: QTBUG-139281
Change-Id: I0d282ab553f9021b84f63490643d114822c50e1b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Revise the example by adding platform notes, image alt texts, proper
qdoc commands for file names, and fixing the line column widths. This
example should now adhere to the application examples template.
Fixes: QTBUG-137892
Pick-to: 6.10 6.9 6.8
Change-Id: Ieffa4a64576c953f0e5a088763bc191f2f6bd660
Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io>
Reviewed-by: Jerome Pasion <jerome.pasion@qt.io>
In qtdoc, every example should be free of warnings.
Pick-to: 6.10
Change-Id: I2bbdecf77649b3a8d4b645fe04cafecae60be4ad
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Fix the few warnings in the examples that were discovered during the
test process.
Task-number: QTBUG-108448
Change-Id: I40b71f679eccd4e0ebbcc8362a7b65f017927d02
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Add and re-arrange sections to make the example adhere to the
examples template at app-examples-template.qdoc.
Fixes: QTBUG-137902
Pick-to: 6.10 6.9 6.8
Change-Id: I2a9ea5fc7301af9f8072799e4b34cae0570eb65c
Reviewed-by: Safiyyah Moosa <safiyyah.moosa@qt.io>
Reviewed-by: Jerome Pasion <jerome.pasion@qt.io>
The cyclic dependencies issues are gone on dev so we can reintroduce
the proper types for all the scheduleViewRoot properties.
Task-number: QTBUG-138188
Change-Id: Ia5b8a47b6844944c8cb9226b653acfd18c90c2fe
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This adds the missing part of the thermostat example. It was created but
never merged on top of the first version of the app. The patches were
added manually due to numerous merge conflicts. These changes add new
functionality but appear to never have been completely finished as logic
and layout errors persist. Fix these and all qmllint and runtime errors.
-Implement some missing logic
-Fix logic errors
-Fix binding loops
-Fix some minor layout issues
-Make the UI update when we change rooms or dates etc
-Make dependencies explicit, typed, and checked by requiring them
-Remove convoluted or redundant alias structures
-Qualify lookups
-Set ComponentBehavior to Bound where necessary
-Wrap functions in Connections
-Use Layout.X in layouts instead of settings the property directly
-Use strict comparison operators
-Add missing imports
-Use let instead of var in JS scripts
-Use `...` for multiline strings
-Use var properties for scheduleViewRoot to avoid cyclic dependencies on
6.10
Task-number: QTBUG-138188
Fixes: QTBUG-117368
Pick-to: 6.10
Initial-patch-by: Kamil Hajdukiewicz <kaj@spyro-soft.com>
Change-Id: I9e5f268105a57c57b4e8147f6747bcf1e954dc2d
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
The demo shows how to use an external third-party csv library with
QtGraphs.
Pick-to: 6.10
Task-number: QTBUG-122326
Change-Id: I08dc6c74953fde9dd35c9bf8540ea58234e567f1
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Most of the warnings were straightforward to fix: add missing ids to
lookups, remove an unused import.
There is one interesting case, though: The getCurrentUserImage function
in ColorView was referring "users", which does not exist in that file,
and is not one of its properties. The application however still worked.
That's due to it being found on the root context, as it exists as an id
defined in Main.qml.
It was however already passed down via properties to ColorView, so use
the property instead.
Amends 7a62659880
Pick-to: 6.10
Change-Id: I6f91dc45302f30d70d8a09b66d0add9b963fa6b2
Reviewed-by: Matthias Rauter <matthias.rauter@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
The PropertyChanges warnings have to be disabled to keep supporting QDS
compatibility.
Task-number: QTBUG-138188
Pick-to: 6.10
Change-Id: I727f58be7de6e94749a65f5cfca47ea032a7a5ef
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The RoomsModel has changed in shape in the previous commit. This commit
adapts the rest of the app to it and performs general cleanup and
warning fixing.
-Remove dead code
-Qualify lookups
-Declare all properties injected into delegates as required and give
them a proper type such as Room or list<Room> instead of var
-General dataflow and depencies fixing. Change aliases to required
properties where required
-Make the min/max/avg temperature values in the stats view update
dynamically
-Simplify logic for processing temperature, humidity, and energy
statistics
Change-Id: I21d962e9d692578f00c4e2466aae8a40d12a7dcc
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Change the model from a ListModel to a list<Room> where Room is a new
type containing all the information related to a room. This allows
making what is passed to various components and delegates clearer and
explicit.
The data of the model itself was also updated:
-The statistics for humidity, energy, and temperature for each room are
now stored as simple list<int> or list<real>.
-Data series were regenerated to be more varied; many were identical or
didn't fluctuate enough to visibly change dynamically in the UI.
-More rooms were made active from the start and especially the first one
which allows for immediate interaction in the thermostat settings view
without having to first activate the room.
-Background values for humidity and energy consumption were also made
more varied instead of identical everywhere.
The rest of the example will be adapted to this new model in the next
commits.
Task-number: QTBUG-138188
Pick-to: 6.10
Change-Id: I3ce48ccb14aa4cfdee2d0508427b26598ce5446a
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The Color singleton isn't exposed publicly yet and there is no way of
importing it without using an internal module. This generates runtime
warnings. Borrow the logic in a new function specific to the example.
Task-number: QTBUG-138188
Pick-to: 6.10
Change-Id: Iea5ecfc7276d79be4f60318953ef0468c6123e63
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Raw functions and function calls are not allowed in .ui.qml files.
Most .qml files in the proejct are empty. Respect the trend by sometimes
moving functions inside the .ui.qml files.
Task-number: QTBUG-138188
Pick-to: 6.10
Change-Id: I95db0ba473189183fa46ddba3b7eb1ce938e5326
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Use Synchronizer to synchronize different coffee
slider values with CoffeeConfig.
Set sugarAmount to 0 by default.
Change docs to reflect new implementation.
Fixes the synchronization issue with sugar value.
Pick-to: 6.10
Fixes: QTBUG-138676
Change-Id: Ic73066df3ab2a4281aaf885547f22d2a3bdf662d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
This helps resolve ApplicationSettings and Constants which are used all
over.
Task-number: QTBUG-138188
Pick-to: 6.10
Change-Id: I6b0beaba914f8400336ab3def8542f8520a46535
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
The example uses custom controls for its UI so we can safely use a
a style that the compiler can deal with.
Task-number: QTBUG-138188
Pick-to: 6.10
Change-Id: I66bcad7a78e06ab9d3e28b4ba238fec42dd9c81b
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
`fileURL` role has been changed to `fileUrl` in Qt 6.10
Task-number: QTBUG-138124
Pick-to: 6.10
Change-Id: I41d917ae65233a17ab724c449f9e04a2f8580459
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
Across the example there are many accesses to implicitly available elements.
That is, an element is declared in some file with a certain id, and then
other files use that id directly, to access those elements.
While the engine can handle this, qmllint cannot, as it cannot know that
those accesses will happen in a context where the referred to elements
with the referred to id are available as that can only be resolve at
runtime.
Thus, it produces a series of [unqualified] warnings for those accesses,
as it cannot make sense of them.
To fix the warning, and generally improve the style/readability of the
example, the pattern for those accesses was modified in a way that can
be understood by the tooling.
In particular, whenever a custom type wants to access an implicitly
available element, it now provides a required property to an element of
that type that will be filled-in at usage-site, where the previously
implicit element is available and can be explicitly bound.
The various accesses to the objects or its subparts were updated to use
the newly added required properties and the various usage site of the
relevant types were updated to ensure that those required properties are
bound to a relevant element.
In some cases, properties that were defined inline without a backing
type were being accessed on an implicitly accessed element.
One such example is in the case of certain `NumberAnimation`s elements
being defined in "Screen01.ui.qml", with an additional "phase" property
being defined inline and then accessed through an implicit reference to
that specific `NumberAnimation` instance.
Since this is done without specifying a type, qmllint cannot be induced
to know about the presence of the additional property, such that it
might fail to understand the access to it.
In those cases, a required property was added that is bound directly to
the additional subpart of the element instead of the element itself,
which allows qmllint to understand the provenance of the property and
validate the access.
Pick-to: 6.10
Task-number: QTBUG-138170
Change-Id: I05ce940e7de45b1749010af67fce2ac571cf9ba6
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>