mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Завел контроллер Месанджера
This commit is contained in:
76
InstructorsAndTrainees/messanger/messangercontroller.cpp
Normal file
76
InstructorsAndTrainees/messanger/messangercontroller.cpp
Normal file
@@ -0,0 +1,76 @@
|
||||
#include "messangercontroller.h"
|
||||
|
||||
MessangerController::MessangerController(ConnectorToServer* connectorToServer, QObject *parent) :
|
||||
QObject(parent),
|
||||
connectorToServer(connectorToServer),
|
||||
currClientId("")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
MessangerController::~MessangerController()
|
||||
{
|
||||
for(MessangerWidget* widget : listWidgets)
|
||||
{
|
||||
delete widget;
|
||||
}
|
||||
}
|
||||
|
||||
MessangerWidget *MessangerController::newWidget(QWidget *parent)
|
||||
{
|
||||
MessangerWidget *msgWdgt = new MessangerWidget(parent);
|
||||
|
||||
connect(msgWdgt, &MessangerWidget::signal_sendMessage, this, &MessangerController::slot_sendMessage);
|
||||
connect(connectorToServer,&ConnectorToServer::signal_receiveMessage,msgWdgt,&MessangerWidget::slot_showMessage);
|
||||
|
||||
connect(this, &MessangerController::signal_traineeSelected, msgWdgt, &MessangerWidget::slot_traineeSelected);
|
||||
connect(msgWdgt, &MessangerWidget::signal_tabMessengerChanged, this, &MessangerController::signal_tabMessengerChanged);
|
||||
|
||||
connect(this, &MessangerController::signal_InitMessanger, msgWdgt,&MessangerWidget::slot_InitMessanger);
|
||||
|
||||
msgWdgt->initialize(currClientId);
|
||||
|
||||
listWidgets.append(msgWdgt);
|
||||
|
||||
return msgWdgt;
|
||||
}
|
||||
|
||||
void MessangerController::deleteWidget(MessangerWidget *msgWdgt)
|
||||
{
|
||||
for(int i = 0; i < listWidgets.count(); i++)
|
||||
{
|
||||
if(listWidgets.at(i) == msgWdgt)
|
||||
{
|
||||
delete msgWdgt;
|
||||
listWidgets.removeAt(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MessangerController::initialize(QString id)
|
||||
{
|
||||
currClientId = id;
|
||||
|
||||
for(MessangerWidget* widget : listWidgets)
|
||||
{
|
||||
widget->initialize(currClientId);
|
||||
}
|
||||
}
|
||||
|
||||
void MessangerController::clear()
|
||||
{
|
||||
for(MessangerWidget* widget : listWidgets)
|
||||
{
|
||||
widget->clear();
|
||||
}
|
||||
}
|
||||
|
||||
void MessangerController::slot_sendMessage(ClientMessage clientMessage)
|
||||
{
|
||||
connectorToServer->slot_sendMessage(clientMessage);
|
||||
|
||||
for(MessangerWidget* widget : listWidgets)
|
||||
{
|
||||
widget->addMsgWidgetLocal(clientMessage.Text);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user