diff --git a/src/plugins/mcusupport/mcusupportrunconfiguration.cpp b/src/plugins/mcusupport/mcusupportrunconfiguration.cpp index 5b397801c8f..b87b527f411 100644 --- a/src/plugins/mcusupport/mcusupportrunconfiguration.cpp +++ b/src/plugins/mcusupport/mcusupportrunconfiguration.cpp @@ -8,6 +8,7 @@ #include #include +#include #include #include @@ -58,9 +59,20 @@ public: connect(target->project(), &Project::displayNameChanged, this, &RunConfiguration::update); } + bool isEnabled() const override + { + if (disabled) + return false; + + return RunConfiguration::isEnabled(); + } + + static bool disabled; StringAspect flashAndRunParameters{this}; }; +bool FlashAndRunConfiguration::disabled = false; + class FlashAndRunWorker : public SimpleTargetRunner { public: @@ -74,6 +86,15 @@ public: setWorkingDirectory(target->activeBuildConfiguration()->buildDirectory()); setEnvironment(target->activeBuildConfiguration()->environment()); }); + + connect(runControl, &RunControl::started, []() { + FlashAndRunConfiguration::disabled = true; + ProjectExplorerPlugin::updateRunActions(); + }); + connect(runControl, &RunControl::stopped, []() { + FlashAndRunConfiguration::disabled = false; + ProjectExplorerPlugin::updateRunActions(); + }); } };