diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-02-21 20:21:30 +0100 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2021-02-22 10:16:15 +0000 |
commit | e00084410c53aeaf5e2264b3cfeccd0ef479e4f7 (patch) | |
tree | e514490d374ff17da1db74d61a73ad8811cd973c /src | |
parent | 83275df38d691ad78278d23042de01cc4b48ef22 (diff) |
qt6: fix deprecation warnings about QVariant::*convert
Change-Id: I29f72da92a471de0da3b20a5e1a604e535a46dd3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/corelib/language/moduleloader.cpp | 2 | ||||
-rw-r--r-- | src/lib/corelib/tools/jsliterals.cpp | 3 | ||||
-rw-r--r-- | src/lib/corelib/tools/qttools.h | 19 |
3 files changed, 22 insertions, 2 deletions
diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index 591a3df34..b059976be 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -3247,7 +3247,7 @@ static QVariant convertToPropertyType(const QVariant &v, PropertyDeclaration::Ty return v.toString().split(QLatin1Char(',')); QVariant c = v; - if (!c.convert(vt)) { + if (!qVariantConvert(c, vt)) { QStringList name = namePrefix; name << key; throw ErrorInfo(Tr::tr("Value '%1' of property '%2' has incompatible type.") diff --git a/src/lib/corelib/tools/jsliterals.cpp b/src/lib/corelib/tools/jsliterals.cpp index bc6112a27..647bdc640 100644 --- a/src/lib/corelib/tools/jsliterals.cpp +++ b/src/lib/corelib/tools/jsliterals.cpp @@ -40,6 +40,7 @@ #include "jsliterals.h" #include <tools/stringconstants.h> +#include <tools/qttools.h> #include <QtCore/qregularexpression.h> @@ -99,7 +100,7 @@ QString toJSLiteral(const QVariant &val) } if (val.userType() == QMetaType::Bool) return toJSLiteral(val.toBool()); - if (val.canConvert(QMetaType::QString)) + if (qVariantCanConvert(val, QMetaType::QString)) return toJSLiteral(val.toString()); return QStringLiteral("Unconvertible type %1").arg(QLatin1String(val.typeName())); } diff --git a/src/lib/corelib/tools/qttools.h b/src/lib/corelib/tools/qttools.h index ccc9a5552..bbec32544 100644 --- a/src/lib/corelib/tools/qttools.h +++ b/src/lib/corelib/tools/qttools.h @@ -43,6 +43,7 @@ #include <QtCore/qhash.h> #include <QtCore/qstringlist.h> #include <QtCore/qtextstream.h> +#include <QtCore/qvariant.h> #include <functional> @@ -127,6 +128,24 @@ inline void setupDefaultCodec(QTextStream &stream) #endif } +inline bool qVariantCanConvert(const QVariant &variant, int typeId) +{ +#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) + return variant.canConvert(QMetaType(typeId)); +#else + return variant.canConvert(typeId); // deprecated in Qt6 +#endif +} + +inline bool qVariantConvert(QVariant &variant, int typeId) +{ +#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) + return variant.convert(QMetaType(typeId)); +#else + return variant.convert(typeId); // deprecated in Qt6 +#endif +} + } // namespace qbs #endif // QBSQTTOOLS_H |