Parser: add trip_table parameter to parsing functions

To allow parsing into arbitrary trip_tables, add the corresponding
parameter to the parsing functions and the parser state. Currently,
all callers pass the global trip_table so there should be no change
in functionality. These arguments will be replaced in subsequent commits.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-11-27 00:25:15 +01:00 committed by Dirk Hohndel
parent ec37c71f5e
commit 7e33369dc8
28 changed files with 157 additions and 143 deletions

View file

@ -904,10 +904,10 @@ 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]), &table);
parse_seabear_log(qPrintable(fileNames[i]), &table, &trip_table);
} else if (ui->knownImports->currentText() == "Poseidon MkVI") {
QPair<QString, QString> pair = poseidonFileNames(fileNames[i]);
parse_txt_file(qPrintable(pair.second), qPrintable(pair.first), &table);
parse_txt_file(qPrintable(pair.second), qPrintable(pair.first), &table, &trip_table);
} else {
char *params[49];
int pnr = 0;
@ -924,7 +924,7 @@ 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",
&table);
&table, &trip_table);
}
}
} else {
@ -988,7 +988,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, &table);
parse_manual_file(qPrintable(fileNames[i]), params, pnr - 1, &table, &trip_table);
} else {
char *params[51];
int pnr = 0;
@ -1005,7 +1005,7 @@ 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",
&table);
&table, &trip_table);
}
}
}

View file

@ -614,7 +614,7 @@ void MainWindow::on_actionCloudstorageopen_triggered()
showProgressBar();
QByteArray fileNamePtr = QFile::encodeName(filename);
if (!parse_file(fileNamePtr.data(), &dive_table))
if (!parse_file(fileNamePtr.data(), &dive_table, &trip_table))
setCurrentFile(fileNamePtr.data());
process_loaded_dives();
Command::clear();
@ -1711,7 +1711,7 @@ void MainWindow::importFiles(const QStringList fileNames)
for (int i = 0; i < fileNames.size(); ++i) {
fileNamePtr = QFile::encodeName(fileNames.at(i));
parse_file(fileNamePtr.data(), &table);
parse_file(fileNamePtr.data(), &table, &trip_table);
}
process_imported_dives(&table, false, false);
Command::clear();
@ -1729,7 +1729,7 @@ void MainWindow::loadFiles(const QStringList fileNames)
showProgressBar();
for (int i = 0; i < fileNames.size(); ++i) {
fileNamePtr = QFile::encodeName(fileNames.at(i));
if (!parse_file(fileNamePtr.data(), &dive_table)) {
if (!parse_file(fileNamePtr.data(), &dive_table, &trip_table)) {
setCurrentFile(fileNamePtr.data());
addRecentFile(fileNamePtr, false);
}

View file

@ -769,7 +769,7 @@ void DivelogsDeWebServices::buttonClicked(QAbstractButton *button)
}
/* parse file and import dives */
struct dive_table table = { 0 };
parse_file(QFile::encodeName(zipFile.fileName()), &table);
parse_file(QFile::encodeName(zipFile.fileName()), &table, &trip_table);
process_imported_dives(&table, false, false);
MainWindow::instance()->refreshDisplay();