summaryrefslogtreecommitdiffstats
path: root/tools/qml/loggerwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/qml/loggerwidget.cpp')
-rw-r--r--tools/qml/loggerwidget.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/tools/qml/loggerwidget.cpp b/tools/qml/loggerwidget.cpp
new file mode 100644
index 0000000..df94ba0
--- /dev/null
+++ b/tools/qml/loggerwidget.cpp
@@ -0,0 +1,29 @@
+#include "loggerwidget.h"
+#include <qglobal.h>
+#include <QDebug>
+
+QT_BEGIN_NAMESPACE
+
+LoggerWidget::LoggerWidget(QWidget *parent) :
+ QPlainTextEdit(parent),
+ m_keepClosed(false)
+{
+ setAttribute(Qt::WA_QuitOnClose, false);
+ setWindowTitle(tr("Qt Declarative UI Viewer - Logger"));
+}
+
+void LoggerWidget::append(QtMsgType /*type*/, const char *msg)
+{
+ appendPlainText(QString::fromAscii(msg));
+
+ if (!m_keepClosed && !isVisible())
+ setVisible(true);
+}
+
+void LoggerWidget::closeEvent(QCloseEvent *event)
+{
+ m_keepClosed = true;
+ QWidget::closeEvent(event);
+}
+
+QT_END_NAMESPACE