diff options
author | Miika Turkia <miika.turkia@gmail.com> | 2016-01-31 14:37:57 +0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2016-01-31 11:21:04 -0800 |
commit | d9072cdefdd00bfddc28d40349fac1c48b2d58a4 (patch) | |
tree | 600a594bf888fa9b858d45ab09a67a74af628b0e | |
parent | 16c082112c6d057d734d4765b466e315389ce694 (diff) | |
download | subsurface-d9072cdefdd00bfddc28d40349fac1c48b2d58a4.tar.gz |
Attempt to detect date format on CSV import
This tries to detect the date format when initially reading a CSV file
for importing.
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | desktop-widgets/divelogimportdialog.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/desktop-widgets/divelogimportdialog.cpp b/desktop-widgets/divelogimportdialog.cpp index 5747f3652..c99810a20 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(""); } |