summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/qml/loggerwidget.cpp8
-rw-r--r--tools/qml/loggerwidget.h1
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