diff options
author | Miika Turkia <miika.turkia@gmail.com> | 2015-07-21 16:37:42 +0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-07-21 07:34:24 -0700 |
commit | b28517b9b002bbdaac867d0b720c17ae865cf17d (patch) | |
tree | 7f2a3729b97a67e25fc87a887e962455aec34165 /qt-ui/divelogimportdialog.cpp | |
parent | 2fc54b68554a3a6499524cbe5dd53bad3d89567a (diff) | |
download | subsurface-b28517b9b002bbdaac867d0b720c17ae865cf17d.tar.gz |
Add setpoint support for CSV import
The import of setpoint values is tested with Seabear data.
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.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/qt-ui/divelogimportdialog.cpp b/qt-ui/divelogimportdialog.cpp index 64f67fab2..ea783b093 100644 --- a/qt-ui/divelogimportdialog.cpp +++ b/qt-ui/divelogimportdialog.cpp @@ -10,14 +10,14 @@ static QString subsurface_mimedata = "subsurface/csvcolumns"; static QString subsurface_index = "subsurface/csvindex"; const DiveLogImportDialog::CSVAppConfig DiveLogImportDialog::CSVApps[CSVAPPS] = { - // time, depth, temperature, po2, sensor1, sensor2, sensor3, cns, ndl, tts, stopdepth, pressure + // time, depth, temperature, po2, sensor1, sensor2, sensor3, cns, ndl, tts, stopdepth, pressure, setpoint // indices are 0 based, -1 means the column doesn't exist { "Manual import", }, - { "APD Log Viewer", 0, 1, 15, 6, 3, 4, 5, 17, -1, -1, 18, -1, "Tab" }, - { "XP5", 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, "Tab" }, - { "SensusCSV", 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "," }, - { "Seabear CSV", 0, 1, 5, -1, -1, -1, -1, -1, 2, 3, 4, 6, ";" }, - { "SubsurfaceCSV", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "Tab" }, + { "APD Log Viewer", 0, 1, 15, 6, 3, 4, 5, 17, -1, -1, 18, -1, 2, "Tab" }, + { "XP5", 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "Tab" }, + { "SensusCSV", 9, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "," }, + { "Seabear CSV", 0, 1, 5, -1, -1, -1, -1, -1, 2, 3, 4, 6, -1, ";" }, + { "SubsurfaceCSV", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "Tab" }, { NULL, } }; @@ -27,7 +27,8 @@ ColumnNameProvider::ColumnNameProvider(QObject *parent) : QAbstractListModel(par tr("End pressure") << tr("Max. depth") << tr("Avg. depth") << tr("Divemaster") << tr("Buddy") << tr("Suit") << tr("Notes") << tr("Tags") << tr("Air temp.") << tr("Water temp.") << tr("O₂") << tr("He") << tr("Sample time") << tr("Sample depth") << tr("Sample temperature") << tr("Sample pO₂") << tr("Sample CNS") << tr("Sample NDL") << tr("Sample TTS") << tr("Sample stopdepth") << tr("Sample pressure") << - tr("Sample sensor1 pO₂") << tr("Sample sensor2 pO₂") << tr("Sample sensor3 pO₂"); + tr("Sample sensor1 pO₂") << tr("Sample sensor2 pO₂") << tr("Sample sensor3 pO₂") << + tr("Sample setpoint"); } bool ColumnNameProvider::insertRows(int row, int count, const QModelIndex &parent) @@ -438,7 +439,7 @@ void DiveLogImportDialog::loadFileContents(int value, whatChanged triggeredBy) // Special handling for APD Log Viewer if ((triggeredBy == KNOWNTYPES && value == 1) || (triggeredBy == INITIAL && fileNames.first().endsWith(".apd", Qt::CaseInsensitive))) { apd=true; - firstLine = "Sample time\tSample depth\t\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\t\t\t\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)) @@ -518,7 +519,7 @@ void DiveLogImportDialog::loadFileContents(int value, whatChanged triggeredBy) separator = "\t"; currColumns = firstLine.split(separator); } - // now set up time, depth, temperature, po2, cns, ndl, tts, stopdepth, pressure + // now set up time, depth, temperature, po2, cns, ndl, tts, stopdepth, pressure, setpoint for (int i = 0; i < currColumns.count(); i++) headers.append(""); if (CSVApps[value].time > -1 && CSVApps[value].time < currColumns.count()) @@ -545,6 +546,8 @@ void DiveLogImportDialog::loadFileContents(int value, whatChanged triggeredBy) headers.replace(CSVApps[value].stopdepth, tr("Sample stopdepth")); if (CSVApps[value].pressure > -1 && CSVApps[value].pressure < currColumns.count()) headers.replace(CSVApps[value].pressure, tr("Sample pressure")); + if (CSVApps[value].setpoint > -1 && CSVApps[value].setpoint < currColumns.count()) + headers.replace(CSVApps[value].setpoint, tr("Sample setpoint")); } f.reset(); @@ -625,6 +628,7 @@ void DiveLogImportDialog::on_buttonBox_accepted() r.indexOf(tr("Sample TTS")), r.indexOf(tr("Sample stopdepth")), r.indexOf(tr("Sample pressure")), + r.indexOf(tr("Sample setpoint")), ui->CSVSeparator->currentIndex(), specialCSV.contains(ui->knownImports->currentIndex()) ? CSVApps[ui->knownImports->currentIndex()].name.toUtf8().data() : "csv", ui->CSVUnits->currentIndex() @@ -675,6 +679,7 @@ void DiveLogImportDialog::on_buttonBox_accepted() r.indexOf(tr("Sample TTS")), r.indexOf(tr("Sample stopdepth")), r.indexOf(tr("Sample pressure")), + r.indexOf(tr("Sample setpoint")), ui->CSVSeparator->currentIndex(), specialCSV.contains(ui->knownImports->currentIndex()) ? CSVApps[ui->knownImports->currentIndex()].name.toUtf8().data() : "csv", ui->CSVUnits->currentIndex() |