diff --git a/src/plugins/studiowelcome/studiowelcomeplugin.cpp b/src/plugins/studiowelcome/studiowelcomeplugin.cpp index 2ac119124ed..7be9f868feb 100644 --- a/src/plugins/studiowelcome/studiowelcomeplugin.cpp +++ b/src/plugins/studiowelcome/studiowelcomeplugin.cpp @@ -17,19 +17,28 @@ #include #include -#include -#include -#include #include "projectexplorer/target.h" +#include +#include +#include +#include +#include +#include .h> +#include #include #include +#include +#include + #include #include #include #include +#include + #include #include #include @@ -638,6 +647,38 @@ void StudioWelcomePlugin::extensionsInitialized() bool StudioWelcomePlugin::delayedInitialize() { + QTimer::singleShot(2000, this, []() { + auto modelManager = QmlJS::ModelManagerInterface::instance(); + if (!modelManager) + return; + + QmlJS::PathsAndLanguages importPaths; + + const QList kits = Utils::filtered(KitManager::kits(), [](const Kit *k) { + const QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(k); + const bool isQt6 = version && version->qtVersion().majorVersion() == 6; + + return isQt6 + && ProjectExplorer::DeviceTypeKitAspect::deviceTypeId(k) + == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE; + }); + + for (const Kit *kit : kits) { + const QtSupport::QtVersion *version = QtSupport::QtKitAspect::qtVersion(kit); + + const Utils::FilePath qmlPath = version->qmlPath(); + importPaths.maybeInsert(qmlPath, QmlJS::Dialect::QmlQtQuick2); + + QFutureInterface result; + + QmlJS::ModelManagerInterface::importScan(result, + QmlJS::ModelManagerInterface::workingCopy(), + importPaths, + modelManager, + false); + } + }); + return true; }