-
Notifications
You must be signed in to change notification settings - Fork 0
/
GUI_Chat.cpp
44 lines (26 loc) · 1.22 KB
/
GUI_Chat.cpp
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
#include "GUI_Chat.h"
GUI_Chat::GUI_Chat():QGroupBox("Chat"),__client(new Chat_client()){
this->init();
}
GUI_Chat::GUI_Chat(QString server, QString pseudo, QString channel):QGroupBox("Chat"),__client(new Chat_client(server.toStdString(),pseudo.toStdString(),channel.toStdString())){
this->init();
}
GUI_Chat::GUI_Chat(QWidget* window):QGroupBox("Chat",window){
this->init();
}
GUI_Chat& GUI_Chat::init(){
this->__output = new GUI_Chat_Output();
this->__button = new GUI_Chat_Button();
this->__input = new GUI_Chat_Input();
this->__client->start();
QObject::connect(this->__button, SIGNAL(clicked()), this->__input, SIGNAL(returnPressed()));
QObject::connect(this->__input, SIGNAL(send(QString)), this->__client->sender(), SLOT(forward(QString)));
QObject::connect(this->__client->receiver(), SIGNAL(received(QString)), this->__output, SLOT(addText(QString)));
this->__layout = new QGridLayout();
this->__layout->addWidget(this->__output,0,0,1,2);
this->__layout->addWidget(this->__input,1,0);
this->__layout->addWidget(this->__button,1,1);
this->__input->setFocus();
this->setLayout(this->__layout);
return *this;
}