Terminal: add finished signal

Change-Id: I9d560d1f1bbaa94ae75420002744073a1e8fad1a
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
David Schulz
2023-10-23 11:29:47 +02:00
parent 6f4b9639ce
commit 30ef90c322
2 changed files with 6 additions and 5 deletions

View File

@@ -151,10 +151,10 @@ void TerminalWidget::setupPty()
connect(m_process.get(), &Process::done, this, [this] {
QString errorMessage;
const int exitCode = QTC_GUARD(m_process) ? m_process->exitCode() : -1;
if (m_process) {
if (m_process->exitCode() != 0) {
errorMessage
= Tr::tr("Terminal process exited with code %1").arg(m_process->exitCode());
if (exitCode != 0) {
errorMessage = Tr::tr("Terminal process exited with code %1").arg(exitCode);
if (!m_process->errorString().isEmpty())
errorMessage += QString(" (%1)").arg(m_process->errorString());
@@ -181,14 +181,14 @@ void TerminalWidget::setupPty()
writeToTerminal(msg, true);
} else {
QString exitMsg = Tr::tr("Process exited with code: %1")
.arg(m_process ? m_process->exitCode() : -1);
QString exitMsg = Tr::tr("Process exited with code: %1").arg(exitCode);
QByteArray msg = QString("\r\n%1").arg(exitMsg).toUtf8();
writeToTerminal(msg, true);
}
} else if (!errorMessage.isEmpty()) {
Core::MessageManager::writeFlashing(errorMessage);
}
emit finised(exitCode);
});
connect(m_process.get(), &Process::started, this, [this] {

View File

@@ -50,6 +50,7 @@ public:
signals:
void started(qint64 pid);
void finised(int exitCode);
void cwdChanged(const Utils::FilePath &cwd);
void commandChanged(const Utils::CommandLine &cmd);
void titleChanged();