From c2632dc90160ad4457fbe65eb1dae5157254cbc7 Mon Sep 17 00:00:00 2001 From: dodoradio Date: Thu, 20 Jul 2023 18:14:18 +0100 Subject: Add heartrate detail page This currently just allows viewing heartrate over a day, a week or 3 weeks --- src/heartrate/HeartrateDetailPage.qml | 93 +++++++++++++++++++++++++++++++++++ src/heartrate/HeartratePreview.qml | 34 ++++++++----- src/resources.qrc | 1 + 3 files changed, 116 insertions(+), 12 deletions(-) create mode 100644 src/heartrate/HeartrateDetailPage.qml diff --git a/src/heartrate/HeartrateDetailPage.qml b/src/heartrate/HeartrateDetailPage.qml new file mode 100644 index 0000000..611d720 --- /dev/null +++ b/src/heartrate/HeartrateDetailPage.qml @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2023 Arseniy Movshev + * 2019 Florent Revest + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +import QtQuick 2.15 +import org.asteroid.controls 1.0 + +import org.asteroid.sensorlogd 1.0 + +import "../graphs" + +Item { + Flickable { + anchors.fill: parent + contentHeight: contentColumn.implicitHeight + Column { + id: contentColumn + width: parent.width + + Item { width: parent.width; height: parent.width*0.2} + + HrGraph { + id: graph + anchors.horizontalCenter: parent.horizontalCenter + width: parent.width*0.9 + height: app.height*2/3 + startTime: new Date() + endTime: new Date() + } + Row { + anchors.horizontalCenter: parent.horizontalCenter + width: parent.width*0.9 + height: width/6 + MouseArea { + height: parent.height + width: parent.width/3 + Label { + anchors.centerIn: parent + text: "3 weeks" + } + onClicked: { + var d = graph.endTime + d.setDate(d.getDate() - 20) + graph.startTime = d + } + } + MouseArea { + height: parent.height + width: parent.width/3 + Label { + anchors.centerIn: parent + text: "week" + } + onClicked: { + var d = graph.endTime + d.setDate(d.getDate() - 6) + graph.startTime = d + } + } + MouseArea { + height: parent.height + width: parent.width/3 + Label { + anchors.centerIn: parent + text: "day" + } + onClicked: { + graph.startTime = graph.endTime + } + } + } + + Item { width: parent.width; height: parent.width*0.2} + } + } + PageHeader { + text: "Heartrate" + } +} diff --git a/src/heartrate/HeartratePreview.qml b/src/heartrate/HeartratePreview.qml index ae9c5ef..7c5b4ba 100644 --- a/src/heartrate/HeartratePreview.qml +++ b/src/heartrate/HeartratePreview.qml @@ -23,20 +23,30 @@ import org.asteroid.sensorlogd 1.0 import "../graphs" -Column { - Label { - anchors { - left: parent.left - margins: app.width*0.1 +MouseArea { + implicitHeight: contentColumn.implicitHeight + Column { + id: contentColumn + anchors.fill: parent + Label { + anchors { + left: parent.left + margins: app.width*0.1 + } + text: "Heartrate" } - text: "Heartrate" - } - Item { width: parent.width; height: parent.width*0.05} + Item { width: parent.width; height: parent.width*0.05} - HrGraph { - anchors.horizontalCenter: parent.horizontalCenter - width: parent.width*0.9 - height: app.height*2/3 + HrGraph { + anchors.horizontalCenter: parent.horizontalCenter + width: parent.width*0.9 + height: app.height*2/3 + } + } + onClicked: pageStack.push(detailPage) + Component { + id: detailPage + HeartrateDetailPage {} } } diff --git a/src/resources.qrc b/src/resources.qrc index 4eaeafe..04c32f9 100644 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -3,6 +3,7 @@ main.qml stepCounter/StepCounterPreview.qml heartrate/HeartratePreview.qml + heartrate/HeartrateDetailPage.qml settings/RootSettingsPage.qml settings/LoggerSettingsPage.qml settings/UiSettingsPage.qml -- cgit v1.2.3-70-g09d2