qimagereaderwriterhelpers: deduplicate literal

Extract literal to constexpr function and reuse it

Change-Id: I0a1ec24cb67e413222c826f2f26d78e16459ff8c
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
bb10
Anton Kudryavtsev 2023-08-28 17:59:59 +03:00 committed by Anton Kudryavtsev
parent 3e62ecbc25
commit 28aee90093
1 changed files with 5 additions and 3 deletions

View File

@ -97,12 +97,14 @@ QList<QByteArray> supportedImageFormats(Capability cap)
return formats;
}
static constexpr QByteArrayView imagePrefix() noexcept { return "image/"; }
QList<QByteArray> supportedMimeTypes(Capability cap)
{
QList<QByteArray> mimeTypes;
mimeTypes.reserve(_qt_NumFormats);
for (const auto &fmt : _qt_BuiltInFormats)
mimeTypes.append(QByteArrayLiteral("image/") + fmt.mimeType);
mimeTypes.append(imagePrefix() + fmt.mimeType);
#ifndef QT_NO_IMAGEFORMATPLUGIN
appendImagePluginMimeTypes(irhLoader(), pluginCapability(cap), &mimeTypes);
@ -116,8 +118,8 @@ QList<QByteArray> supportedMimeTypes(Capability cap)
QList<QByteArray> imageFormatsForMimeType(QByteArrayView mimeType, Capability cap)
{
QList<QByteArray> formats;
if (mimeType.startsWith("image/")) {
const QByteArrayView type = mimeType.mid(sizeof("image/") - 1);
if (mimeType.startsWith(imagePrefix())) {
const QByteArrayView type = mimeType.mid(imagePrefix().size());
for (const auto &fmt : _qt_BuiltInFormats) {
if (fmt.mimeType == type && !formats.contains(fmt.extension))
formats << fmt.extension;