aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordodoradio <dodoradio@outlook.com>2023-07-20 18:14:18 +0100
committerdodoradio <dodoradio@outlook.com>2023-07-21 00:09:34 +0100
commitc2632dc90160ad4457fbe65eb1dae5157254cbc7 (patch)
tree44761a420118607b67a3a2222608a5fb64a2089c
parente7c5ed6a50600aa6d060de20a39c3d0e80b6dc04 (diff)
Add heartrate detail page
This currently just allows viewing heartrate over a day, a week or 3 weeks
-rw-r--r--src/heartrate/HeartrateDetailPage.qml93
-rw-r--r--src/heartrate/HeartratePreview.qml34
-rw-r--r--src/resources.qrc1
3 files changed, 116 insertions, 12 deletions
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 <dodoradio@outlook.com>
+ * 2019 Florent Revest <revestflo@gmail.com>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+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 @@
<file>main.qml</file>
<file>stepCounter/StepCounterPreview.qml</file>
<file>heartrate/HeartratePreview.qml</file>
+ <file>heartrate/HeartrateDetailPage.qml</file>
<file>settings/RootSettingsPage.qml</file>
<file>settings/LoggerSettingsPage.qml</file>
<file>settings/UiSettingsPage.qml</file>