diff options
author | Arseniy-Movshev <dodoradio@outlook.com> | 2023-06-11 00:17:54 +0100 |
---|---|---|
committer | Arseniy-Movshev <dodoradio@outlook.com> | 2023-06-20 00:05:28 +0100 |
commit | f6c090502058c63f7a51b7ba97672022657119d8 (patch) | |
tree | 4481872fa3d05e2d767f1533a2ee1eba43cfb7ac /qmlplugin/stepsDataLoader.cpp | |
parent | 451388685a13669561b778e5719379db39164d47 (diff) |
StepsDataLoader: add a property that updates today's live step count
this also changes the behaviour of getTodayTotal()
Diffstat (limited to 'qmlplugin/stepsDataLoader.cpp')
-rw-r--r-- | qmlplugin/stepsDataLoader.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/qmlplugin/stepsDataLoader.cpp b/qmlplugin/stepsDataLoader.cpp index 2fbd9f1..53bdc5e 100644 --- a/qmlplugin/stepsDataLoader.cpp +++ b/qmlplugin/stepsDataLoader.cpp @@ -16,11 +16,16 @@ #include <QDBusInterface> #include <QPointF> +#include <QtSensors/QStepCounterSensor> + #include "stepsDataLoader.h" #include "../common.h" StepsDataLoader::StepsDataLoader() : QObject() { + m_stepcounterSensor = new QStepCounterSensor(this); + m_stepcounterSensor->start(); + connect(m_stepcounterSensor,SIGNAL(readingChanged()),this,SIGNAL(todayTotalChanged())); m_iface = new QDBusInterface("org.asteroid.sensorlogd.logger","/org/asteroid/sensorlogd/logger","", QDBusConnection::sessionBus(), this); if (!m_iface->isValid()) { qDebug()<<"interface is not valid"; @@ -30,7 +35,8 @@ StepsDataLoader::StepsDataLoader() : QObject() } int StepsDataLoader::getTodayTotal() { - return getTotalForDate(QDate::currentDate()); + QSettings settings("asteroid", "sensorlogd"); + return m_stepcounterSensor->reading()->steps() - settings.value("StepCounterPrivate/stepsOffset", 0).toInt(); } int StepsDataLoader::getTotalForDate(QDate date) { // This is obvious garbage. This should really be abstracted and cached, so that every page doesn't have to reload the file from scratch. |