diff --git a/src/plugins/mcusupport/mcusupportplugin.cpp b/src/plugins/mcusupport/mcusupportplugin.cpp index 0be99d8c05b..07f54e061a6 100644 --- a/src/plugins/mcusupport/mcusupportplugin.cpp +++ b/src/plugins/mcusupport/mcusupportplugin.cpp @@ -33,11 +33,15 @@ #include #include #include +#include #include #include #include +#include + +using namespace Core; using namespace ProjectExplorer; namespace McuSupport { @@ -90,8 +94,30 @@ void McuSupportPlugin::extensionsInitialized() connect(KitManager::instance(), &KitManager::kitsLoaded, [](){ McuSupportOptions::removeOutdatedKits(); + McuSupportPlugin::askUserAboutMcuSupportKitsSetup(); }); } +void McuSupportPlugin::askUserAboutMcuSupportKitsSetup() +{ + const char setupMcuSupportKits[] = "SetupMcuSupportKits"; + + if (!ICore::infoBar()->canInfoBeAdded(setupMcuSupportKits) + || McuSupportOptions::qulDirFromSettings().isEmpty() + || !McuSupportOptions::existingKits(nullptr).isEmpty()) + return; + + InfoBarEntry info( + setupMcuSupportKits, + tr("Create Kits for Qt for MCUs? " + "To do it later, select Options > Devices > MCU."), + InfoBarEntry::GlobalSuppression::Enabled); + info.setCustomButtonInfo(tr("Create Kits for Qt for MCUs"), [setupMcuSupportKits] { + ICore::infoBar()->removeInfo(setupMcuSupportKits); + QTimer::singleShot(0, []() { ICore::showOptionsDialog(Constants::SETTINGS_ID); }); + }); + ICore::infoBar()->addInfo(info); +} + } // namespace Internal } // namespace McuSupport diff --git a/src/plugins/mcusupport/mcusupportplugin.h b/src/plugins/mcusupport/mcusupportplugin.h index 9a5def94fbb..2f7c24e6057 100644 --- a/src/plugins/mcusupport/mcusupportplugin.h +++ b/src/plugins/mcusupport/mcusupportplugin.h @@ -43,6 +43,7 @@ public: bool initialize(const QStringList &arguments, QString *errorString) override; void extensionsInitialized() override; + static void askUserAboutMcuSupportKitsSetup(); }; } // namespace Internal