diff options
Diffstat (limited to 'src/corelib/time/qcalendarbackend_p.h')
-rw-r--r-- | src/corelib/time/qcalendarbackend_p.h | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/src/corelib/time/qcalendarbackend_p.h b/src/corelib/time/qcalendarbackend_p.h index 21506e9e2c..129e86494b 100644 --- a/src/corelib/time/qcalendarbackend_p.h +++ b/src/corelib/time/qcalendarbackend_p.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 The Qt Company Ltd. +** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtCore module of the Qt Toolkit. @@ -56,23 +56,33 @@ #include <QtCore/qstringlist.h> #include <QtCore/qstring.h> #include <QtCore/qmap.h> +#include <QtCore/private/qlocale_p.h> QT_BEGIN_NAMESPACE // Locale-related parts, mostly handled in ../text/qlocale.cpp -struct QLocaleDataEntry { - quint16 index, size; -}; struct QCalendarLocale { quint16 m_language_id, m_script_id, m_country_id; + +#define rangeGetter(name) \ + QLocaleData::DataRange name() const { return { m_ ## name ## _idx, m_ ## name ## _size }; } + + rangeGetter(longMonthStandalone) rangeGetter(longMonth) + rangeGetter(shortMonthStandalone) rangeGetter(shortMonth) + rangeGetter(narrowMonthStandalone) rangeGetter(narrowMonth) +#undef rangeGetter + // Month name indexes: - QLocaleDataEntry m_standalone_short; - QLocaleDataEntry m_standalone_long; - QLocaleDataEntry m_standalone_narrow; - QLocaleDataEntry m_short; - QLocaleDataEntry m_long; - QLocaleDataEntry m_narrow; + quint16 m_longMonthStandalone_idx, m_longMonth_idx; + quint16 m_shortMonthStandalone_idx, m_shortMonth_idx; + quint16 m_narrowMonthStandalone_idx, m_narrowMonth_idx; + + // Twelve long month names (separated by commas) can add up to more than 256 + // QChars - e.g. kde_TZ gets to 264. + quint16 m_longMonthStandalone_size, m_longMonth_size; + quint8 m_shortMonthStandalone_size, m_shortMonth_size; + quint8 m_narrowMonthStandalone_size, m_narrowMonth_size; }; // Partial implementation, of methods with common forms, in qcalendar.cpp @@ -116,7 +126,7 @@ public: // Formatting of date-times (implemented in qlocale.cpp): virtual QString dateTimeToString(QStringView format, const QDateTime &datetime, - const QDate &dateOnly, const QTime &timeOnly, + QDate dateOnly, QTime timeOnly, const QLocale &locale) const; // Calendar enumeration by name: @@ -127,7 +137,7 @@ protected: // Locale support: virtual const QCalendarLocale *localeMonthIndexData() const = 0; - virtual const ushort *localeMonthData() const = 0; + virtual const char16_t *localeMonthData() const = 0; bool registerAlias(const QString &name); |