diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 2a51e01071f..fcd5a465bdb 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -784,6 +784,7 @@ public: m_killTimer.setSingleShot(true); connect(&m_killTimer, &QTimer::timeout, this, [this] { m_killTimer.stop(); + emit q->stoppingForcefully(); sendControlSignal(ControlSignal::Kill); }); setupDebugLog(); @@ -1658,6 +1659,7 @@ void Process::stop() if (state() == QProcess::NotRunning) return; + emit requestingStop(); d->sendControlSignal(ControlSignal::Terminate); d->m_killTimer.start(d->m_process->m_setup.m_reaperTimeout); } diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h index 2182f5bf35b..65ca569d559 100644 --- a/src/libs/utils/qtcprocess.h +++ b/src/libs/utils/qtcprocess.h @@ -199,6 +199,8 @@ signals: void readyReadStandardError(); void textOnStandardOutput(const QString &text); void textOnStandardError(const QString &text); + void requestingStop(); + void stoppingForcefully(); private: friend QTCREATOR_UTILS_EXPORT QDebug operator<<(QDebug str, const Process &r); diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index 327979b4117..b7300b1ef3e 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -1296,6 +1296,12 @@ SimpleTargetRunnerPrivate::SimpleTargetRunnerPrivate(SimpleTargetRunner *parent) this, &SimpleTargetRunnerPrivate::handleStandardError); connect(&m_process, &Process::readyReadStandardOutput, this, &SimpleTargetRunnerPrivate::handleStandardOutput); + connect(&m_process, &Process::requestingStop, this, [this] { + q->appendMessage(Tr::tr("Requesting process to stop ...."), NormalMessageFormat); + }); + connect(&m_process, &Process::stoppingForcefully, this, [this] { + q->appendMessage(Tr::tr("Stopping process forcefully ...."), NormalMessageFormat); + }); m_waitForDoneTimer.setSingleShot(true); connect(&m_waitForDoneTimer, &QTimer::timeout, this, [this] {