From 46e07a70166eabbd27897eb04f9b49dbf0f3493b Mon Sep 17 00:00:00 2001 From: Ale Martinez Date: Sat, 22 Aug 2020 17:53:42 -0300 Subject: [PATCH] Make measures.ini global looking for it in gcroot For the same reason metadata.xml is now global. Also load default measures groups even when measures.ini is present, this may change when we provide an UI to edit measures.ini, but for now it avoids users breaking body and hrv features. [publish binaries] --- doc/user/measures.ini | 34 +++++++++++++++++++- src/Core/Measures.cpp | 73 +++++++++++++++++++++---------------------- 2 files changed, 69 insertions(+), 38 deletions(-) diff --git a/doc/user/measures.ini b/doc/user/measures.ini index ad5bc8a50..7e7962a29 100644 --- a/doc/user/measures.ini +++ b/doc/user/measures.ini @@ -1,6 +1,38 @@ ; Sample measures.ini configuration file, -; it's looked for in Athlete's config folder +; it's looked for in GC root folder, +; parallel to athlete's directories. + groups.append(new MeasuresGroup("Body", tr("Body"), + QStringList()<<"WEIGHTKG"<<"FATKG"<<"MUSCLEKG"<<"BONESKG"<<"LEANKG"<<"FATPERCENT", + QStringList()<()<()<< + (QStringList()<<"weightkg")<< + (QStringList()<<"fatkg")<< + (QStringList()<<"boneskg")<< + (QStringList()<<"musclekg")<< + (QStringList()<<"leankg")<< + (QStringList()<<"fatpercent"), + dir, withData)); + + groups.append(new MeasuresGroup("Hrv", tr("Hrv"), + QStringList()<<"RMSSD"<<"HR"<<"AVNN"<<"SDNN"<<"PNN50"<<"LF"<<"HF"<<"Recovery_Points", + QStringList()<()<<1.0<<1.0<<1.0<<1.0<<1.0<<1.0<<1.0<<1.0, + QList()<< + (QStringList()<<"rMSSD"<<"rMSSD_lying"<<"Rmssd")<< + (QStringList()<<"HR"<<"HR_lying")<< + (QStringList()<<"AVNN"<<"AVNN_lying")<< + (QStringList()<<"SDNN"<<"SDNN_lying"<<"Sdnn")<< + (QStringList()<<"pNN50"<<"pNN50_lying"<<"Pnn50")<< + (QStringList()<<"LF"<<"LF_lying")<< + (QStringList()<<"HF"<<"HF_lying")<< + (QStringList()<<"HRV4T_Recovery_Points"<<"lnRmssd"), + dir, withData)); ; Nutrition data group [Nutrition] ; Name: translated identifier, defaults to the group identifier diff --git a/src/Core/Measures.cpp b/src/Core/Measures.cpp index 27e7406d6..3f31aa5ae 100644 --- a/src/Core/Measures.cpp +++ b/src/Core/Measures.cpp @@ -18,6 +18,7 @@ #include "Measures.h" #include "Units.h" +#include "MainWindow.h" // for gcroot #include #include @@ -252,45 +253,43 @@ MeasuresGroup::unserialize(QFile &file, QList &data) Measures::Measures(QDir dir, bool withData) : dir(dir), withData(withData) { + // pre-load mandatory measures in MeasuresGroupType order + + groups.append(new MeasuresGroup("Body", tr("Body"), + QStringList()<<"WEIGHTKG"<<"FATKG"<<"MUSCLEKG"<<"BONESKG"<<"LEANKG"<<"FATPERCENT", + QStringList()<()<()<< + (QStringList()<<"weightkg")<< + (QStringList()<<"fatkg")<< + (QStringList()<<"boneskg")<< + (QStringList()<<"musclekg")<< + (QStringList()<<"leankg")<< + (QStringList()<<"fatpercent"), + dir, withData)); + + groups.append(new MeasuresGroup("Hrv", tr("Hrv"), + QStringList()<<"RMSSD"<<"HR"<<"AVNN"<<"SDNN"<<"PNN50"<<"LF"<<"HF"<<"Recovery_Points", + QStringList()<()<<1.0<<1.0<<1.0<<1.0<<1.0<<1.0<<1.0<<1.0, + QList()<< + (QStringList()<<"rMSSD"<<"rMSSD_lying"<<"Rmssd")<< + (QStringList()<<"HR"<<"HR_lying")<< + (QStringList()<<"AVNN"<<"AVNN_lying")<< + (QStringList()<<"SDNN"<<"SDNN_lying"<<"Sdnn")<< + (QStringList()<<"pNN50"<<"pNN50_lying"<<"Pnn50")<< + (QStringList()<<"LF"<<"LF_lying")<< + (QStringList()<<"HF"<<"HF_lying")<< + (QStringList()<<"HRV4T_Recovery_Points"<<"lnRmssd"), + dir, withData)); + // load user defined measures from measures.ini - QString filename = dir.canonicalPath() + "/measures.ini"; - + QString filename = QDir(gcroot).canonicalPath() + "/measures.ini"; if (!QFile(filename).exists()) { - - // By default pre-load mandatory measures in MeasuresGroupType order - - groups.append(new MeasuresGroup("Body", tr("Body"), - QStringList()<<"WEIGHTKG"<<"FATKG"<<"MUSCLEKG"<<"BONESKG"<<"LEANKG"<<"FATPERCENT", - QStringList()<()<()<< - (QStringList()<<"weightkg")<< - (QStringList()<<"fatkg")<< - (QStringList()<<"boneskg")<< - (QStringList()<<"musclekg")<< - (QStringList()<<"leankg")<< - (QStringList()<<"fatpercent"), - dir, withData)); - - groups.append(new MeasuresGroup("Hrv", tr("Hrv"), - QStringList()<<"RMSSD"<<"HR"<<"AVNN"<<"SDNN"<<"PNN50"<<"LF"<<"HF"<<"Recovery_Points", - QStringList()<()<<1.0<<1.0<<1.0<<1.0<<1.0<<1.0<<1.0<<1.0, - QList()<< - (QStringList()<<"rMSSD"<<"rMSSD_lying"<<"Rmssd")<< - (QStringList()<<"HR"<<"HR_lying")<< - (QStringList()<<"AVNN"<<"AVNN_lying")<< - (QStringList()<<"SDNN"<<"SDNN_lying"<<"Sdnn")<< - (QStringList()<<"pNN50"<<"pNN50_lying"<<"Pnn50")<< - (QStringList()<<"LF"<<"LF_lying")<< - (QStringList()<<"HF"<<"HF_lying")<< - (QStringList()<<"HRV4T_Recovery_Points"<<"lnRmssd"), - dir, withData)); - // other standard measures can be loaded from resources filename = ":/ini/measures.ini"; }