From 660b78f70c617436be63b810b6ce7585c6c78139 Mon Sep 17 00:00:00 2001 From: Matan Ziv-Av Date: Thu, 1 Sep 2022 15:12:34 +0300 Subject: [PATCH] Add showNotification() method This allows notifications other than terminal size. --- src/terminalDisplay/TerminalDisplay.cpp | 16 ++++++++++------ src/terminalDisplay/TerminalDisplay.h | 2 ++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/terminalDisplay/TerminalDisplay.cpp b/src/terminalDisplay/TerminalDisplay.cpp index d2eee1d6..812f9ba2 100644 --- a/src/terminalDisplay/TerminalDisplay.cpp +++ b/src/terminalDisplay/TerminalDisplay.cpp @@ -645,13 +645,17 @@ void TerminalDisplay::updateImage() QAccessible::updateAccessibility(&cursorEvent); #endif } - void TerminalDisplay::showResizeNotification() { - if (_showTerminalSizeHint && isVisible()) { + showNotification(i18n("Size: %1 x %2", _columns, _lines)); +} + +void TerminalDisplay::showNotification(QString text) +{ + if ((text.isEmpty() || _showTerminalSizeHint) && isVisible()) { if (_resizeWidget == nullptr) { - _resizeWidget = new QLabel(i18n("Size: XXX x XXX"), this); - _resizeWidget->setMinimumWidth(_resizeWidget->fontMetrics().boundingRect(i18n("Size: XXX x XXX")).width()); + _resizeWidget = new QLabel(text, this); + _resizeWidget->setMinimumWidth(_resizeWidget->fontMetrics().boundingRect(text).width()); _resizeWidget->setMinimumHeight(_resizeWidget->sizeHint().height()); _resizeWidget->setAlignment(Qt::AlignCenter); @@ -662,8 +666,8 @@ void TerminalDisplay::showResizeNotification() _resizeTimer->setSingleShot(true); connect(_resizeTimer, &QTimer::timeout, _resizeWidget, &QLabel::hide); } - QString sizeStr = i18n("Size: %1 x %2", _columns, _lines); - _resizeWidget->setText(sizeStr); + _resizeWidget->setText(text); + _resizeWidget->setMinimumWidth(_resizeWidget->fontMetrics().boundingRect(text).width() + 16); _resizeWidget->move((width() - _resizeWidget->width()) / 2, (height() - _resizeWidget->height()) / 2 + 20); _resizeWidget->show(); _resizeTimer->start(); diff --git a/src/terminalDisplay/TerminalDisplay.h b/src/terminalDisplay/TerminalDisplay.h index 443fc11c..ffd742c6 100644 --- a/src/terminalDisplay/TerminalDisplay.h +++ b/src/terminalDisplay/TerminalDisplay.h @@ -410,6 +410,8 @@ public: bool shape = true, bool bidi = true) const; + void showNotification(QString text); + public Q_SLOTS: /** * Causes the terminal display to fetch the latest character image from the associated