From 4de07bf444797348d9acde457a36fe7bd11f8ea4 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 22 Feb 2023 11:45:46 +0100 Subject: [PATCH] Qnx: Mark new kits from setup dialog as not autodetected It's more flexible for the user to have them modifiable. Tendency nowadays is to only have SDK-provided kits (or possibly everything that also 'goes away byitself' marked autodetected. Change-Id: I0098196320abe73998c38e9944fcb89554e36bb7 Reviewed-by: Christian Stenger --- src/plugins/qnx/qnxconfiguration.cpp | 2 +- src/plugins/qnx/qnxconfigurationmanager.cpp | 1 - src/plugins/qnx/qnxconfigurationmanager.h | 3 ++- src/plugins/qnx/qnxplugin.cpp | 5 ++++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/plugins/qnx/qnxconfiguration.cpp b/src/plugins/qnx/qnxconfiguration.cpp index 7a8f19926f8..c1b0e498f0c 100644 --- a/src/plugins/qnx/qnxconfiguration.cpp +++ b/src/plugins/qnx/qnxconfiguration.cpp @@ -283,7 +283,7 @@ void QnxConfiguration::createKit(const Target &target, const QnxToolChainMap &to .arg(displayName()) .arg(target.shortDescription())); - k->setAutoDetected(true); + k->setAutoDetected(false); k->setAutoDetectionSource(envFile().toString()); k->setMutable(DeviceKitAspect::id(), true); diff --git a/src/plugins/qnx/qnxconfigurationmanager.cpp b/src/plugins/qnx/qnxconfigurationmanager.cpp index f947d4a6e25..da585b69cf2 100644 --- a/src/plugins/qnx/qnxconfigurationmanager.cpp +++ b/src/plugins/qnx/qnxconfigurationmanager.cpp @@ -29,7 +29,6 @@ QnxConfigurationManager::QnxConfigurationManager() { m_instance = this; m_writer = new PersistentSettingsWriter(qnxConfigSettingsFileName(), "QnxConfigurations"); - restoreConfigurations(); connect(Core::ICore::instance(), &Core::ICore::saveSettingsRequested, this, &QnxConfigurationManager::saveConfigs); } diff --git a/src/plugins/qnx/qnxconfigurationmanager.h b/src/plugins/qnx/qnxconfigurationmanager.h index 56ca4e6d772..bc0d02dd988 100644 --- a/src/plugins/qnx/qnxconfigurationmanager.h +++ b/src/plugins/qnx/qnxconfigurationmanager.h @@ -19,6 +19,8 @@ public: QnxConfigurationManager(); ~QnxConfigurationManager() override; + void restoreConfigurations(); + static QnxConfigurationManager *instance(); QList configurations() const; void removeConfiguration(QnxConfiguration *config); @@ -34,7 +36,6 @@ signals: private: QList m_configurations; Utils::PersistentSettingsWriter *m_writer; - void restoreConfigurations(); }; } // Qnx::Internal diff --git a/src/plugins/qnx/qnxplugin.cpp b/src/plugins/qnx/qnxplugin.cpp index e29b248bcaf..25262c394fa 100644 --- a/src/plugins/qnx/qnxplugin.cpp +++ b/src/plugins/qnx/qnxplugin.cpp @@ -90,7 +90,7 @@ public: QAction *m_debugSeparator = nullptr; QAction m_attachToQnxApplication{Tr::tr("Attach to remote QNX application..."), nullptr}; - QnxConfigurationManager configurationFactory; + QnxConfigurationManager configurationManager; QnxQtVersionFactory qtVersionFactory; QnxDeviceFactory deviceFactory; QnxDeployConfigurationFactory deployConfigFactory; @@ -122,6 +122,9 @@ private: void QnxPlugin::extensionsInitialized() { + // Can't do in init as not all devices are around. + d->configurationManager.restoreConfigurations(); + // Attach support connect(&d->m_attachToQnxApplication, &QAction::triggered, this, &showAttachToProcessDialog);