From 3335698fba0617f2d4a2570b5d5b940f10855c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Str=C3=B8mme?= Date: Tue, 22 Mar 2022 12:57:46 +0100 Subject: [PATCH] Import3D: Update call to importFile() after change in QtQuick3d The function in QtQuick3d will from Qt 6.4.0 accept the json object directly meaning it's no longer necessary to convert to a variant map first. Change-Id: If180672963cbfea78582f245431e246f84111c9b Reviewed-by: Miikka Heikkinen Reviewed-by: Qt CI Bot Reviewed-by: Mahmoud Badri --- .../qml/qmlpuppet/qml2puppet/import3d/import3d.cpp | 7 ++++++- .../instances/qt5informationnodeinstanceserver.cpp | 13 +++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/import3d/import3d.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/import3d/import3d.cpp index 1f24aaca8f8..2bc6135ce9b 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/import3d/import3d.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/import3d/import3d.cpp @@ -52,7 +52,12 @@ void import3D(const QString &sourceAsset, const QString &outDir, const QString & if (!optDoc.isNull() && optDoc.isObject()) { QJsonObject optObj = optDoc.object(); - if (importer->importFile(sourceAsset, outDir, optObj.toVariantMap(), &errorStr) +#if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)) + const auto &optionsMap = optObj; +#else + const auto optionsMap = optObj.toVariantMap(); +#endif // QT_VERSION >= 6.4.0 + if (importer->importFile(sourceAsset, outDir, optionsMap, &errorStr) != QSSGAssetImportManager::ImportState::Success) { } } else { diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp index 4b369bb1c5a..effa871ce6d 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/qt5informationnodeinstanceserver.cpp @@ -118,6 +118,7 @@ #endif #ifdef IMPORT_QUICK3D_ASSETS +#include #include #endif @@ -303,7 +304,15 @@ void Qt5InformationNodeInstanceServer::resolveImportSupport() #ifdef IMPORT_QUICK3D_ASSETS QSSGAssetImportManager importManager; const QHash supportedExtensions = importManager.getSupportedExtensions(); - const QHash supportedOptions = importManager.getAllOptions(); +#if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0)) +#define AS_VARIANT_MAP(IT) IT.value().toVariantMap() + using PluginOptionMaps = QSSGAssetImportManager::PluginOptionMaps; +#else +#define AS_VARIANT_MAP(IT) IT.value() + using PluginOptionMaps = QHash; +#endif // QT_VERSION >= 6.4.0 + + const PluginOptionMaps supportedOptions = importManager.getAllOptions(); QVariantMap supportMap; @@ -317,7 +326,7 @@ void Qt5InformationNodeInstanceServer::resolveImportSupport() QVariantMap optMap; auto itOpt = supportedOptions.constBegin(); while (itOpt != supportedOptions.constEnd()) { - optMap.insert(itOpt.key(), itOpt.value()); + optMap.insert(itOpt.key(), AS_VARIANT_MAP(itOpt)); ++itOpt; }