summaryrefslogtreecommitdiffstats
path: root/examples/client/console.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/client/console.cpp')
-rw-r--r--examples/client/console.cpp76
1 files changed, 76 insertions, 0 deletions
diff --git a/examples/client/console.cpp b/examples/client/console.cpp
new file mode 100644
index 0000000..8b4f1a5
--- /dev/null
+++ b/examples/client/console.cpp
@@ -0,0 +1,76 @@
1/*
2 * Copyright (C) 2014 Aaron Seigo <aseigo@kde.org>
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) version 3, or any
8 * later version accepted by the membership of KDE e.V. (or its
9 * successor approved by the membership of KDE e.V.), which shall
10 * act as a proxy defined in Section 6 of version 3 of the license.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#include "console.h"
22
23#include <QFontDatabase>
24#include <QLabel>
25#include <QTextBrowser>
26#include <QVBoxLayout>
27
28static Console *s_console = 0;
29
30Console *Console::main()
31{
32 if (!s_console) {
33 s_console = new Console(QString());
34 }
35 return s_console;
36}
37
38Console::Console(const QString &title)
39 : QWidget(0)
40{
41 if (!s_console) {
42 s_console = this;
43 }
44
45 resize(1000, 1500);
46
47 QVBoxLayout *topLayout = new QVBoxLayout(this);
48
49 QLabel *titleLabel = new QLabel(this);
50 titleLabel->setText(title);
51 QFont font = titleLabel->font();
52 font.setWeight(QFont::Bold);
53 titleLabel->setFont(font);
54 titleLabel->setAlignment(Qt::AlignCenter);
55
56 QFont consoleFont = QFontDatabase::systemFont(QFontDatabase::FixedFont);
57 consoleFont.setPointSize(7);
58 m_textDisplay = new QTextBrowser(this);
59 m_textDisplay->document()->setDefaultFont(consoleFont);
60 topLayout->addWidget(titleLabel);
61 topLayout->addWidget(m_textDisplay, 10);
62
63 show();
64 m_timestamper.start();
65}
66
67Console::~Console()
68{
69
70}
71
72void Console::log(const QString &message)
73{
74 m_textDisplay->append(QString::number(m_timestamper.elapsed()).rightJustified(6) + ": " + message);
75}
76