diff options
-rw-r--r-- | tools/qml/loggerwidget.cpp | 8 | ||||
-rw-r--r-- | tools/qml/loggerwidget.h | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/tools/qml/loggerwidget.cpp b/tools/qml/loggerwidget.cpp index 3456d96c..7db3fc83 100644 --- a/tools/qml/loggerwidget.cpp +++ b/tools/qml/loggerwidget.cpp @@ -104,6 +104,11 @@ LoggerWidget::LoggerWidget(QWidget *parent) : void LoggerWidget::append(const QString &msg) { + if (!isVisible()) { + // appending the message for real can take a couple of milliseconds, so if we don't have to... + m_queuedMessages.append(msg); + return; + } m_plainTextEdit->appendPlainText(msg); if (!isVisible() && (defaultVisibility() == AutoShowWarnings)) @@ -174,6 +179,9 @@ void LoggerWidget::warningsPreferenceChanged(QAction *action) void LoggerWidget::showEvent(QShowEvent *event) { + foreach (const QString &msg, m_queuedMessages) + m_plainTextEdit->appendPlainText(msg); + m_queuedMessages.clear(); QWidget::showEvent(event); emit opened(); } diff --git a/tools/qml/loggerwidget.h b/tools/qml/loggerwidget.h index 8ec25f02..bc9991cb 100644 --- a/tools/qml/loggerwidget.h +++ b/tools/qml/loggerwidget.h @@ -92,6 +92,7 @@ private: enum ConfigOrigin { CommandLineOrigin, SettingsOrigin }; ConfigOrigin m_visibilityOrigin; Visibility m_visibility; + QStringList m_queuedMessages; }; QT_END_NAMESPACE |