#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::slot_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); } } void MessangerController::slot_InitMessanger(QList listTrainees) { for(MessangerWidget* widget : listWidgets) { widget->slot_InitMessanger(listTrainees); } }