1 /* 2 SPDX-FileCopyrightText: 2014 Alex Merry <alex.merry@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 5 */ 6 7 #ifndef FORMAT_ENUM_H 8 #define FORMAT_ENUM_H 9 10 #include <QImage> 11 #include <QMetaEnum> 12 formatFromString(const QString & str)13QImage::Format formatFromString(const QString &str) 14 { 15 const QMetaEnum metaEnum = QMetaEnum::fromType<QImage::Format>(); 16 const QString enumString = QStringLiteral("Format_") + str; 17 18 bool ok; 19 const int res = metaEnum.keyToValue(enumString.toLatin1().constData(), &ok); 20 21 return ok ? static_cast<QImage::Format>(res) : QImage::Format_Invalid; 22 } 23 formatToString(QImage::Format format)24QString formatToString(QImage::Format format) 25 { 26 const QMetaEnum metaEnum = QMetaEnum::fromType<QImage::Format>(); 27 return QString::fromLatin1(metaEnum.valueToKey(format)).remove(QStringLiteral("Format_")); 28 } 29 30 #endif 31