aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/mcusupport/mcusupportoptions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/mcusupport/mcusupportoptions.cpp')
-rw-r--r--src/plugins/mcusupport/mcusupportoptions.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/plugins/mcusupport/mcusupportoptions.cpp b/src/plugins/mcusupport/mcusupportoptions.cpp
index 474314b6a6b..51cb1eacd81 100644
--- a/src/plugins/mcusupport/mcusupportoptions.cpp
+++ b/src/plugins/mcusupport/mcusupportoptions.cpp
@@ -3,9 +3,11 @@
#include "mcusupportoptions.h"
+#include "dialogs/mcukitcreationdialog.h"
#include "mcuhelpers.h"
#include "mcukitmanager.h"
#include "mcupackage.h"
+#include "mcusupport_global.h"
#include "mcusupportconstants.h"
#include "mcusupportsdk.h"
#include "mcusupporttr.h"
@@ -19,6 +21,7 @@
#include <debugger/debuggerkitinformation.h>
#include <utils/algorithm.h>
#include <utils/filepath.h>
+#include <utils/infobar.h>
#include <qtsupport/qtkitinformation.h>
#include <qtsupport/qtversionmanager.h>
@@ -252,6 +255,30 @@ McuKitManager::UpgradeOption McuSupportOptions::askForKitUpgrades()
return McuKitManager::UpgradeOption::Ignore;
}
+void McuSupportOptions::displayKitCreationMessages(const MessagesList &messages,
+ const SettingsHandler::Ptr &settingsHandler,
+ McuPackagePtr qtMCUsPackage)
+{
+ if (messages.isEmpty() || !qtMCUsPackage->isValidStatus())
+ return;
+ static const char mcuKitCreationErrorInfoId[] = "ErrorWhileCreatingMCUKits";
+ if (!Core::ICore::infoBar()->canInfoBeAdded(mcuKitCreationErrorInfoId))
+ return;
+
+ Utils::InfoBarEntry info(mcuKitCreationErrorInfoId,
+ Tr::tr("Errors while creating Qt for MCUs kits"),
+ Utils::InfoBarEntry::GlobalSuppression::Enabled);
+
+ info.addCustomButton(Tr::tr("Details"), [=] {
+ auto popup = new McuKitCreationDialog(messages, settingsHandler, qtMCUsPackage);
+ popup->exec();
+ delete popup;
+ Core::ICore::infoBar()->removeInfo(mcuKitCreationErrorInfoId);
+ });
+
+ Core::ICore::infoBar()->addInfo(info);
+}
+
void McuSupportOptions::checkUpgradeableKits()
{
if (!qtForMCUsSdkPackage->isValidStatus() || sdkRepository.mcuTargets.isEmpty())