chore: silence some deprecation warnings in Qt 6.8 (#5529)

This commit is contained in:
nerix
2024-08-04 11:23:29 +02:00
committed by GitHub
parent aed55ac1ba
commit 3257da1855
9 changed files with 55 additions and 30 deletions
+18 -5
View File
@@ -72,22 +72,35 @@ QString possibleTypeToString(const PossibleType &possible);
bool isList(const PossibleType &possibleType);
inline bool variantIs(const QVariant &a, QMetaType::Type type)
inline bool variantIs(const QVariant &a, int type)
{
return static_cast<QMetaType::Type>(a.type()) == type;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
return a.typeId() == type;
#else
return a.type() == type;
#endif
}
inline bool variantIsNot(const QVariant &a, QMetaType::Type type)
inline bool variantIsNot(const QVariant &a, int type)
{
return static_cast<QMetaType::Type>(a.type()) != type;
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
return a.typeId() != type;
#else
return a.type() != type;
#endif
}
inline bool convertVariantTypes(QVariant &a, QVariant &b, int type)
{
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
QMetaType ty(type);
return a.convert(ty) && b.convert(ty);
#else
return a.convert(type) && b.convert(type);
#endif
}
inline bool variantTypesMatch(QVariant &a, QVariant &b, QMetaType::Type type)
inline bool variantTypesMatch(QVariant &a, QVariant &b, int type)
{
return variantIs(a, type) && variantIs(b, type);
}
@@ -56,9 +56,8 @@ QVariant BinaryOperation::execute(const ContextMap &context) const
switch (this->op_)
{
case PLUS:
if (static_cast<QMetaType::Type>(left.type()) ==
QMetaType::QString &&
right.canConvert(QMetaType::QString))
if (variantIs(left, QMetaType::QString) &&
right.canConvert<QString>())
{
return left.toString().append(right.toString());
}
@@ -143,14 +142,14 @@ QVariant BinaryOperation::execute(const ContextMap &context) const
return false;
case CONTAINS:
if (variantIs(left, QMetaType::QStringList) &&
right.canConvert(QMetaType::QString))
right.canConvert<QString>())
{
return left.toStringList().contains(right.toString(),
Qt::CaseInsensitive);
}
if (variantIs(left, QMetaType::QVariantMap) &&
right.canConvert(QMetaType::QString))
right.canConvert<QString>())
{
return left.toMap().contains(right.toString());
}
@@ -160,8 +159,7 @@ QVariant BinaryOperation::execute(const ContextMap &context) const
return left.toList().contains(right);
}
if (left.canConvert(QMetaType::QString) &&
right.canConvert(QMetaType::QString))
if (left.canConvert<QString>() && right.canConvert<QString>())
{
return left.toString().contains(right.toString(),
Qt::CaseInsensitive);
@@ -170,7 +168,7 @@ QVariant BinaryOperation::execute(const ContextMap &context) const
return false;
case STARTS_WITH:
if (variantIs(left, QMetaType::QStringList) &&
right.canConvert(QMetaType::QString))
right.canConvert<QString>())
{
auto list = left.toStringList();
return !list.isEmpty() &&
@@ -183,8 +181,7 @@ QVariant BinaryOperation::execute(const ContextMap &context) const
return left.toList().startsWith(right);
}
if (left.canConvert(QMetaType::QString) &&
right.canConvert(QMetaType::QString))
if (left.canConvert<QString>() && right.canConvert<QString>())
{
return left.toString().startsWith(right.toString(),
Qt::CaseInsensitive);
@@ -194,7 +191,7 @@ QVariant BinaryOperation::execute(const ContextMap &context) const
case ENDS_WITH:
if (variantIs(left, QMetaType::QStringList) &&
right.canConvert(QMetaType::QString))
right.canConvert<QString>())
{
auto list = left.toStringList();
return !list.isEmpty() &&
@@ -207,8 +204,7 @@ QVariant BinaryOperation::execute(const ContextMap &context) const
return left.toList().endsWith(right);
}
if (left.canConvert(QMetaType::QString) &&
right.canConvert(QMetaType::QString))
if (left.canConvert<QString>() && right.canConvert<QString>())
{
return left.toString().endsWith(right.toString(),
Qt::CaseInsensitive);
@@ -216,14 +212,18 @@ QVariant BinaryOperation::execute(const ContextMap &context) const
return false;
case MATCH: {
if (!left.canConvert(QMetaType::QString))
if (!left.canConvert<QString>())
{
return false;
}
auto matching = left.toString();
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
switch (static_cast<QMetaType::Type>(right.typeId()))
#else
switch (static_cast<QMetaType::Type>(right.type()))
#endif
{
case QMetaType::QRegularExpression: {
return right.toRegularExpression()