C
Qt Quick Ultralite Thermostat Demo
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
import QtQuick 2.15
import QtQuick.Templates 2.15
import Thermo 1.0
Button {
id: root
width: Theme.roomButtonSize
height: Theme.roomButtonSize
checkable: false
property Room currentRoom
signal fanLevelChanged
icon.source: enabled ? currentRoom.fanImage() : currentRoom.fanOffImage()
contentItem: Item {
Image {
source: root.pressed ? "btn-bg-down.png" : (root.enabled && root.checked) ? "btn-bg-big-on.png" : "btn-bg-big-off.png";
anchors.horizontalCenter: parent.horizontalCenter
y: root.pressed ? 0 : -6 // Because of the 6 pixel shadow in the on and off image
}
Image {
source: root.icon.source
anchors.centerIn: parent
}
}
onClicked: {
if (!enabled)
return
if (currentRoom.fan === Room.FanOff) {
currentRoom.fan = Room.FanQuarter
} else if (currentRoom.fan === Room.FanQuarter) {
currentRoom.fan = Room.FanHalf
} else if (currentRoom.fan === Room.FanHalf) {
currentRoom.fan = Room.FanThreeQuarters
} else if (currentRoom.fan === Room.FanThreeQuarters) {
currentRoom.fan = Room.FanFull
} else if (currentRoom.fan === Room.FanFull) {
currentRoom.fan = Room.FanOff
}
}
}