File: chatconsumer.cpp

package info (click to toggle)
qt6-base 6.9.1%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 316,752 kB
  • sloc: cpp: 2,112,334; ansic: 381,848; xml: 142,587; python: 21,632; java: 8,505; asm: 4,009; javascript: 2,290; sh: 1,657; perl: 1,028; makefile: 131
file content (46 lines) | stat: -rw-r--r-- 1,123 bytes parent folder | download | duplicates (3)
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();
}