From 368ad63653f5c5243408d822b0113a903d9dbf41 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 13 Dec 2023 12:34:15 +0100 Subject: [PATCH] ProjectExplorer: Make DeviceKitAspect mutable for all non-Desktop kits Fixes: QTCREATORBUG-30031 Change-Id: I0b2dacb5977b0f8e81afd13a0a4af6354ea81915 Reviewed-by: Eike Ziller --- src/plugins/android/androidconfigurations.cpp | 1 - src/plugins/ios/iosconfigurations.cpp | 1 - src/plugins/projectexplorer/kit.cpp | 2 ++ src/plugins/projectexplorer/kitmanager.cpp | 2 ++ src/plugins/qnx/qnxsettingspage.cpp | 1 - 5 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index e3c47b4d90d..7420f0f1558 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -1404,7 +1404,6 @@ void AndroidConfigurations::updateAutomaticKitList() BuildDeviceKitAspect::setDeviceId(k, DeviceManager::defaultDesktopDevice()->id()); k->setSticky(QtKitAspect::id(), true); - k->setMutable(DeviceKitAspect::id(), true); k->setSticky(DeviceTypeKitAspect::id(), true); QString versionStr = QLatin1String("Qt %{Qt:Version}"); diff --git a/src/plugins/ios/iosconfigurations.cpp b/src/plugins/ios/iosconfigurations.cpp index 9287918d28b..58607ffbe05 100644 --- a/src/plugins/ios/iosconfigurations.cpp +++ b/src/plugins/ios/iosconfigurations.cpp @@ -188,7 +188,6 @@ static void setupKit(Kit *kit, Id pDeviceType, const ToolChainPair& toolChains, && debuggerId.isValid()) DebuggerKitAspect::setDebugger(kit, debuggerId); - kit->setMutable(DeviceKitAspect::id(), true); kit->setSticky(QtKitAspect::id(), true); kit->setSticky(ToolchainKitAspect::id(), true); kit->setSticky(DeviceTypeKitAspect::id(), true); diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 97d2f657aaf..fd374cc23b5 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -674,6 +674,8 @@ void Kit::setMutable(Id id, bool b) bool Kit::isMutable(Id id) const { + if (id == DeviceKitAspect::id()) + return DeviceTypeKitAspect::deviceTypeId(this) != Constants::DESKTOP_DEVICE_TYPE; return d->m_mutable.contains(id); } diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index 2a53d5c14ab..2aa15d6608e 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -806,6 +806,8 @@ void KitAspect::addToLayout(Layouting::LayoutItem &parentItem) void KitAspect::addMutableAction(QWidget *child) { QTC_ASSERT(child, return); + if (factory()->id() == DeviceKitAspect::id()) + return; child->addAction(m_mutableAction); child->setContextMenuPolicy(Qt::ActionsContextMenu); } diff --git a/src/plugins/qnx/qnxsettingspage.cpp b/src/plugins/qnx/qnxsettingspage.cpp index eb05c61293a..81e01afbcb4 100644 --- a/src/plugins/qnx/qnxsettingspage.cpp +++ b/src/plugins/qnx/qnxsettingspage.cpp @@ -273,7 +273,6 @@ void QnxConfiguration::createKit(const QnxTarget &target) k->setAutoDetected(false); k->setAutoDetectionSource(m_envFile.toString()); - k->setMutable(DeviceKitAspect::id(), true); k->setSticky(ToolchainKitAspect::id(), true); k->setSticky(DeviceTypeKitAspect::id(), true);