diff options
Diffstat (limited to 'src/plugins/mcusupport/mcusupportoptions.cpp')
-rw-r--r-- | src/plugins/mcusupport/mcusupportoptions.cpp | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/plugins/mcusupport/mcusupportoptions.cpp b/src/plugins/mcusupport/mcusupportoptions.cpp index 3d86cd1798..56bcf57165 100644 --- a/src/plugins/mcusupport/mcusupportoptions.cpp +++ b/src/plugins/mcusupport/mcusupportoptions.cpp @@ -600,7 +600,7 @@ void McuSupportOptions::setQulDir(const FilePath &dir) qtForMCUsSdkPackage->updateStatus(); if (qtForMCUsSdkPackage->status() == McuPackage::Status::ValidPackage) Sdk::targetsAndPackages(dir, &packages, &mcuTargets); - for (auto package : packages) + for (auto package : qAsConst(packages)) connect(package, &McuPackage::changed, this, &McuSupportOptions::changed); emit changed(); @@ -629,7 +629,8 @@ static void setKitProperties(const QString &kitName, Kit *k, const McuTarget *mc k->makeSticky(); if (mcuTarget->toolChainPackage()->isDesktopToolchain()) k->setDeviceTypeForIcon(DEVICE_TYPE); - QSet<Id> irrelevant = { SysRootKitAspect::id() }; + k->setValue(QtSupport::SuppliesQtQuickImportPath::id(), true); + QSet<Id> irrelevant = { SysRootKitAspect::id(), QtSupport::SuppliesQtQuickImportPath::id() }; if (!kitNeedsQtVersion()) irrelevant.insert(QtSupport::QtKitAspect::id()); k->setIrrelevantAspects(irrelevant); @@ -912,5 +913,29 @@ void McuSupportOptions::createAutomaticKits() delete qtForMCUsPackage; } +/** + * @brief Fix/update existing kits if needed + */ +void McuSupportOptions::fixExistingKits() +{ + for (Kit *kit : KitManager::kits()) { + if (!kit->hasValue(Constants::KIT_MCUTARGET_KITVERSION_KEY) ) + continue; + + // Check if the MCU kits are flagged as supplying a QtQuick import path, in order + // to tell the QMLJS code-model that it won't need to add a fall-back import + // path. + const auto bringsQtQuickImportPath = QtSupport::SuppliesQtQuickImportPath::id(); + auto irrelevantAspects = kit->irrelevantAspects(); + if (!irrelevantAspects.contains(bringsQtQuickImportPath)) { + irrelevantAspects.insert(bringsQtQuickImportPath); + kit->setIrrelevantAspects(irrelevantAspects); + } + if (!kit->hasValue(bringsQtQuickImportPath)) { + kit->setValue(bringsQtQuickImportPath, true); + } + } +} + } // Internal } // McuSupport |