summaryrefslogtreecommitdiffstats
path: root/desktop-widgets
diff options
context:
space:
mode:
authorGravatar Berthold Stoeger <bstoeger@mail.tuwien.ac.at>2018-09-28 13:59:01 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-09-28 15:06:00 -0700
commit32a4ce61694bfe8364227440ea5716df7cc61fd1 (patch)
tree257ac4f9204182b20d7e4bda7bc80911bc6303a6 /desktop-widgets
parenta5db03c2b32115b14e4b83501a0771b186d87913 (diff)
downloadsubsurface-32a4ce61694bfe8364227440ea5716df7cc61fd1.tar.gz
Parser: parse text-based files into arbitrary table
In d815e0c9476ef62e6b84fb28ce48ab7cddefe77e a dive_table pointer was added to the parsing functions to allow parsing into tables other than the global dive table. This will be necessary for undo of import and implementation a cleaner interface. A few cases, notably CSV and proprietary formats were forgotten. Implement parsing into arbitrary tables also for these cases. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'desktop-widgets')
-rw-r--r--desktop-widgets/divelogimportdialog.cpp12
-rw-r--r--desktop-widgets/mainwindow.cpp2
2 files changed, 7 insertions, 7 deletions
diff --git a/desktop-widgets/divelogimportdialog.cpp b/desktop-widgets/divelogimportdialog.cpp
index 967330277..4d092bb8c 100644
--- a/desktop-widgets/divelogimportdialog.cpp
+++ b/desktop-widgets/divelogimportdialog.cpp
@@ -844,9 +844,7 @@ void DiveLogImportDialog::on_buttonBox_accepted()
if (ui->knownImports->currentText() != "Manual import") {
for (int i = 0; i < fileNames.size(); ++i) {
if (ui->knownImports->currentText() == "Seabear CSV") {
-
- parse_seabear_log(qPrintable(fileNames[i]));
-
+ parse_seabear_log(qPrintable(fileNames[i]), &dive_table);
} else {
char *params[49];
int pnr = 0;
@@ -862,7 +860,8 @@ void DiveLogImportDialog::on_buttonBox_accepted()
}
pnr = setup_csv_params(r, params, pnr);
parse_csv_file(qPrintable(fileNames[i]), params, pnr - 1,
- specialCSV.contains(ui->knownImports->currentIndex()) ? qPrintable(CSVApps[ui->knownImports->currentIndex()].name) : "csv");
+ specialCSV.contains(ui->knownImports->currentIndex()) ? qPrintable(CSVApps[ui->knownImports->currentIndex()].name) : "csv",
+ &dive_table);
}
}
} else {
@@ -926,7 +925,7 @@ void DiveLogImportDialog::on_buttonBox_accepted()
params[pnr++] = intdup(r.indexOf(tr("Rating")));
params[pnr++] = NULL;
- parse_manual_file(qPrintable(fileNames[i]), params, pnr - 1);
+ parse_manual_file(qPrintable(fileNames[i]), params, pnr - 1, &dive_table);
} else {
char *params[51];
int pnr = 0;
@@ -942,7 +941,8 @@ void DiveLogImportDialog::on_buttonBox_accepted()
}
pnr = setup_csv_params(r, params, pnr);
parse_csv_file(qPrintable(fileNames[i]), params, pnr - 1,
- specialCSV.contains(ui->knownImports->currentIndex()) ? qPrintable(CSVApps[ui->knownImports->currentIndex()].name) : "csv");
+ specialCSV.contains(ui->knownImports->currentIndex()) ? qPrintable(CSVApps[ui->knownImports->currentIndex()].name) : "csv",
+ &dive_table);
}
}
}
diff --git a/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index 08b4a07b5..887b96230 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -1758,7 +1758,7 @@ void MainWindow::importTxtFiles(const QStringList fileNames)
QFileInfo check_file(csv);
if (check_file.exists() && check_file.isFile()) {
- if (parse_txt_file(fileNamePtr.data(), csv) == 0)
+ if (parse_txt_file(fileNamePtr.data(), csv, &dive_table) == 0)
csvFiles += fileNames.at(i);
} else {
csvFiles += fileNamePtr;