aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordodoradio <dodoradio@outlook.com>2023-07-22 14:18:59 +0100
committerdodoradio <dodoradio@outlook.com>2023-07-22 14:36:11 +0100
commit85b85d907d88912314b752e4f75694d145c839d4 (patch)
tree2fd632b1d27babea2c757c7df7ed0e4accd155ac
parentc57c0cf188ccfdab8a3881a97a3568bc3be27afb (diff)
Add current heartrate to heartrate detail page
This copies a bit of code from https://github.com/AsteroidOS/asteroid-hrm/blob/master/src/main.qml
-rw-r--r--src/heartrate/HeartrateDetailPage.qml49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/heartrate/HeartrateDetailPage.qml b/src/heartrate/HeartrateDetailPage.qml
index 611d720..3f4e897 100644
--- a/src/heartrate/HeartrateDetailPage.qml
+++ b/src/heartrate/HeartrateDetailPage.qml
@@ -1,5 +1,7 @@
/*
* Copyright (C) 2023 Arseniy Movshev <dodoradio@outlook.com>
+ * 2021 Timo Könnecke <github.com/eLtMosen>
+ * 2021 Darrel Griët <dgriet@gmail.com>
* 2019 Florent Revest <revestflo@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
@@ -18,12 +20,33 @@
import QtQuick 2.15
import org.asteroid.controls 1.0
+import QtSensors 5.11
import org.asteroid.sensorlogd 1.0
import "../graphs"
Item {
+ id: root
+ property int currentHr: 0 //we ought to get the last value from hrdataloader - but it currently doesn't do any caching so operation would be a bit slow, and we run the hr sensor when app starts anyway, so we'll ignore that for now
+ HrmSensor {
+ active: true
+ onReadingChanged: {
+ currentHr = reading.bpm
+ }
+ }
+
+ property bool pulseToggle: true
+ property int pulseWidth: pulseToggle ? root.height*0.2 : root.height*0.26
+ Behavior on pulseWidth { NumberAnimation { duration: pulseAnimationDuration; easing.type: Easing.OutInSine } }
+
+ Timer {
+ id: pulseTimer
+ interval: 1000 / (currentHr / 30)
+ running: currentHr
+ repeat: true
+ onTriggered: pulseToggle = !pulseToggle
+ }
Flickable {
anchors.fill: parent
contentHeight: contentColumn.implicitHeight
@@ -33,6 +56,32 @@ Item {
Item { width: parent.width; height: parent.width*0.2}
+ // this chunk of code is modified from https://github.com/AsteroidOS/asteroid-hrm/blob/master/src/main.qml
+ Item {
+ width: parent.width*0.5
+ height: root.height*0.26
+ anchors.horizontalCenter: parent.horizontalCenter
+ Label {
+ text: currentHr + " bpm"
+ anchors {
+ verticalCenter: parent.verticalCenter
+ left: parent.left
+ }
+ }
+
+ Text {
+ id: heartPicture
+ anchors {
+ verticalCenter: parent.verticalCenter
+ horizontalCenter: parent.right
+ }
+ font.pixelSize: pulseWidth
+ text: "\u2764"
+ }
+ }
+ // end asteroid-hrm code
+ Item { width: parent.width; height: parent.width*0.2}
+
HrGraph {
id: graph
anchors.horizontalCenter: parent.horizontalCenter