blob: d71fb107d83677c3da7284825aa874ea4f3a46b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
// Copyright (C) 2016 Alex Trotsenko <alex1973tr@gmail.com>
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "chatconsumer.h"
#include <QWidget>
#include <QTextEdit>
#include <QLineEdit>
#include <QVBoxLayout>
#include <QString>
ChatConsumer::ChatConsumer(QObject *parent)
: Consumer(parent)
{
frameWidget = new QWidget;
frameWidget->setFocusPolicy(Qt::TabFocus);
textEdit = new QTextEdit;
textEdit->setFocusPolicy(Qt::NoFocus);
textEdit->setReadOnly(true);
lineEdit = new QLineEdit;
frameWidget->setFocusProxy(lineEdit);
connect(lineEdit, &QLineEdit::returnPressed, this, &ChatConsumer::returnPressed);
QVBoxLayout *layout = new QVBoxLayout(frameWidget);
layout->setContentsMargins( 0, 0, 0, 0);
layout->addWidget(textEdit);
layout->addWidget(lineEdit);
}
QWidget *ChatConsumer::widget()
{
return frameWidget;
}
void ChatConsumer::readDatagram(const QByteArray &ba)
{
textEdit->append(QString::fromUtf8(ba));
}
void ChatConsumer::returnPressed()
{
emit writeDatagram(lineEdit->text().toUtf8());
lineEdit->clear();
}
|