summaryrefslogtreecommitdiff
path: root/src/plugins/mcusupport/mcusupportplugin.cpp
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2023-03-29 13:40:41 +0200
committerTim Jenssen <tim.jenssen@qt.io>2023-03-29 13:42:04 +0200
commit26365f34d44a55db5847e862ae10122c0a7ad4a4 (patch)
tree8f735e0e9d3df738ee030d2fb2e24e8836ee71ae /src/plugins/mcusupport/mcusupportplugin.cpp
parentbcd74a2fad243fc7683fd98633b91da4e394c0e8 (diff)
parent81a5e2143cb7728316e02d24925f853e2db2099a (diff)
downloadqt-creator-26365f34d44a55db5847e862ae10122c0a7ad4a4.tar.gz
Merge remote-tracking branch 'origin/10.0' into qds/dev
Change-Id: Idd5eac05f3506387e5f1884e22cc2c902032bbe1
Diffstat (limited to 'src/plugins/mcusupport/mcusupportplugin.cpp')
-rw-r--r--src/plugins/mcusupport/mcusupportplugin.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/src/plugins/mcusupport/mcusupportplugin.cpp b/src/plugins/mcusupport/mcusupportplugin.cpp
index f762231851..6b4e851c47 100644
--- a/src/plugins/mcusupport/mcusupportplugin.cpp
+++ b/src/plugins/mcusupport/mcusupportplugin.cpp
@@ -135,6 +135,7 @@ void McuSupportPlugin::extensionsInitialized()
McuKitManager::createAutomaticKits(dd->m_settingsHandler);
McuKitManager::fixExistingKits(dd->m_settingsHandler);
askUserAboutMcuSupportKitsSetup();
+ askUserAboutRemovingUninstalledTargetsKits();
});
}
@@ -188,4 +189,34 @@ void McuSupportPlugin::askUserAboutMcuSupportKitsUpgrade(const SettingsHandler::
ICore::infoBar()->addInfo(info);
}
-} // McuSupport::Internal
+void McuSupportPlugin::askUserAboutRemovingUninstalledTargetsKits()
+{
+ const char removeUninstalledKits[] = "RemoveUninstalledKits";
+ QList<Kit *> uninstalledTargetsKits;
+
+ if (!ICore::infoBar()->canInfoBeAdded(removeUninstalledKits)
+ || (uninstalledTargetsKits = McuKitManager::findUninstalledTargetsKits()).isEmpty())
+ return;
+
+ Utils::InfoBarEntry
+ info(removeUninstalledKits,
+ Tr::tr("Detected %n uninstalled MCU target(s). Remove corresponding kits?",
+ nullptr,
+ uninstalledTargetsKits.size()),
+ Utils::InfoBarEntry::GlobalSuppression::Enabled);
+
+ info.addCustomButton(Tr::tr("Keep"), [removeUninstalledKits] {
+ ICore::infoBar()->removeInfo(removeUninstalledKits);
+ });
+
+ info.addCustomButton(Tr::tr("Remove"), [removeUninstalledKits, uninstalledTargetsKits] {
+ ICore::infoBar()->removeInfo(removeUninstalledKits);
+ QTimer::singleShot(0, [uninstalledTargetsKits]() {
+ McuKitManager::removeUninstalledTargetsKits(uninstalledTargetsKits);
+ });
+ });
+
+ ICore::infoBar()->addInfo(info);
+}
+
+} // namespace McuSupport::Internal