C
Qt Quick Ultralite Thermostat Demo
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
pragma Singleton
import QtQuick 2.15
QtObject {
property Room diningRoom: Room {
id: diningRoom
fan: Room.FanQuarter
//% "First floor"
floor: qsTrId("id-firstfloor")
//% "Dining room"
name: qsTrId("id-diningroom")
status: Room.Cooling
temperature: Units.fahrenheitToTemperatureUnit(71)
}
property Room garageRoom: Room {
id: garageRoom
//% "First floor"
floor: qsTrId("id-firstfloor")
//% "Garage"
name: qsTrId("id-garage")
status: Room.Heating
temperature: Units.fahrenheitToTemperatureUnit(68)
}
property Room kids2Room: Room {
id: kids2Room
fan: Room.FanFull
//% "Second floor"
floor: qsTrId("id-secondfloor")
//% "Kids bedroom 2"
name: qsTrId("id-kidsbedroom2")
status: Room.Heating
temperature: Units.fahrenheitToTemperatureUnit(71)
}
property Room kidsRoom: Room {
id: kidsRoom
//% "Second floor"
floor: qsTrId("id-secondfloor")
//% "Kids bedroom"
name: qsTrId("id-kidsbedroom")
status: Room.Cooling
temperature: Units.fahrenheitToTemperatureUnit(65)
}
property Room kitchenRoom: Room {
id: kitchenRoom
//% "First floor"
floor: qsTrId("id-firstfloor")
//% "Kitchen"
name: qsTrId("id-kitchen")
power: false
status: Room.Cooling
temperature: Units.fahrenheitToTemperatureUnit(68)
}
property Room livingRoom: Room {
id: livingRoom
fan: Room.FanHalf
//% "First floor"
floor: qsTrId("id-firstfloor")
leftHandleX: 40
//% "Living room"
name: qsTrId("id-livingroom")
rightHandleX: 180
status: Room.Heating
temperature: Units.fahrenheitToTemperatureUnit(69)
}
function getByIndex(index: int): Room {
switch (index) {
case 0:
return Rooms.livingRoom;
case 1:
return Rooms.diningRoom;
case 2:
return Rooms.kitchenRoom;
case 3:
return Rooms.kidsRoom;
case 4:
return Rooms.kids2Room;
case 5:
return Rooms.garageRoom;
default:
return Rooms.livingRoom;
}
}
}