summaryrefslogtreecommitdiffstats
path: root/src/corelib/time/qcalendarbackend_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/time/qcalendarbackend_p.h')
-rw-r--r--src/corelib/time/qcalendarbackend_p.h34
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);