From a5611c1d28576881cbd0556eb3a5ae16f4af58b2 Mon Sep 17 00:00:00 2001 From: Miika Turkia Date: Thu, 5 May 2016 09:26:10 +0300 Subject: [PATCH] Allow parsing of .txt files on import Signed-off-by: Miika Turkia Signed-off-by: Dirk Hohndel --- file.c | 2 +- qt-ui/mainwindow.cpp | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/file.c b/file.c index e82b3a79c..a24fc3187 100644 --- a/file.c +++ b/file.c @@ -831,7 +831,7 @@ int parse_txt_file(const char *filename, const char *csv) record_dive(dive); return 1; } else { - return report_error(translate("gettextFromC", "No matching DC found for file '%s'"), csv); + return 0; } return 0; diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp index 955d7e482..2a0d91645 100644 --- a/qt-ui/mainwindow.cpp +++ b/qt-ui/mainwindow.cpp @@ -1626,6 +1626,8 @@ void MainWindow::importFiles(const QStringList fileNames) void MainWindow::importTxtFiles(const QStringList fileNames) { + QStringList csvFiles; + if (fileNames.isEmpty()) return; @@ -1635,7 +1637,17 @@ void MainWindow::importTxtFiles(const QStringList fileNames) fileNamePtr = QFile::encodeName(fileNames.at(i)); csv = fileNamePtr.data(); csv.replace(strlen(csv.data()) - 3, 3, "csv"); - parse_txt_file(fileNamePtr.data(), csv); + + QFileInfo check_file(csv); + if (check_file.exists() && check_file.isFile()) + if (parse_txt_file(fileNamePtr.data(), csv) == 0) + csvFiles += fileNames.at(i); + else + csvFiles += fileNames.at(i); + } + if (csvFiles.size()) { + DiveLogImportDialog *diveLogImport = new DiveLogImportDialog(csvFiles, this); + diveLogImport->show(); } process_dives(true, false); refreshDisplay();