HRV import from text file - fix discard of last line

Fixes #3094
This commit is contained in:
Ale Martinez
2019-05-11 11:32:04 -03:00
parent 4ca3cbcffe
commit 8c995a5339

View File

@@ -530,6 +530,13 @@ RideFile *TxtFileReader::openRideFile(QFile &file, QStringList &errors, QList<Ri
} else {
// RR File
file.close(); // start again (seek did weird things on Linux, bug (?)
if (!file.open(QFile::ReadOnly)) {
errors << ("Could not open ride file: \"" + file.fileName() + "\"");
return NULL;
}
QTextStream is(&file);
// Lets construct our rideFile
RideFile *rideFile = new RideFile();
rideFile->setDeviceType("R-R");
@@ -542,9 +549,12 @@ RideFile *TxtFileReader::openRideFile(QFile &file, QStringList &errors, QList<Ri
hrvXdata->unitname << "msecs";
double secs = 0.0;
do {
while (!is.atEnd()) {
double rr;
line = is.readLine();
tokens = line.split(QRegExp("[ \t]"), QString::SkipEmptyParts);
if (rrType == RR_Type2 && tokens.count() > 1) rr = tokens[1].toDouble();
else if (rrType == RR_Type1 && tokens.count() > 0) rr = tokens[0].toDouble();
else continue; // skip blank or incomplete lines
@@ -562,10 +572,7 @@ RideFile *TxtFileReader::openRideFile(QFile &file, QStringList &errors, QList<Ri
hrvXdata->datapoints.append(p);
secs += rr;
line = in.readLine();
tokens = line.split(QRegExp("[ \t]"), QString::SkipEmptyParts);
} while (!in.atEnd());
}
if (hrvXdata->datapoints.count()>0)
rideFile->addXData("HRV", hrvXdata);