// 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 ThermostatCustomControls import Thermostat ScrollView { id: scrollView required property var model property bool isOneColumn: false property bool isBackgroundVisible: false property int statisticsChartHeight: 647 property int statisticsChartWidth: 1098 property int delegateHeight: 182 property int delegateWidth: 350 clip: true padding: 0 contentWidth: availableWidth background: Rectangle { color: Constants.accentColor visible: scrollView.isBackgroundVisible radius: 12 } GridLayout { id: grid width: scrollView.width height: scrollView.height columns: scrollView.isOneColumn ? 1 : 3 rows: scrollView.isOneColumn ? 8 : 1 columnSpacing: 24 rowSpacing: scrollView.isOneColumn ? 12 : 24 Pane { id: statistics leftPadding: 53 rightPadding: 53 topPadding: 23 bottomPadding: 43 Layout.columnSpan: scrollView.isOneColumn ? 1 : 3 Layout.rowSpan: scrollView.isOneColumn ? 5 : 1 Layout.preferredHeight: scrollView.statisticsChartHeight Layout.preferredWidth: scrollView.statisticsChartWidth Layout.alignment: Qt.AlignHCenter background: Rectangle { radius: 12 color: Constants.accentColor } StatisticsChart { id: statisticsChart anchors.fill: parent energyValuesModel: model.energyStats tempValuesModel: model.tempStats } } TemperatureInfo { id: tempInfo Layout.preferredHeight: scrollView.delegateHeight Layout.preferredWidth: scrollView.delegateWidth Layout.alignment: Qt.AlignHCenter maxTempValue: statisticsChart.maxValue minTempValue: statisticsChart.minValue avgTempValue: statisticsChart.avgValue } HumidityInfo { id: humidityInfo Layout.preferredHeight: scrollView.delegateHeight Layout.preferredWidth: scrollView.delegateWidth Layout.alignment: Qt.AlignHCenter humidityValuesModel: model.humidityStats } EnergyInfo { id: energyInfo Layout.preferredHeight: scrollView.delegateHeight Layout.preferredWidth: scrollView.delegateWidth Layout.alignment: Qt.AlignHCenter energyValuesModel: model.energyStats } } states: [ State { name: "desktopLayout" when: Constants.isBigDesktopLayout || Constants.isSmallDesktopLayout PropertyChanges { target: statistics leftPadding: 53 rightPadding: 53 topPadding: 23 bottomPadding: 43 } PropertyChanges { target: scrollView isBackgroundVisible: false delegateWidth: 350 delegateHeight: 182 statisticsChartWidth: 1098 statisticsChartHeight: 647 } }, State { name: "mobileLayout" when: Constants.isMobileLayout PropertyChanges { target: statistics leftPadding: 0 rightPadding: 0 topPadding: 0 bottomPadding: 43 } PropertyChanges { target: scrollView isBackgroundVisible: false delegateWidth: 327 delegateHeight: 100 statisticsChartWidth: 327 statisticsChartHeight: 383 } }, State { name: "smallLayout" when: Constants.isSmallLayout PropertyChanges { target: statistics leftPadding: 0 rightPadding: 0 topPadding: 0 bottomPadding: 43 } PropertyChanges { target: scrollView isBackgroundVisible: true delegateWidth: 332 delegateHeight: 80 statisticsChartWidth: 401 statisticsChartHeight: 280 } } ] }