05fc3aef53
Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
// 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();
|
|
}
|