aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/terminal/terminalwidget.cpp
diff options
context:
space:
mode:
authorMarcus Tillmanns <[email protected]>2023-07-04 09:22:30 +0200
committerMarcus Tillmanns <[email protected]>2023-07-05 15:39:29 +0000
commitf02d0354c481f00fc23c92e71afbaf62736912c9 (patch)
treed0add8405ba3eedd6c5a3b974596ce260046e8ad /src/plugins/terminal/terminalwidget.cpp
parent02ac595a2ec1c7d91f59b938f08e16418a92b90a (diff)
Terminal: Dont show process exit code
Show it as a "flashing" message instead Fixes: QTCREATORBUG-29373 Change-Id: Ib9e7280a1b80cc52835aecb954f80e9daa80f7ca Reviewed-by: Robert Löhning <[email protected]>
Diffstat (limited to 'src/plugins/terminal/terminalwidget.cpp')
-rw-r--r--src/plugins/terminal/terminalwidget.cpp29
1 files changed, 17 insertions, 12 deletions
diff --git a/src/plugins/terminal/terminalwidget.cpp b/src/plugins/terminal/terminalwidget.cpp
index d232bfee277..98877b841f0 100644
--- a/src/plugins/terminal/terminalwidget.cpp
+++ b/src/plugins/terminal/terminalwidget.cpp
@@ -15,6 +15,7 @@
#include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/fileutils.h>
#include <coreplugin/icore.h>
+#include <coreplugin/messagemanager.h>
#include <utils/algorithm.h>
#include <utils/environment.h>
@@ -170,18 +171,15 @@ void TerminalWidget::setupPty()
});
connect(m_process.get(), &Process::done, this, [this] {
+ QString errorMessage;
+
if (m_process) {
if (m_process->exitCode() != 0) {
- QByteArray msg = QString("\r\n\033[31mProcess exited with code: %1")
- .arg(m_process->exitCode())
- .toUtf8();
+ errorMessage
+ = Tr::tr("Terminal process exited with code %1").arg(m_process->exitCode());
if (!m_process->errorString().isEmpty())
- msg += QString(" (%1)").arg(m_process->errorString()).toUtf8();
-
- m_surface->dataFromPty(msg);
-
- return;
+ errorMessage += QString(" (%1)").arg(m_process->errorString());
}
}
@@ -200,11 +198,18 @@ void TerminalWidget::setupPty()
deleteLater();
if (m_openParameters.m_exitBehavior == ExitBehavior::Keep) {
- QByteArray msg = QString("\r\nProcess exited with code: %1")
- .arg(m_process ? m_process->exitCode() : -1)
- .toUtf8();
+ if (!errorMessage.isEmpty()) {
+ QByteArray msg = QString("\r\n\033[31m%1").arg(errorMessage).toUtf8();
- m_surface->dataFromPty(msg);
+ m_surface->dataFromPty(msg);
+ } else {
+ QString exitMsg = Tr::tr("Process exited with code: %1")
+ .arg(m_process ? m_process->exitCode() : -1);
+ QByteArray msg = QString("\r\n%1").arg(exitMsg).toUtf8();
+ m_surface->dataFromPty(msg);
+ }
+ } else if (!errorMessage.isEmpty()) {
+ Core::MessageManager::writeFlashing(errorMessage);
}
});