From 1ae5b3628d0858221542993331ede4c3ee7b3630 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 26 Jan 2022 09:09:53 +0100 Subject: [PATCH] QCalendar: replace two overloads with one QAnyStringView function The backend was already ported, so this is just about applying QT_REMOVED_SINCE and updating the docs. Change-Id: I2c78908deb9cdb3cee19ce8bc148ab3117c1ad9a Reviewed-by: Qt CI Bot Reviewed-by: Edward Welbourne --- src/corelib/compat/removed_api.cpp | 8 ++++++++ src/corelib/time/qcalendar.cpp | 14 +++++--------- src/corelib/time/qcalendar.h | 5 +++-- 3 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/corelib/compat/removed_api.cpp b/src/corelib/compat/removed_api.cpp index 231b03c3172..d21813bbacf 100644 --- a/src/corelib/compat/removed_api.cpp +++ b/src/corelib/compat/removed_api.cpp @@ -145,6 +145,14 @@ int QOperatingSystemVersion::compare(const QOperatingSystemVersion &v1, #if QT_REMOVED_SINCE(6, 4) +#include "qcalendar.h" + +QCalendar::QCalendar(QStringView name) + : QCalendar(QAnyStringView{name}) {} + +QCalendar::QCalendar(QLatin1String name) + : QCalendar(QAnyStringView{name}) {} + #include "qversionnumber.h" QT_WARNING_PUSH diff --git a/src/corelib/time/qcalendar.cpp b/src/corelib/time/qcalendar.cpp index 9ef7216514d..3c82759b196 100644 --- a/src/corelib/time/qcalendar.cpp +++ b/src/corelib/time/qcalendar.cpp @@ -1169,8 +1169,7 @@ const QCalendarBackend *QCalendarBackend::gregorian() /*! \fn QCalendar::QCalendar() \fn QCalendar::QCalendar(QCalendar::System system) - \fn QCalendar::QCalendar(QLatin1String name) - \fn QCalendar::QCalendar(QStringView name) + \fn QCalendar::QCalendar(QAnyStringView name) Constructs a calendar object. @@ -1180,6 +1179,9 @@ const QCalendarBackend *QCalendarBackend::gregorian() calendar being constructed by other means first. With no argument, the default constructor returns the Gregorian calendar. + \note In Qt versions before 6.4, the constructor by \a name accepted only + QStringView and QLatin1String, not QAnyStringView. + \sa QCalendar, System, isValid() */ @@ -1213,13 +1215,7 @@ QCalendar::QCalendar(QCalendar::SystemId id) Q_ASSERT(!d_ptr || d_ptr->calendarId().index() == id.index()); } -QCalendar::QCalendar(QLatin1String name) - : d_ptr(QCalendarBackend::fromName(name)) -{ - Q_ASSERT(!d_ptr || d_ptr->calendarId().isValid()); -} - -QCalendar::QCalendar(QStringView name) +QCalendar::QCalendar(QAnyStringView name) : d_ptr(QCalendarBackend::fromName(name)) { Q_ASSERT(!d_ptr || d_ptr->calendarId().isValid()); diff --git a/src/corelib/time/qcalendar.h b/src/corelib/time/qcalendar.h index 3238fff7d84..adfbc66ffb3 100644 --- a/src/corelib/time/qcalendar.h +++ b/src/corelib/time/qcalendar.h @@ -146,10 +146,11 @@ public: explicit QCalendar(); // Gregorian, optimised explicit QCalendar(System system); - // ### Qt 7: remove +#if QT_REMOVED_SINCE(6, 4) explicit QCalendar(QLatin1String name); - // ### Qt 7: use QAnyStringView explicit QCalendar(QStringView name); +#endif + explicit QCalendar(QAnyStringView name); explicit QCalendar(SystemId id); // QCalendar is a trivially copyable value type.