diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp index 8257926d720..4cbebd738df 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodecontextmenu_helper.cpp @@ -105,8 +105,8 @@ bool selectionIsImported3DAsset(const SelectionContext &selectionState) // Node is not a file component, so we have to check if the current doc itself is fileName = node.model()->fileUrl().toLocalFile(); } - if (fileName.contains(Constants::OLD_QUICK_3D_ASSETS_FOLDER) - || fileName.contains(Constants::QUICK_3D_COMPONENTS_FOLDER)) { + if (QmlDesignerPlugin::instance()->documentManager() + .generatedComponentUtils().isImport3dPath(fileName)) { return true; } } diff --git a/src/plugins/qmldesigner/designercore/generatedcomponentutils.cpp b/src/plugins/qmldesigner/designercore/generatedcomponentutils.cpp index a86388625a5..5ee5790b534 100644 --- a/src/plugins/qmldesigner/designercore/generatedcomponentutils.cpp +++ b/src/plugins/qmldesigner/designercore/generatedcomponentutils.cpp @@ -80,7 +80,8 @@ Utils::FilePath GeneratedComponentUtils::import3dBasePath() const bool GeneratedComponentUtils::isImport3dPath(const QString &path) const { return path.contains('/' + QLatin1String(Constants::OLD_QUICK_3D_ASSETS_FOLDER)) - || path.contains('/' + QLatin1String(Constants::QUICK_3D_COMPONENTS_FOLDER)); + || path.contains(QLatin1String(Constants::GENERATED_COMPONENTS_FOLDER) + '/' + + QLatin1String(Constants::QUICK_3D_COMPONENTS_FOLDER)); } bool GeneratedComponentUtils::isComposedEffectPath(const QString &path) const @@ -108,14 +109,11 @@ QString GeneratedComponentUtils::import3dTypePrefix() const return Constants::OLD_QUICK_3D_ASSETS_FOLDER; } -QString GeneratedComponentUtils::import3dSimplifiedTypePrefix() const +QString GeneratedComponentUtils::import3dTypePath() const { - QString basePrefix = generatedComponentTypePrefix(); - - if (basePrefix.endsWith(Constants::QUICK_3D_COMPONENTS_FOLDER)) - return Constants::QUICK_3D_COMPONENTS_FOLDER; - - return Constants::OLD_QUICK_3D_ASSETS_FOLDER; + QString prefix = import3dTypePrefix(); + prefix.replace('.', '/'); + return prefix; } QString GeneratedComponentUtils::componentBundlesTypePrefix() const diff --git a/src/plugins/qmldesigner/designercore/generatedcomponentutils.h b/src/plugins/qmldesigner/designercore/generatedcomponentutils.h index f8eceaed4be..e2e9baf3e75 100644 --- a/src/plugins/qmldesigner/designercore/generatedcomponentutils.h +++ b/src/plugins/qmldesigner/designercore/generatedcomponentutils.h @@ -27,7 +27,7 @@ public: QString generatedComponentTypePrefix() const; QString import3dTypePrefix() const; - QString import3dSimplifiedTypePrefix() const; + QString import3dTypePath() const; QString componentBundlesTypePrefix() const; QString composedEffectsTypePrefix() const; diff --git a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp index feeb9173a05..16d9217f6a6 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp @@ -461,8 +461,7 @@ QStringList SubComponentManager::quick3DAssetPaths() const const auto impPaths = importPaths(); QStringList retPaths; for (const auto &impPath : impPaths) { - QString path3d = m_componentUtils.import3dTypePrefix(); - path3d.replace('.', '/'); + QString path3d = m_componentUtils.import3dTypePath(); const QString assetPath = impPath + '/' + path3d; if (QFileInfo::exists(assetPath)) retPaths << assetPath; @@ -523,7 +522,7 @@ void SubComponentManager::update(const QUrl &filePath, const Imports &imports) // Remove old watched asset paths const QStringList watchPaths = m_watcher.directories(); - const QString &quick3DAssetFolder = m_componentUtils.import3dSimplifiedTypePrefix(); + const QString &quick3DAssetFolder = m_componentUtils.import3dTypePath(); for (const auto &watchPath : watchPaths) { if (watchPath.endsWith(quick3DAssetFolder)) m_watcher.removePath(watchPath); diff --git a/src/plugins/qmldesigner/qmldesignerconstants.h b/src/plugins/qmldesigner/qmldesignerconstants.h index e3772244a62..fb691097f72 100644 --- a/src/plugins/qmldesigner/qmldesignerconstants.h +++ b/src/plugins/qmldesigner/qmldesignerconstants.h @@ -82,7 +82,7 @@ inline constexpr char COMPONENT_BUNDLES_TYPE[] = "ComponentBundles"; inline constexpr char GENERATED_COMPONENTS_FOLDER[] = "GeneratedComponents"; inline constexpr char COMPONENT_BUNDLES_ASSET_REF_FILE[] = "_asset_ref.json"; inline constexpr char OLD_QUICK_3D_ASSETS_FOLDER[] = "Quick3DAssets"; -inline constexpr char QUICK_3D_COMPONENTS_FOLDER[] = "QtQuick3DComponents"; +inline constexpr char QUICK_3D_COMPONENTS_FOLDER[] = "QtQuick3D"; inline constexpr char QUICK_3D_ASSET_LIBRARY_ICON_SUFFIX[] = "_libicon"; inline constexpr char QUICK_3D_ASSET_IMPORT_DATA_NAME[] = "_importdata.json"; inline constexpr char QUICK_3D_ASSET_IMPORT_DATA_OPTIONS_KEY[] = "import_options";