[PATCH 1/2] Attempt to detect date format on CSV import
Miika Turkia
miika.turkia at gmail.com
Sun Jan 31 04:37:57 PST 2016
This tries to detect the date format when initially reading a CSV file
for importing.
Signed-off-by: Miika Turkia <miika.turkia at gmail.com>
---
desktop-widgets/divelogimportdialog.cpp | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/desktop-widgets/divelogimportdialog.cpp b/desktop-widgets/divelogimportdialog.cpp
index 5747f36..c99810a 100644
--- a/desktop-widgets/divelogimportdialog.cpp
+++ b/desktop-widgets/divelogimportdialog.cpp
@@ -493,8 +493,14 @@ void DiveLogImportDialog::loadFileContents(int value, whatChanged triggeredBy)
}
}
if (triggeredBy == INITIAL || (triggeredBy == KNOWNTYPES && value == MANUAL) || triggeredBy == SEPARATOR) {
+ int count = -1;
+ QString line = f.readLine().trimmed();
+ QStringList columns;
+ if (line.length() > 0)
+ columns = line.split(separator);
// now try and guess the columns
Q_FOREACH (QString columnText, currColumns) {
+ count++;
/*
* We have to skip the conversion of 2 to ₂ for APD Log
* viewer as that would mess up the sensor numbering. We
@@ -513,6 +519,15 @@ void DiveLogImportDialog::loadFileContents(int value, whatChanged triggeredBy)
provider->removeRow(idx);
headers.append(foundHeading);
matchedSome = true;
+ if (foundHeading == QString::fromLatin1("Date") && columns.count() >= count) {
+ QString date = columns.at(count);
+ if (date.contains('-')) {
+ ui->DateFormat->setCurrentText("yyyy-mm-dd");
+
+ } else if (date.contains('/')) {
+ ui->DateFormat->setCurrentText("mm/dd/yyyy");
+ }
+ }
} else {
headers.append("");
}
--
2.5.0
More information about the subsurface
mailing list