Files
evcharger-app/SelectLogicModeItem.qml
T

83 lines
2.6 KiB
QML
Raw Normal View History

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import EVChargerApp
WhiteBox {
2024-07-07 21:30:33 +02:00
id: control
RowLayout {
anchors.fill: parent
2024-07-07 21:30:33 +02:00
SendMessageHelper {
id: valueChanger
deviceConnection: mainScreen.deviceConnection
onResponseChanged: {
ecoButton.checked = Qt.binding(() => ecoButton.selectedMode)
basicButton.checked = Qt.binding(() => basicButton.selectedMode)
dailyTripButton.checked = Qt.binding(() => dailyTripButton.selectedMode)
}
}
ButtonGroup {
buttons: parent.children
}
LogicModeButton {
2024-07-07 21:30:33 +02:00
id: ecoButton
Layout.preferredWidth: parent.width / parent.children.length
2024-07-07 21:30:33 +02:00
property bool selectedMode: logicMode.value == 4
checked: selectedMode
text: qsTr("Eco")
icon.source: "icons/EcoModeFilled.svg"
description: qsTr("Eco-friendly & cost effective")
2024-07-07 21:30:33 +02:00
onClicked: {
if (selectedMode)
tabBar.setCurrentIndex(1)
else
valueChanger.sendMessage({type: "setValue", key: "lmo", value: 4})
}
}
LogicModeButton {
2024-07-07 21:30:33 +02:00
id: basicButton
Layout.preferredWidth: parent.width / parent.children.length
2024-07-07 21:30:33 +02:00
property bool selectedMode: logicMode.value == 3
checked: selectedMode
text: qsTr("Basic")
icon.source: "icons/EcoModeFilled.svg"
description: qsTr("Basic charging")
2024-07-07 21:30:33 +02:00
onClicked: valueChanger.sendMessage({type: "setValue", key: "lmo", value: 3})
}
LogicModeButton {
2024-07-07 21:30:33 +02:00
id: dailyTripButton
Layout.preferredWidth: parent.width / parent.children.length
2024-07-07 21:30:33 +02:00
property bool selectedMode: logicMode.value == 5
checked: selectedMode
text: qsTr("Daily trip")
icon.source: "icons/EcoModeFilled.svg"
description: qsTr("Specific energy and time")
2024-07-07 21:30:33 +02:00
onClicked: {
if (selectedMode)
2024-07-12 22:21:41 +02:00
stackView.push(dailyTripPageComponent)
2024-07-07 21:30:33 +02:00
else
valueChanger.sendMessage({type: "setValue", key: "lmo", value: 5})
}
2024-07-12 22:21:41 +02:00
Component {
id: dailyTripPageComponent
DailyTripPage {
}
}
2024-07-07 21:30:33 +02:00
}
BusyIndicator {
parent: control
anchors.left: parent.left
anchors.top: parent.top
visible: valueChanger.pending
}
}
}