qtdoc/examples/demos/thermostat/content/TemperatureSetterMobileView...

155 lines
4.3 KiB
QML

// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
/*
This is a UI file (.ui.qml) that is intended to be edited in Qt Design Studio only.
It is supposed to be strictly declarative and only uses a subset of QML. If you edit
this file manually, you might introduce QML code that is not supported by Qt Design Studio.
Check out https://doc.qt.io/qtcreator/creator-quick-ui-forms.html for details on .ui.qml files.
*/
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.Effects
import Thermostat
import ThermostatCustomControls
Pane {
width: 329
height: 527
topPadding: 16
bottomPadding: 19
background: Rectangle {
color: Constants.accentColor
radius: 12
}
ColumnLayout {
anchors.fill: parent
spacing: 15
Row {
spacing: 10
Item {
width: 24
height: 24
Image {
id: icon
source: "images/temperature.svg"
sourceSize.width: 24
sourceSize.height: 24
}
MultiEffect {
anchors.fill: icon
source: icon
colorization: 1
colorizationColor: Constants.iconColor
}
}
Label {
font.pixelSize: 18
font.weight: 600
font.family: "Titillium Web"
text: qsTr("Set Temperature :")
color: Constants.primaryTextColor
}
}
CustomTextField {
width: 102
height: 40
font.pixelSize: 14
text: slider.value
onAccepted: slider.value = +text
}
Item {
id: item1
Layout.fillWidth: true
Layout.fillHeight: true
CustomSlider {
id: slider
width: parent.width
anchors.bottom: parent.bottom
}
}
Column {
Label {
font.pixelSize: 18
font.weight: 600
font.family: "Titillium Web"
text: qsTr("Mode")
color: Constants.primaryTextColor
}
Repeater {
model: [qsTr("Heating"), qsTr("Cooling"), qsTr("Auto")]
CustomRadioButton {
text: modelData
font.pixelSize: 14
indicatorSize: 14
}
}
}
ColumnLayout {
spacing: 12
Label {
font.pixelSize: 18
font.weight: 600
font.family: "Titillium Web"
text: qsTr("Repeat")
color: Constants.primaryTextColor
}
RowLayout {
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
Layout.fillWidth: true
spacing: 24
Repeater {
id: repeater
model: [qsTr("MO"), qsTr("TU"), qsTr("WE"), qsTr(
"TH"), qsTr("FR"), qsTr("SA"), qsTr("SU")]
Label {
property bool checked: false
text: modelData
Layout.fillWidth: true
height: 21
font.pixelSize: 14
horizontalAlignment: Text.AlignHCenter
color: checked ? "#2CDE85" : Constants.primaryTextColor
TapHandler {
onTapped: parent.checked = !parent.checked
}
}
}
}
}
ColumnLayout {
Layout.fillWidth: true
spacing: 8
Repeater {
model: [qsTr("Cancel"), qsTr("Save")]
CustomRoundButton {
height: 45
Layout.fillWidth: true
text: modelData
radius: 12
contentColor: "#2CDE85"
checkable: false
font.pixelSize: 14
}
}
}
}
}