diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp
index c193b371..ba3fe270 100644
--- a/src/TerminalDisplay.cpp
+++ b/src/TerminalDisplay.cpp
@@ -3355,25 +3355,19 @@ void TerminalDisplay::outputSuspended(bool suspended)
//all terminal emulators.
//If there isn't a suitable article available in the target language the link
//can simply be removed.
- auto linkHandler = [this](const QString &url) {
- if (url == QLatin1String("#close")) {
- _outputSuspendedMessageWidget->hide();
- } else {
- QDesktopServices::openUrl(QUrl(url));
- }
- };
-
_outputSuspendedMessageWidget = createMessageWidget(i18n("Output has been "
"suspended"
" by pressing Ctrl+S."
- " Press Ctrl+Q to resume."
- " Click here to dismiss this message."), linkHandler);
+ " Press Ctrl+Q to resume."));
+
+ connect(_outputSuspendedMessageWidget, &KMessageWidget::linkActivated, this, [this](const QString &url) {
+ QDesktopServices::openUrl(QUrl(url));
+ });
_outputSuspendedMessageWidget->setMessageType(KMessageWidget::Warning);
- _outputSuspendedMessageWidget->hide();
}
- _outputSuspendedMessageWidget->setVisible(suspended);
+ suspended ? _outputSuspendedMessageWidget->animatedShow() : _outputSuspendedMessageWidget->animatedHide();
}
void TerminalDisplay::dismissOutputSuspendedMessage()
@@ -3381,15 +3375,12 @@ void TerminalDisplay::dismissOutputSuspendedMessage()
outputSuspended(false);
}
-KMessageWidget* TerminalDisplay::createMessageWidget(const QString &text, std::function linkHandler) {
+KMessageWidget* TerminalDisplay::createMessageWidget(const QString &text) {
auto widget = new KMessageWidget(text);
widget->setWordWrap(true);
widget->setFocusProxy(this);
- widget->setCloseButtonVisible(false);
widget->setCursor(Qt::ArrowCursor);
- connect(widget, &KMessageWidget::linkActivated, this, linkHandler);
-
_verticalLayout->insertWidget(0, widget);
return widget;
}
@@ -3399,20 +3390,13 @@ void TerminalDisplay::updateReadOnlyState(bool readonly) {
if (readonly) {
// Lazy create the readonly messagewidget
if (_readOnlyMessageWidget == nullptr) {
-
- auto linkHandler = [this](const QString &url) {
- if (url == QLatin1String("#close")) {
- _readOnlyMessageWidget->hide();
- }
- };
-
- _readOnlyMessageWidget = createMessageWidget(i18n("This terminal is read-only. Dismiss"), linkHandler);
+ _readOnlyMessageWidget = createMessageWidget(i18n("This terminal is read-only."));
_readOnlyMessageWidget->setIcon(QIcon::fromTheme(QStringLiteral("object-locked")));
}
}
if (_readOnlyMessageWidget != nullptr) {
- _readOnlyMessageWidget->setVisible(readonly);
+ readonly ? _readOnlyMessageWidget->animatedShow() : _readOnlyMessageWidget->animatedHide();
}
}
diff --git a/src/TerminalDisplay.h b/src/TerminalDisplay.h
index c99f540d..4f523682 100644
--- a/src/TerminalDisplay.h
+++ b/src/TerminalDisplay.h
@@ -21,8 +21,6 @@
#ifndef TERMINALDISPLAY_H
#define TERMINALDISPLAY_H
-#include
-
// Qt
#include
#include
@@ -882,7 +880,7 @@ private:
Screen::DecodingOptions currentDecodingOptions();
// Boilerplate setup for MessageWidget
- KMessageWidget* createMessageWidget(const QString &text, std::function linkHandler);
+ KMessageWidget* createMessageWidget(const QString &text);
// the window onto the terminal screen which this display
// is currently showing.