forked from qt-creator/qt-creator
ExecuteFilter: Connect to done() signal instead of finished()
Change-Id: I36e8ed92fc57f67da51acc7712a939bf8d7a78c6 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -132,16 +132,10 @@ void ExecuteFilter::accept(const LocatorFilterEntry &selection,
|
|||||||
p->runHeadCommand();
|
p->runHeadCommand();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExecuteFilter::finished()
|
void ExecuteFilter::done()
|
||||||
{
|
{
|
||||||
QTC_ASSERT(m_process, return);
|
QTC_ASSERT(m_process, return);
|
||||||
const QString commandName = headCommand();
|
MessageManager::writeFlashing(m_process->exitMessage());
|
||||||
QString message;
|
|
||||||
if (m_process->result() == ProcessResult::FinishedWithSuccess)
|
|
||||||
message = tr("Command \"%1\" finished.").arg(commandName);
|
|
||||||
else
|
|
||||||
message = tr("Command \"%1\" failed.").arg(commandName);
|
|
||||||
MessageManager::writeFlashing(message);
|
|
||||||
|
|
||||||
removeProcess();
|
removeProcess();
|
||||||
runHeadCommand();
|
runHeadCommand();
|
||||||
@@ -180,12 +174,6 @@ void ExecuteFilter::runHeadCommand()
|
|||||||
m_process->setWorkingDirectory(d.workingDirectory);
|
m_process->setWorkingDirectory(d.workingDirectory);
|
||||||
m_process->setCommand(d.command);
|
m_process->setCommand(d.command);
|
||||||
m_process->start();
|
m_process->start();
|
||||||
if (!m_process->waitForStarted(1000)) {
|
|
||||||
MessageManager::writeFlashing(
|
|
||||||
tr("Could not start process: %1.").arg(m_process->errorString()));
|
|
||||||
removeProcess();
|
|
||||||
runHeadCommand();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -196,7 +184,7 @@ void ExecuteFilter::createProcess()
|
|||||||
|
|
||||||
m_process = new Utils::QtcProcess;
|
m_process = new Utils::QtcProcess;
|
||||||
m_process->setEnvironment(Utils::Environment::systemEnvironment());
|
m_process->setEnvironment(Utils::Environment::systemEnvironment());
|
||||||
connect(m_process, &QtcProcess::finished, this, &ExecuteFilter::finished);
|
connect(m_process, &QtcProcess::done, this, &ExecuteFilter::done);
|
||||||
connect(m_process, &QtcProcess::readyReadStandardOutput, this, &ExecuteFilter::readStandardOutput);
|
connect(m_process, &QtcProcess::readyReadStandardOutput, this, &ExecuteFilter::readStandardOutput);
|
||||||
connect(m_process, &QtcProcess::readyReadStandardError, this, &ExecuteFilter::readStandardError);
|
connect(m_process, &QtcProcess::readyReadStandardError, this, &ExecuteFilter::readStandardError);
|
||||||
}
|
}
|
||||||
@@ -207,7 +195,7 @@ void ExecuteFilter::removeProcess()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
m_taskQueue.dequeue();
|
m_taskQueue.dequeue();
|
||||||
delete m_process;
|
m_process->deleteLater();
|
||||||
m_process = nullptr;
|
m_process = nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -57,7 +57,7 @@ public:
|
|||||||
QString *newText, int *selectionStart, int *selectionLength) const override;
|
QString *newText, int *selectionStart, int *selectionLength) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void finished();
|
void done();
|
||||||
void readStandardOutput();
|
void readStandardOutput();
|
||||||
void readStandardError();
|
void readStandardError();
|
||||||
void runHeadCommand();
|
void runHeadCommand();
|
||||||
|
Reference in New Issue
Block a user