From bd5fe6f385daebd0e9156c80508095e47f53a693 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Thu, 23 Jan 2020 18:03:32 +0100 Subject: Merge some QDateTime methods marked for merging New methods added that can take default arguments to make old methods redundant, now that we can break binary compatibility. Change-Id: Iface9d91d4636965285a3ad0c5347fcd7ce5398c Reviewed-by: Qt CI Bot Reviewed-by: Thiago Macieira --- src/corelib/time/qdatetime.cpp | 76 ++++-------------------------------------- src/corelib/time/qdatetime.h | 49 +++++++++++++-------------- 2 files changed, 30 insertions(+), 95 deletions(-) (limited to 'src/corelib/time') diff --git a/src/corelib/time/qdatetime.cpp b/src/corelib/time/qdatetime.cpp index 4801fddb79..2e4757b525 100644 --- a/src/corelib/time/qdatetime.cpp +++ b/src/corelib/time/qdatetime.cpp @@ -1062,7 +1062,7 @@ QString QDate::toString(Qt::DateFormat format) const switch (format) { case Qt::RFC2822Date: - return QLocale::c().toString(*this, QStringView(u"dd MMM yyyy")); + return QLocale::c().toString(*this, u"dd MMM yyyy"); default: case Qt::TextDate: return toStringTextDate(*this); @@ -1074,9 +1074,7 @@ QString QDate::toString(Qt::DateFormat format) const } /*! - \fn QString QDate::toString(const QString &format) const \fn QString QDate::toString(const QString &format, QCalendar cal) const - \fn QString QDate::toString(QStringView format) const \fn QString QDate::toString(QStringView format, QCalendar cal) const Returns the date as a string. The \a format parameter determines the format @@ -1130,22 +1128,12 @@ QString QDate::toString(Qt::DateFormat format) const \sa fromString(), QDateTime::toString(), QTime::toString(), QLocale::toString() */ -QString QDate::toString(QStringView format) const -{ - return toString(format, QCalendar()); -} - QString QDate::toString(QStringView format, QCalendar cal) const { return QLocale::c().toString(*this, format, cal); } #if QT_STRINGVIEW_LEVEL < 2 -QString QDate::toString(const QString &format) const -{ - return toString(qToStringViewIgnoringNull(format), QCalendar()); -} - QString QDate::toString(const QString &format, QCalendar cal) const { return toString(qToStringViewIgnoringNull(format), cal); @@ -1518,6 +1506,8 @@ QDate QDate::fromString(const QString &string, Qt::DateFormat format) } /*! + \fn QDate QDate::fromString(const QString &string, const QString &format, QCalendar cal) + Returns the QDate represented by the \a string, using the \a format given, or an invalid date if the string cannot be parsed. @@ -1599,15 +1589,6 @@ QDate QDate::fromString(const QString &string, const QString &format, QCalendar #endif return date; } - -/*! - \overload -*/ - -QDate QDate::fromString(const QString &string, const QString &format) -{ - return fromString(string, format, QCalendar()); -} #endif // datestring /*! @@ -3935,7 +3916,6 @@ void QDateTime::setSecsSinceEpoch(qint64 secs) \sa fromString(), QDate::toString(), QTime::toString(), QLocale::toString() */ - QString QDateTime::toString(Qt::DateFormat format) const { QString buf; @@ -3943,11 +3923,10 @@ QString QDateTime::toString(Qt::DateFormat format) const return buf; switch (format) { - case Qt::RFC2822Date: { + case Qt::RFC2822Date: buf = QLocale::c().toString(*this, u"dd MMM yyyy hh:mm:ss "); buf += toOffsetString(Qt::TextDate, offsetFromUtc()); return buf; - } default: case Qt::TextDate: { const QPair p = getDateTime(d); @@ -3997,9 +3976,7 @@ QString QDateTime::toString(Qt::DateFormat format) const } /*! - \fn QString QDateTime::toString(const QString &format) const \fn QString QDateTime::toString(const QString &format, QCalendar cal) const - \fn QString QDateTime::toString(QStringView format) const \fn QString QDateTime::toString(QStringView format, QCalendar cal) const Returns the datetime as a string. The \a format parameter determines the @@ -4039,28 +4016,17 @@ QString QDateTime::toString(Qt::DateFormat format) const \sa fromString(), QDate::toString(), QTime::toString(), QLocale::toString() */ -QString QDateTime::toString(QStringView format) const -{ - return toString(format, QCalendar()); -} - QString QDateTime::toString(QStringView format, QCalendar cal) const { return QLocale::c().toString(*this, format, cal); } -#if QT_STRINGVIEW_LEVEL < 2 -QString QDateTime::toString(const QString &format) const -{ - return toString(qToStringViewIgnoringNull(format), QCalendar()); -} - +# if QT_STRINGVIEW_LEVEL < 2 QString QDateTime::toString(const QString &format, QCalendar cal) const { return toString(qToStringViewIgnoringNull(format), cal); } -#endif - +# endif #endif // datestring static inline void massageAdjustedDateTime(const QDateTimeData &d, QDate *date, QTime *time) @@ -4595,27 +4561,6 @@ qint64 QDateTime::currentSecsSinceEpoch() noexcept #endif /*! - \since 4.7 - - Returns a datetime whose date and time are the number of milliseconds, \a msecs, - that have passed since 1970-01-01T00:00:00.000, Coordinated Universal - Time (Qt::UTC), and converted to Qt::LocalTime. On systems that do not - support time zones, the time will be set as if local time were Qt::UTC. - - Note that there are possible values for \a msecs that lie outside the valid - range of QDateTime, both negative and positive. The behavior of this - function is undefined for those values. - - \sa toMSecsSinceEpoch(), setMSecsSinceEpoch() -*/ -QDateTime QDateTime::fromMSecsSinceEpoch(qint64 msecs) -{ - return fromMSecsSinceEpoch(msecs, Qt::LocalTime); -} - -/*! - \since 5.2 - Returns a datetime whose date and time are the number of milliseconds \a msecs that have passed since 1970-01-01T00:00:00.000, Coordinated Universal Time (Qt::UTC) and converted to the given \a spec. @@ -4989,15 +4934,6 @@ QDateTime QDateTime::fromString(const QString &string, const QString &format, QC return QDateTime(); } -/* - \overload -*/ - -QDateTime QDateTime::fromString(const QString &string, const QString &format) -{ - return fromString(string, format, QCalendar()); -} - #endif // datestring /*! \fn QDateTime QDateTime::toLocalTime() const diff --git a/src/corelib/time/qdatetime.h b/src/corelib/time/qdatetime.h index 52231e876e..5a8e1aecd8 100644 --- a/src/corelib/time/qdatetime.h +++ b/src/corelib/time/qdatetime.h @@ -44,6 +44,7 @@ #include #include #include +#include #include @@ -54,7 +55,6 @@ Q_FORWARD_DECLARE_OBJC_CLASS(NSDate); QT_BEGIN_NAMESPACE -class QCalendar; class QTimeZone; class QDateTime; @@ -69,6 +69,7 @@ public: Q_DECL_CONSTEXPR bool isNull() const { return !isValid(); } Q_DECL_CONSTEXPR bool isValid() const { return jd >= minJd() && jd <= maxJd(); } + // Gregorian-optimized: int year() const; int month() const; int day() const; @@ -76,7 +77,7 @@ public: int dayOfYear() const; int daysInMonth() const; int daysInYear() const; - int weekNumber(int *yearNum = nullptr) const; + int weekNumber(int *yearNum = nullptr) const; // ISO 8601, always Gregorian int year(QCalendar cal) const; int month(QCalendar cal) const; @@ -95,21 +96,18 @@ public: #if QT_CONFIG(datestring) QString toString(Qt::DateFormat format = Qt::TextDate) const; - -#if QT_STRINGVIEW_LEVEL < 2 - QString toString(const QString &format) const; - QString toString(const QString &format, QCalendar cal) const; -#endif - - QString toString(QStringView format) const; - QString toString(QStringView format, QCalendar cal) const; +# if QT_STRINGVIEW_LEVEL < 2 + QString toString(const QString &format, QCalendar cal = QCalendar()) const; +# endif + QString toString(QStringView format, QCalendar cal = QCalendar()) const; #endif - bool setDate(int year, int month, int day); + bool setDate(int year, int month, int day); // Gregorian-optimized bool setDate(int year, int month, int day, QCalendar cal); void getDate(int *year, int *month, int *day) const; Q_REQUIRED_RESULT QDate addDays(qint64 days) const; + // Gregorian-optimized: Q_REQUIRED_RESULT QDate addMonths(int months) const; Q_REQUIRED_RESULT QDate addYears(int years) const; Q_REQUIRED_RESULT QDate addMonths(int months, QCalendar cal) const; @@ -125,9 +123,12 @@ public: static QDate currentDate(); #if QT_CONFIG(datestring) + static QDate fromString(QStringView s, Qt::DateFormat f = Qt::TextDate); + static QDate fromString(QStringView s, QStringView format, QCalendar cal = QCalendar()); +# if QT_STRINGVIEW_LEVEL < 2 static QDate fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); - static QDate fromString(const QString &s, const QString &format); - static QDate fromString(const QString &s, const QString &format, QCalendar cal); + static QDate fromString(const QString &s, const QString &format, QCalendar cal = QCalendar()); +# endif #endif static bool isValid(int y, int m, int d); static bool isLeapYear(int year); @@ -299,12 +300,10 @@ public: #if QT_CONFIG(datestring) QString toString(Qt::DateFormat format = Qt::TextDate) const; -#if QT_STRINGVIEW_LEVEL < 2 - QString toString(const QString &format) const; - QString toString(const QString &format, QCalendar cal) const; -#endif - QString toString(QStringView format) const; - QString toString(QStringView format, QCalendar cal) const; +# if QT_STRINGVIEW_LEVEL < 2 + QString toString(const QString &format, QCalendar cal = QCalendar()) const; +# endif + QString toString(QStringView format, QCalendar cal = QCalendar()) const; #endif Q_REQUIRED_RESULT QDateTime addDays(qint64 days) const; Q_REQUIRED_RESULT QDateTime addMonths(int months) const; @@ -335,14 +334,14 @@ public: static QDateTime currentDateTimeUtc(); #if QT_CONFIG(datestring) static QDateTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate); - static QDateTime fromString(const QString &s, const QString &format); - static QDateTime fromString(const QString &s, const QString &format, QCalendar cal); + static QDateTime fromString(const QString &s, const QString &format, + QCalendar cal = QCalendar()); #endif - static QDateTime fromMSecsSinceEpoch(qint64 msecs); - // ### Qt 6: Merge with above with default spec = Qt::LocalTime - static QDateTime fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec, int offsetFromUtc = 0); - static QDateTime fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spe = Qt::LocalTime, int offsetFromUtc = 0); + static QDateTime fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec = Qt::LocalTime, + int offsetFromUtc = 0); + static QDateTime fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spe = Qt::LocalTime, + int offsetFromUtc = 0); #if QT_CONFIG(timezone) static QDateTime fromMSecsSinceEpoch(qint64 msecs, const QTimeZone &timeZone); -- cgit v1.2.3