From db5e3555ac6d6381c70d2616be36be09318e2d72 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Thu, 6 Oct 2022 15:33:15 +0200 Subject: [PATCH] QtcProcess: Add starting() signal Will be useful for VcsCommand controlling. Change-Id: I6e0199c7a45948526cfd916907b098472b78219c Reviewed-by: hjk --- src/libs/utils/qtcprocess.cpp | 8 ++++++++ src/libs/utils/qtcprocess.h | 5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index a60419b5410..b8a31b2a28a 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -704,6 +704,7 @@ public: void handleDone(const ProcessResultData &data); void clearForRun(); + void emitStarting(); void emitStarted(); void emitDone(); void emitReadyReadStandardOutput(); @@ -1149,6 +1150,7 @@ void QtcProcess::start() // Pass a dynamic property with info about blocking type d->m_process->setProperty(QTC_PROCESS_BLOCKING_TYPE, property(QTC_PROCESS_BLOCKING_TYPE)); } + d->emitStarting(); d->m_process->start(); } @@ -2031,6 +2033,12 @@ void QtcProcessPrivate::handleDone(const ProcessResultData &data) m_applicationMainThreadId = 0; } +void QtcProcessPrivate::emitStarting() +{ + GuardLocker locker(m_guard); + emit q->starting(); +} + void QtcProcessPrivate::emitStarted() { GuardLocker locker(m_guard); diff --git a/src/libs/utils/qtcprocess.h b/src/libs/utils/qtcprocess.h index 37dcadd2b76..2a131881289 100644 --- a/src/libs/utils/qtcprocess.h +++ b/src/libs/utils/qtcprocess.h @@ -177,8 +177,9 @@ public: QString toStandaloneCommandLine() const; signals: - void started(); - void done(); + void starting(); // On NotRunning -> Starting state transition + void started(); // On Starting -> Running state transition + void done(); // On Starting | Running -> NotRunning state transition void readyReadStandardOutput(); void readyReadStandardError();