QMetaType: add conversion from charXX_t to QString

Change-Id: I3c79b7e08fa346988dfefffd171f9c97384af5d0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
bb10
Thiago Macieira 2022-10-19 16:36:00 -07:00
parent a78938e0f6
commit 4e11f40c1a
1 changed files with 10 additions and 0 deletions

View File

@ -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;);