diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2024-01-26 12:12:22 +0100 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2024-01-31 15:19:50 +0100 |
commit | 534e836b69b2f8c5f779b66b05c01bb00b9233f1 (patch) | |
tree | bfc26cd08f9e7252aa62fd0866a909b0e95a2ac0 /src/corelib/time | |
parent | 609a9bc93967403726d0139bbf63162cb61d3fa2 (diff) |
QDate(Time)?::toString(): eliminate QCalendar() defaults
Since QCalendar is non-trivial, parameters of this type should not
have a default in the declaration; better to have an overload set with
the calendar-less overload out-of-line passing the default.
This actually restores signatures that existed previously, but that
were merged with the QCalendar-taking overloads at Qt 6.
Pick-to: 6.7
Fixes: QTBUG-121528
Change-Id: Ib10ced67a2398108a31c7e95d5e865b7959bed4d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/time')
-rw-r--r-- | src/corelib/time/qdatetime.cpp | 38 | ||||
-rw-r--r-- | src/corelib/time/qdatetime.h | 12 |
2 files changed, 46 insertions, 4 deletions
diff --git a/src/corelib/time/qdatetime.cpp b/src/corelib/time/qdatetime.cpp index 1f401948cc..7d11605671 100644 --- a/src/corelib/time/qdatetime.cpp +++ b/src/corelib/time/qdatetime.cpp @@ -1297,6 +1297,25 @@ QString QDate::toString(QStringView format, QCalendar cal) const { return QLocale::c().toString(*this, format, cal); } + +// Out-of-line no-calendar overloads, since QCalendar is a non-trivial type +/*! + \overload + \since 5.10 +*/ +QString QDate::toString(QStringView format) const +{ + return QLocale::c().toString(*this, format, QCalendar()); +} + +/*! + \overload + \since 4.6 +*/ +QString QDate::toString(const QString &format) const +{ + return QLocale::c().toString(*this, qToStringViewIgnoringNull(format), QCalendar()); +} #endif // datestring /*! @@ -4689,6 +4708,25 @@ QString QDateTime::toString(QStringView format, QCalendar cal) const { return QLocale::c().toString(*this, format, cal); } + +// Out-of-line no-calendar overloads, since QCalendar is a non-trivial type +/*! + \overload + \since 5.10 +*/ +QString QDateTime::toString(QStringView format) const +{ + return QLocale::c().toString(*this, format, QCalendar()); +} + +/*! + \overload + \since 4.6 +*/ +QString QDateTime::toString(const QString &format) const +{ + return QLocale::c().toString(*this, qToStringViewIgnoringNull(format), QCalendar()); +} #endif // datestring static inline void massageAdjustedDateTime(QDateTimeData &d, QDate date, QTime time, bool forward) diff --git a/src/corelib/time/qdatetime.h b/src/corelib/time/qdatetime.h index cec7771a8d..1474e2c6f4 100644 --- a/src/corelib/time/qdatetime.h +++ b/src/corelib/time/qdatetime.h @@ -102,9 +102,11 @@ public: #if QT_CONFIG(datestring) QString toString(Qt::DateFormat format = Qt::TextDate) const; - QString toString(const QString &format, QCalendar cal = QCalendar()) const + QString toString(const QString &format) const; + QString toString(const QString &format, QCalendar cal) const { return toString(qToStringViewIgnoringNull(format), cal); } - QString toString(QStringView format, QCalendar cal = QCalendar()) const; + QString toString(QStringView format) const; + QString toString(QStringView format, QCalendar cal) const; #endif bool setDate(int year, int month, int day); // Gregorian-optimized bool setDate(int year, int month, int day, QCalendar cal); @@ -409,9 +411,11 @@ public: #if QT_CONFIG(datestring) QString toString(Qt::DateFormat format = Qt::TextDate) const; - QString toString(const QString &format, QCalendar cal = QCalendar()) const + QString toString(const QString &format) const; + QString toString(const QString &format, QCalendar cal) const { return toString(qToStringViewIgnoringNull(format), cal); } - QString toString(QStringView format, QCalendar cal = QCalendar()) const; + QString toString(QStringView format) const; + QString toString(QStringView format, QCalendar cal) const; #endif [[nodiscard]] QDateTime addDays(qint64 days) const; [[nodiscard]] QDateTime addMonths(int months) const; |