summaryrefslogtreecommitdiffstats
path: root/qt-ui/divelogimportdialog.cpp
diff options
context:
space:
mode:
authorGravatar Miika Turkia <miika.turkia@gmail.com>2015-07-22 18:06:29 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2015-07-22 11:21:43 -0700
commitac4871c699d56d7d2163c4cc22dfd154e8cf7342 (patch)
treea950cab1f47d5429827b988f42870213ffd958e8 /qt-ui/divelogimportdialog.cpp
parentbf45eddceb2f0cb694f8f907d16cdbc6a36fa3fe (diff)
downloadsubsurface-ac4871c699d56d7d2163c4cc22dfd154e8cf7342.tar.gz
Import sensor values for autodetected APD files
If APD Log Viewer format is automatically detected, we should set the sensor values to be imported properly. These need to be added to the firstline and since we convert the number 2 from column headers to subscript, this step must be skipped for the APD import. Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/divelogimportdialog.cpp')
-rw-r--r--qt-ui/divelogimportdialog.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/qt-ui/divelogimportdialog.cpp b/qt-ui/divelogimportdialog.cpp
index ad28f28b3..7eb3f48f6 100644
--- a/qt-ui/divelogimportdialog.cpp
+++ b/qt-ui/divelogimportdialog.cpp
@@ -448,7 +448,7 @@ void DiveLogImportDialog::loadFileContents(int value, whatChanged triggeredBy)
// Special handling for APD Log Viewer
if ((triggeredBy == KNOWNTYPES && value == APD) || (triggeredBy == INITIAL && fileNames.first().endsWith(".apd", Qt::CaseInsensitive))) {
apd=true;
- firstLine = "Sample time\tSample depth\tSample setpoint\t\t\t\tSample pO₂\t\t\t\t\t\t\t\t\tSample temperature\t\tSample CNS\tSample stopdepth";
+ firstLine = "Sample time\tSample depth\tSample setpoint\tSample sensor1 pO₂\tSample sensor2 pO₂\tSample sensor3 pO₂\tSample pO₂\t\t\t\t\t\t\t\t\tSample temperature\t\tSample CNS\tSample stopdepth";
blockSignals(true);
ui->CSVSeparator->setCurrentText(tr("Tab"));
if (triggeredBy == INITIAL && fileNames.first().contains(".apd", Qt::CaseInsensitive))
@@ -479,10 +479,18 @@ void DiveLogImportDialog::loadFileContents(int value, whatChanged triggeredBy)
if (triggeredBy == INITIAL || (triggeredBy == KNOWNTYPES && value == MANUAL) || triggeredBy == SEPARATOR) {
// now try and guess the columns
Q_FOREACH (QString columnText, currColumns) {
- columnText.replace("\"", "");
- columnText.replace("number", "#", Qt::CaseInsensitive);
- columnText.replace("2", "₂", Qt::CaseInsensitive);
- columnText.replace("cylinder", "cyl.", Qt::CaseInsensitive);
+ /*
+ * We have to skip the conversion of 2 to ₂ for APD Log
+ * viewer as that would mess up the sensor numbering. We
+ * also know that the column headers do not need this
+ * conversion.
+ */
+ if (triggeredBy == KNOWNTYPES && value != APD) {
+ columnText.replace("\"", "");
+ columnText.replace("number", "#", Qt::CaseInsensitive);
+ columnText.replace("2", "₂", Qt::CaseInsensitive);
+ columnText.replace("cylinder", "cyl.", Qt::CaseInsensitive);
+ }
int idx = provider->mymatch(columnText);
if (idx >= 0) {
QString foundHeading = provider->data(provider->index(idx, 0), Qt::DisplayRole).toString();