summaryrefslogtreecommitdiffstats
path: root/src/corelib/text/qlocale_win.cpp
diff options
context:
space:
mode:
authorIvan Solovev <ivan.solovev@qt.io>2021-09-14 12:39:41 +0200
committerIvan Solovev <ivan.solovev@qt.io>2021-09-15 10:29:55 +0200
commit61343b5a3f10f5b9166729176d4b95a4c538c278 (patch)
tree1adbfa95019286dffea81995957fd768d7bc6f41 /src/corelib/text/qlocale_win.cpp
parent05d336620cf87fbffc07f2df15e1ba5aeea7ef71 (diff)
Teach QLocale::system() to use narrow format
QLocale::system() was not making use of QLocaleFormat::Narrow, always treating it in the same way as QLocaleFormat::Short. This patch fixes the issue for day and month names. The implementation falls back to CLDR if system locale fails to provide some data. Pick-to: 6.2 Task-number: QTBUG-84877 Change-Id: Ia37e59dbf02d7a5e230f2767d294b9ab7de37f33 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/corelib/text/qlocale_win.cpp')
-rw-r--r--src/corelib/text/qlocale_win.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/corelib/text/qlocale_win.cpp b/src/corelib/text/qlocale_win.cpp
index f3e02c0440..ef41eb6bd2 100644
--- a/src/corelib/text/qlocale_win.cpp
+++ b/src/corelib/text/qlocale_win.cpp
@@ -757,8 +757,11 @@ QVariant QSystemLocale::query(QueryType type, QVariant in) const
return d->dayName(in.toInt(), QLocale::LongFormat);
case DayNameShort:
return d->dayName(in.toInt(), QLocale::ShortFormat);
+ case DayNameNarrow:
+ return d->dayName(in.toInt(), QLocale::NarrowFormat);
case StandaloneDayNameLong:
case StandaloneDayNameShort:
+ case StandaloneDayNameNarrow:
// Windows does not provide standalone day names, so fall back to CLDR
return QVariant();
case MonthNameLong:
@@ -769,6 +772,10 @@ QVariant QSystemLocale::query(QueryType type, QVariant in) const
return d->monthName(in.toInt(), QLocale::ShortFormat);
case StandaloneMonthNameShort:
return d->standaloneMonthName(in.toInt(), QLocale::ShortFormat);
+ case MonthNameNarrow:
+ case StandaloneMonthNameNarrow:
+ // Windows provides no narrow month names, so we fall back to CLDR
+ return QVariant();
case DateToStringShort:
return d->toString(in.toDate(), QLocale::ShortFormat);
case DateToStringLong: