diff --git a/companion/src/helpers.cpp b/companion/src/helpers.cpp index a30064571..8f21eed52 100644 --- a/companion/src/helpers.cpp +++ b/companion/src/helpers.cpp @@ -1112,3 +1112,18 @@ double toDecimalCoordinate(const QString & value) } return result; } + +QStringList extractLatLon(const QString & position) +{ + QStringList result; + QStringList parts = position.split(' '); + if (parts.size() != 2) { + result.append(""); + result.append(""); + } + else { + result.append(parts.at(1).trimmed()); + result.append(parts.at(0).trimmed()); + } + return result; +} diff --git a/companion/src/helpers.h b/companion/src/helpers.h index 1c0535535..a8b90fdc4 100644 --- a/companion/src/helpers.h +++ b/companion/src/helpers.h @@ -207,5 +207,6 @@ private: }; double toDecimalCoordinate(const QString & value); +QStringList extractLatLon(const QString & position); #endif // HELPERS_H diff --git a/companion/src/logsdialog.cpp b/companion/src/logsdialog.cpp index aa0449976..d38210e9d 100644 --- a/companion/src/logsdialog.cpp +++ b/companion/src/logsdialog.cpp @@ -217,17 +217,16 @@ QList LogsDialog::filterGePoints(const QList & input) return result; } - int latcol=0, longcol=0; + int gpscol = 0; for (int i=1; i LogsDialog::filterGePoints(const QList & input) for (int i = 1; i < n; i++) { if ((ui->logTable->item(i-1, 1)->isSelected() && rangeSelected) || !rangeSelected) { - QString latitude = input.at(i).at(latcol).trimmed(); - QString longitude = input.at(i).at(longcol).trimmed(); + QStringList latlon = extractLatLon(input.at(i).at(gpscol)); + QString latitude = latlon[0]; + QString longitude = latlon[1]; double flatitude = toDecimalCoordinate(latitude); double flongitude = toDecimalCoordinate(longitude); @@ -273,32 +273,28 @@ void LogsDialog::exportToGoogleEarth() int n = dataPoints.count(); // number of points to export if (n==0) return; - int latcol=0, longcol=0, altcol=0, speedcol=0; + int gpscol=0, altcol=0, speedcol=0; QSet nondataCols; for (int i=1; i