diff options
Diffstat (limited to 'src/corelib/time/qcalendarbackend_p.h')
-rw-r--r-- | src/corelib/time/qcalendarbackend_p.h | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/src/corelib/time/qcalendarbackend_p.h b/src/corelib/time/qcalendarbackend_p.h index 21506e9e2c..ea837a4804 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 @@ -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); |