diff options
author | evgfilim1 <evgfilim1@yandex.ru> | 2021-12-03 18:53:42 +0300 |
---|---|---|
committer | Jonathan White <support@dmapps.us> | 2021-12-03 20:07:18 +0300 |
commit | b3896f260048551d1d08245f85038182cb5e303b (patch) | |
tree | 68a4005716e01cfc6fe3338c5274061749c97135 | |
parent | d8c62f8eba55653708f168372d35b04b789aa87a (diff) |
Add simple detection of timestamp resolution
Set access time equal to modification time
-rw-r--r-- | src/gui/csvImport/CsvImportWidget.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/gui/csvImport/CsvImportWidget.cpp b/src/gui/csvImport/CsvImportWidget.cpp index 61319eea1..a3a30e4c3 100644 --- a/src/gui/csvImport/CsvImportWidget.cpp +++ b/src/gui/csvImport/CsvImportWidget.cpp @@ -225,18 +225,29 @@ void CsvImportWidget::writeDatabase() if (m_parserModel->data(m_parserModel->index(r, 8)).isValid()) { auto datetime = m_parserModel->data(m_parserModel->index(r, 8)).toString(); if (datetime.contains(QRegularExpression("^\\d+$"))) { - timeInfo.setLastModificationTime(Clock::datetimeUtc(datetime.toLongLong() * 1000)); + auto t = datetime.toLongLong(); + if (t <= INT32_MAX) { + t *= 1000; + } + auto lastModified = Clock::datetimeUtc(t); + timeInfo.setLastModificationTime(lastModified); + timeInfo.setLastAccessTime(lastModified); } else { auto lastModified = QDateTime::fromString(datetime, Qt::ISODate); if (lastModified.isValid()) { timeInfo.setLastModificationTime(lastModified); + timeInfo.setLastAccessTime(lastModified); } } } if (m_parserModel->data(m_parserModel->index(r, 9)).isValid()) { auto datetime = m_parserModel->data(m_parserModel->index(r, 9)).toString(); if (datetime.contains(QRegularExpression("^\\d+$"))) { - timeInfo.setCreationTime(Clock::datetimeUtc(datetime.toLongLong() * 1000)); + auto t = datetime.toLongLong(); + if (t <= INT32_MAX) { + t *= 1000; + } + timeInfo.setCreationTime(Clock::datetimeUtc(t)); } else { auto created = QDateTime::fromString(datetime, Qt::ISODate); if (created.isValid()) { |