summaryrefslogtreecommitdiffstats
path: root/src/corelib/time
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2024-01-26 12:12:22 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2024-01-31 15:19:50 +0100
commit534e836b69b2f8c5f779b66b05c01bb00b9233f1 (patch)
treebfc26cd08f9e7252aa62fd0866a909b0e95a2ac0 /src/corelib/time
parent609a9bc93967403726d0139bbf63162cb61d3fa2 (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.cpp38
-rw-r--r--src/corelib/time/qdatetime.h12
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;