From 4e11f40c1a91648f9c5d293e9a34ec719bc4e321 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 19 Oct 2022 16:36:00 -0700 Subject: [PATCH] QMetaType: add conversion from charXX_t to QString Change-Id: I3c79b7e08fa346988dfefffd171f9c97384af5d0 Reviewed-by: Fabian Kosmale --- src/corelib/kernel/qmetatype.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index ae56de118c..633a5fecaa 100644 --- a/src/corelib/kernel/qmetatype.cpp +++ b/src/corelib/kernel/qmetatype.cpp @@ -1017,6 +1017,8 @@ static constexpr struct : QMetaTypeModuleHelper using Double = double; using Bool = bool; using Nullptr = std::nullptr_t; + using Char16 = char16_t; + using Char32 = char32_t; #define QMETATYPE_CONVERTER_ASSIGN_DOUBLE(To, From) \ QMETATYPE_CONVERTER(To, From, result = double(source); return true;) @@ -1208,6 +1210,14 @@ static constexpr struct : QMetaTypeModuleHelper result = QString::fromLatin1(&s, 1); return true; ); + QMETATYPE_CONVERTER(QString, Char16, + result = QChar(source); + return true; + ); + QMETATYPE_CONVERTER(QString, Char32, + result = QChar::fromUcs4(source).operator QStringView().toString(); + return true; + ); #if QT_CONFIG(datestring) QMETATYPE_CONVERTER(QString, QDate, result = source.toString(Qt::ISODate); return true;); QMETATYPE_CONVERTER(QString, QTime, result = source.toString(Qt::ISODateWithMs); return true;);