summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Miika Turkia <miika.turkia@gmail.com>2016-05-05 09:26:10 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2016-05-05 07:27:31 -0700
commit74065ad8aabb0b43bb70df9ab3cc319dc21f9430 (patch)
tree7310cf28677d2592699abc8bbfa5e45c18231119
parentb2d2d13650b4536b70cddbfc0f7946821c7843e4 (diff)
downloadsubsurface-74065ad8aabb0b43bb70df9ab3cc319dc21f9430.tar.gz
Allow parsing of .txt files on import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--core/file.c2
-rw-r--r--desktop-widgets/mainwindow.cpp14
2 files changed, 14 insertions, 2 deletions
diff --git a/core/file.c b/core/file.c
index b9da21fb2..3e8041878 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 c6624df5a..efe91bf23 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();