[PATCH 1/3] Allow parsing of .txt files on import
Miika Turkia
miika.turkia at gmail.com
Wed May 4 23:26:10 PDT 2016
Signed-off-by: Miika Turkia <miika.turkia at gmail.com>
---
core/file.c | 2 +-
desktop-widgets/mainwindow.cpp | 14 +++++++++++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/core/file.c b/core/file.c
index b9da21f..3e80418 100644
--- a/core/file.c
+++ b/core/file.c
@@ -884,7 +884,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/desktop-widgets/mainwindow.cpp b/desktop-widgets/mainwindow.cpp
index c6624df..efe91bf 100644
--- a/desktop-widgets/mainwindow.cpp
+++ b/desktop-widgets/mainwindow.cpp
@@ -1723,6 +1723,8 @@ void MainWindow::importFiles(const QStringList fileNames)
void MainWindow::importTxtFiles(const QStringList fileNames)
{
+ QStringList csvFiles;
+
if (fileNames.isEmpty())
return;
@@ -1732,7 +1734,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();
--
2.5.0
More information about the subsurface
mailing list