From 3c83b2218b1e6806427f06585ed3fab2f5ee3641 Mon Sep 17 00:00:00 2001 From: Miika Turkia Date: Sun, 31 Jan 2016 14:37:57 +0200 Subject: 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 Signed-off-by: Dirk Hohndel --- qt-ui/divelogimportdialog.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'qt-ui/divelogimportdialog.cpp') diff --git a/qt-ui/divelogimportdialog.cpp b/qt-ui/divelogimportdialog.cpp index 025d181d1..e6b3b9a5c 100644 --- a/qt-ui/divelogimportdialog.cpp +++ b/qt-ui/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(""); } -- cgit v1.2.3-70-g09d2