Add missing resources.

This commit is contained in:
2020-06-02 15:47:00 -04:00
parent 43f5e1b22c
commit 21e6395254
2 changed files with 262 additions and 0 deletions

257
src/contents/ui/main.qml Normal file
View File

@@ -0,0 +1,257 @@
import QtQuick 2.6
import org.kde.kirigami 2.6 as Kirigami
import QtQuick.Controls 2.0 as Controls
import QtQuick.Layouts 1.12 as Layouts
Kirigami.ApplicationWindow {
id: root
title: "Vehicle Voyage"
pageStack.initialPage: mainPageComponent
contextDrawer: Kirigami.ContextDrawer {}
/*
Component {
id: mainPageComponent
Kirigami.Page {
id: mainPage
mainAction: Kirigami.Action {
iconName: "view-refresh"
text: qsTr("Query Device")
onTriggered: {
deviceSelect.open();
}
}
contextualActions: [
Kirigami.Action {
iconName: "help-about"
text: qsTr("About")
onTriggered: {
pageStack.replace(aboutPageComponent);
}
}
]
title: "Monitor"
leftPadding: 0
rightPadding: 0
Layouts.ColumnLayout {
anchors.fill: parent
Kirigami.InlineMessage {
Layouts.Layout.fillWidth: true
Layouts.Layout.leftMargin: 10
Layouts.Layout.rightMargin: 10
z: 9997
type: Kirigami.MessageType.Error
id: errorMessage
showCloseButton: true
Connections {
target: qiflora
onErrorHappened: {
errorMessage.text = description;
errorMessage.visible = true;
}
}
}
Kirigami.CardsListView {
Layouts.Layout.fillWidth: true
Layouts.Layout.fillHeight: true
id: monitorView
model: ListModel {
id: monitorTypes
ListElement{
chartType: "temperature"
title: "Temperature"
icon: "filename-bpm-amarok"
lineColor: "red"
units: "°C"
yMin: -20
yMax: 40
modelCol: 1
}
ListElement{
chartType: "moisture"
title: "Moisture"
icon: "colors-chromablue"
lineColor: "cyan"
units: "%"
yMin: 0
yMax: 75
modelCol: 3
}
ListElement{
chartType: "conductivity"
title: "Conductivity"
icon: "quickopen"
lineColor: "gold"
units: "µS/cm"
yMin: 0
yMax: 6000
modelCol: 4
}
ListElement{
chartType: "brightness"
title: "Brightness"
icon: "contrast"
lineColor: "orange"
units: "lux"
yMin: 0
yMax: 30000
modelCol: 2
}
}
delegate: Kirigami.Card {
id: card
banner {
title: qsTr(model.title)
titleIcon: model.icon
titleLevel: 2
}
header: Row {
layoutDirection: Qt.RightToLeft
topPadding: 10.0
rightPadding: 10.0
Layouts.ColumnLayout {
Kirigami.Heading {
Layouts.Layout.alignment: Qt.AlignCenter
level: 4
text: qsTr("Last Measured")
}
Kirigami.Heading {
Layouts.Layout.alignment: Qt.AlignCenter
level: 3
text: {
if(model.chartType == "temperature") Math.round(qiflora.temperature*10)/10 + "°C\n" + (Math.round((qiflora.temperature*1.8+32)*10)/10) + "°F"
else if(model.chartType == "moisture") qiflora.moisture + "%"
else if(model.chartType == "conductivity") qiflora.conduction + " µS/cm"
else if(model.chartType == "brightness") qiflora.brightness + " lux"
}
}
}
}
contentItem: Item {
implicitWidth: 300
implicitHeight: 200
Charts.ChartView {
id: chart
antialiasing: true
backgroundColor: Kirigami.Theme.buttonBackgroundColor
titleColor: Kirigami.Theme.textColor
legend.visible: false
anchors.fill: parent
Charts.LineSeries {
id: series
axisX: Charts.DateTimeAxis {
id: dateAx
labelsColor: Kirigami.Theme.textColor
format: "MMM d yyyy ha"
Component.onCompleted: {
//On load, change date span to last 24 to remove awkward 1969 empty dates.
var yesterday = new Date();
yesterday.setDate(yesterday.getDate() -1);
dateAx.min = yesterday;
dateAx.max = new Date();
}
}
axisY: Charts.ValueAxis {
id: valueAx
labelFormat: "%d "+units
labelsColor: Kirigami.Theme.textColor
min: yMin
max: yMax
}
color: model.lineColor
name: model.title
Charts.VXYModelMapper {
model: qiflora.model
xColumn: 0
yColumn: modelCol
}
}
Connections {
target: qiflora.model
onRowsInserted: {
//Readjust graphs to show date range from earliest item.
dateAx.max = new Date();
dateAx.min = qiflora.model.data(qiflora.model.index(0,0));
}
}
}
}
}
Controls.ScrollBar.vertical: Controls.ScrollBar {}
}
}
Kirigami.OverlaySheet {
id: deviceSelect
showCloseButton: false
contentItem: ListView {
header: Column {
Rectangle {
height: 10
color: "transparent"
}
Kirigami.Heading {
text: qsTr("Select Device to Query")
}
Rectangle {
height: 10
color: "transparent"
}
}
id: deviceList
model: qiflora.devices
delegate: Kirigami.AbstractListItem {
Layouts.ColumnLayout {
Kirigami.Heading {
text:model.modelData.name
level: 2
}
Kirigami.Heading {
text:model.modelData.address
level: 5
}
}
onClicked: {
qiflora.updateDataFromDevice(model.modelData.address);
deviceSelect.close();
}
}
}
onSheetOpenChanged: {
if(!sheetOpen) {
qiflora.stopSearch();
} else {
qiflora.startSearch();
}
}
}
}
}
Component {
id:aboutPageComponent
Kirigami.AboutPage {
id: aboutPage
actions.main: Kirigami.Action {
iconName: "window-close"
text: qsTr("Close")
onTriggered: {
pageStack.clear();
pageStack.push(mainPageComponent);
}
}
aboutData: appAboutData
}
}*/
}