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)13 QImage::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)24 QString 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