Add a ValidWhenMask to QDateTimePrivate::StatusFlag
This saves some repetition of verbose status-setting code. At the same time, save the function that uses it a repeated getStatus() call hidden inside its getSpec() by inlining getSpec(). Change-Id: I32aee521c1885408f822ecb47ab1ed76f92852a1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
e33b0d4bb0
commit
42500dd9ca
@ -3839,23 +3839,17 @@ qint64 QDateTime::toSecsSinceEpoch() const
|
|||||||
*/
|
*/
|
||||||
void QDateTime::setMSecsSinceEpoch(qint64 msecs)
|
void QDateTime::setMSecsSinceEpoch(qint64 msecs)
|
||||||
{
|
{
|
||||||
const auto spec = getSpec(d);
|
|
||||||
auto status = getStatus(d);
|
auto status = getStatus(d);
|
||||||
|
const auto spec = extractSpec(status);
|
||||||
|
|
||||||
status &= ~QDateTimePrivate::ValidityMask;
|
status &= ~QDateTimePrivate::ValidityMask;
|
||||||
switch (spec) {
|
switch (spec) {
|
||||||
case Qt::UTC:
|
case Qt::UTC:
|
||||||
status = status
|
status |= QDateTimePrivate::ValidWhenMask;
|
||||||
| QDateTimePrivate::ValidDate
|
|
||||||
| QDateTimePrivate::ValidTime
|
|
||||||
| QDateTimePrivate::ValidDateTime;
|
|
||||||
break;
|
break;
|
||||||
case Qt::OffsetFromUTC:
|
case Qt::OffsetFromUTC:
|
||||||
msecs = msecs + (d->m_offsetFromUtc * 1000);
|
msecs = msecs + (d->m_offsetFromUtc * 1000);
|
||||||
status = status
|
status |= QDateTimePrivate::ValidWhenMask;
|
||||||
| QDateTimePrivate::ValidDate
|
|
||||||
| QDateTimePrivate::ValidTime
|
|
||||||
| QDateTimePrivate::ValidDateTime;
|
|
||||||
break;
|
break;
|
||||||
case Qt::TimeZone:
|
case Qt::TimeZone:
|
||||||
Q_ASSERT(!d.isShort());
|
Q_ASSERT(!d.isShort());
|
||||||
@ -3876,10 +3870,7 @@ void QDateTime::setMSecsSinceEpoch(qint64 msecs)
|
|||||||
d->m_offsetFromUtc = d->m_timeZone.d->standardTimeOffset(msecs);
|
d->m_offsetFromUtc = d->m_timeZone.d->standardTimeOffset(msecs);
|
||||||
}
|
}
|
||||||
msecs = msecs + (d->m_offsetFromUtc * 1000);
|
msecs = msecs + (d->m_offsetFromUtc * 1000);
|
||||||
status = status
|
status |= QDateTimePrivate::ValidWhenMask;
|
||||||
| QDateTimePrivate::ValidDate
|
|
||||||
| QDateTimePrivate::ValidTime
|
|
||||||
| QDateTimePrivate::ValidDateTime;
|
|
||||||
#endif // timezone
|
#endif // timezone
|
||||||
break;
|
break;
|
||||||
case Qt::LocalTime: {
|
case Qt::LocalTime: {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2016 The Qt Company Ltd.
|
** Copyright (C) 2020 The Qt Company Ltd.
|
||||||
** Copyright (C) 2016 Intel Corporation.
|
** Copyright (C) 2016 Intel Corporation.
|
||||||
** Contact: https://www.qt.io/licensing/
|
** Contact: https://www.qt.io/licensing/
|
||||||
**
|
**
|
||||||
@ -96,6 +96,7 @@ public:
|
|||||||
ValidDate = 0x02,
|
ValidDate = 0x02,
|
||||||
ValidTime = 0x04,
|
ValidTime = 0x04,
|
||||||
ValidDateTime = 0x08,
|
ValidDateTime = 0x08,
|
||||||
|
ValidWhenMask = ValidDate | ValidTime | ValidDateTime,
|
||||||
|
|
||||||
TimeSpecMask = 0x30,
|
TimeSpecMask = 0x30,
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user