Commit Graph

8 Commits

Author SHA1 Message Date
Olivier De Cannière 94c88d46c5 Thermostat: Adapt to new model and general cleanup
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>
2025-08-07 11:10:32 +02:00
Olivier De Cannière 147f78d7de Thermostat: Update RoomsModel
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>
2025-08-07 11:10:30 +02:00
Olivier De Cannière a5c5e09ab8 Thermostat: Replace Color.blend with custom rgbBlend
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>
2025-08-07 11:10:26 +02:00
Olivier De Cannière e462f2121e Thermostat: Fix qmllint warnings in the Thermostat module
Task-number: QTBUG-138188
Pick-to: 6.10
Change-Id: Icd26c71541106cc3a554aa8e62ecf240062f64b7
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2025-08-07 09:07:16 +02:00
Olivier De Cannière 30dc679c9a Thermostat: Use QtQuickControls.Basic
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>
2025-08-07 09:07:14 +02:00
Olivier De Cannière 8324d68486 Thermostat: Clean up some CMake code
Make module dependencies explicit.

Task-number: QTBUG-138188
Pick-to: 6.10
Change-Id: I82f06e7195ba0f07ac66eed7f891146393ab8fb9
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2025-08-07 09:07:12 +02:00
Kamil Hajdukiewicz 8ce518b898 Rename CustomControls module in thermostat example
The name of the module is changed from CustomControls to
ThermostatCustomControls due build errors.

Fixes: QTBUG-114759
Pick-to: 6.5.2 6.5 6.6
Change-Id: I86cf9830700b867a4a690d0f41841417bfa1efc1
Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: <kaj@spyro-soft.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-06-21 12:02:47 +02:00
Kamil Hajdukiewicz 3f9c25bdb7 Revamp Thermostat example 2
The new responsive design of Thermostat Example is implemented.
The application is prepared to look good on desktop, mobile and small displays.

In the current state only part of the application is prepared.
Schedule View is not ready.

What is done:
1. Rooms View
2. Thermostat Control View
3. Statistics View
4. Dark/Light mode

Pick-to: 6.5.2 6.5 6.6
Change-Id: I52d07b7001b1f78025d74ab827e58b5d23b2dedb
Reviewed-by: <kaj@spyro-soft.com>
Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-06-20 12:48:37 +02:00