[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