summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Dirk Hohndel <dirk@hohndel.org>2017-04-15 18:51:03 -0700
committerGravatar Dirk Hohndel <dirk@hohndel.org>2017-04-16 07:43:48 -0700
commit03b2b854bf557ed8ca18b20065ee01cb5e1a424f (patch)
treebd286410352811682a6307eef7f1b19d876a7e05
parentf2d88619c58b748f0db20fdd2887d276ef79b0c1 (diff)
downloadsubsurface-03b2b854bf557ed8ca18b20065ee01cb5e1a424f.tar.gz
QML UI: correctly parse manually edited date
We need to set the timeSpec after the QDateTime was parsed, otherwise it gets converted to localtime again. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--mobile-widgets/qmlmanager.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/mobile-widgets/qmlmanager.cpp b/mobile-widgets/qmlmanager.cpp
index ea90660c5..d53e5357a 100644
--- a/mobile-widgets/qmlmanager.cpp
+++ b/mobile-widgets/qmlmanager.cpp
@@ -589,7 +589,6 @@ bool QMLManager::checkDate(DiveObjectHelper *myDive, struct dive * d, QString da
QString oldDate = myDive->date() + " " + myDive->time();
if (date != oldDate) {
QDateTime newDate;
- newDate.setTimeSpec(Qt::UTC);
// what a pain - Qt will not parse dates if the day of the week is incorrect
// so if the user changed the date but didn't update the day of the week (most likely behavior, actually),
// we need to make sure we don't try to parse that
@@ -603,7 +602,9 @@ bool QMLManager::checkDate(DiveObjectHelper *myDive, struct dive * d, QString da
format.replace(dateFormatToDrop, "");
date.replace(drop, "");
}
+ // set date from string and make sure it's treated as UTC (like all our time stamps)
newDate = QDateTime::fromString(date, format);
+ newDate.setTimeSpec(Qt::UTC);
if (!newDate.isValid()) {
qDebug() << "unable to parse date" << date << "with the given format" << format;
QRegularExpression isoDate("\\d+-\\d+-\\d+[^\\d]+\\d+:\\d+");