Рефакт4 Мессенджера

This commit is contained in:
2025-09-09 12:53:29 +03:00
parent b0c02e208f
commit bb4cb9cfa3
4 changed files with 18 additions and 26 deletions

View File

@@ -239,7 +239,7 @@ void InstructorsAndTraineesWidget::slot_ConnectedToServer(bool state)
viewerTrainees->deactivate();
viewerInstructors->deactivate();
messangerController->clearAllWidgets();
messangerController->deleteAllWidgets();
loginInstructorLoggedInLocal = "";
nameInstructorLoggedInLocal = "";
@@ -321,7 +321,7 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
{
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
connect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::slot_initMessanger);
connect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::slot_reinitMessangers);
}
else
ui->btnAuthorizationInstructor->setChecked(false);
@@ -334,12 +334,12 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
{
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::slot_NeedUpdateUI);
disconnect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::slot_initMessanger);
disconnect(connectorToServer,&ConnectorToServer::signal_InitMessanger,messangerController,&MessangerController::slot_reinitMessangers);
viewerTrainees->deactivate();
viewerInstructors->deactivate();
messangerController->clearAllWidgets();
messangerController->deleteAllWidgets();
}
else
ui->btnAuthorizationInstructor->setChecked(true);

View File

@@ -10,8 +10,7 @@ MessangerController::MessangerController(ConnectorToServer* connectorToServer, Q
MessangerController::~MessangerController()
{
for(MessangerWidget* widget : listWidgets)
delete widget;
deleteAllWidgets();
}
MessangerWidget *MessangerController::newWidget(QWidget *parent, Trainee* trainee, QVBoxLayout* boxLayout)
@@ -64,6 +63,13 @@ void MessangerController::deleteWidget(MessangerWidget *msgWdgt)
}
}
void MessangerController::deleteAllWidgets()
{
for(MessangerWidget* widget : listWidgets)
delete widget;
listWidgets.clear();
}
void MessangerController::setGUIclientId(QString id)
{
GUIclientId = id;
@@ -74,20 +80,6 @@ void MessangerController::setGUIclientId(QString id)
}
}
void MessangerController::clearAllWidgets()
{
/*
for(MessangerWidget* widget : listWidgets)
{
widget->clear();
}
*/
for(MessangerWidget* widget : listWidgets)
delete widget;
listWidgets.clear();
}
void MessangerController::slot_sendMessage(ClientMessage clientMessage)
{
connectorToServer->slot_sendMessage(clientMessage);
@@ -138,7 +130,7 @@ void MessangerController::slot_receiveMessage(ClientMessage clientMessage)
}
}
void MessangerController::slot_initMessanger(QList<Trainee> listTrainees)
void MessangerController::slot_reinitMessangers(QList<Trainee> listTrainees)
{
for(MessangerWidget* widget : listWidgets)
{

View File

@@ -22,14 +22,15 @@ public:
public:
MessangerWidget* newWidget(QWidget *parent, Trainee* trainee, QVBoxLayout* boxLayout);
void deleteWidget(MessangerWidget* msgWdgt);
void deleteAllWidgets();
void setGUIclientId(QString id);
void clearAllWidgets();
void setGUIclientId(QString id);
public slots:
void slot_sendMessage(ClientMessage clientMessage);
void slot_receiveMessage(ClientMessage clientMessage);
void slot_initMessanger(QList<Trainee> listTrainees);
void slot_reinitMessangers(QList<Trainee> listTrainees);
private:
ConnectorToServer* connectorToServer;

View File

@@ -12,8 +12,6 @@ namespace Ui {
class MessangerWidget;
}
//Главный виджет мессенджера
class MessangerWidget : public QWidget
{
Q_OBJECT
@@ -67,6 +65,7 @@ private:
Ui::MessangerWidget *ui;
QList <TabDialogMessenger*> listTabDialogMessenger;
QList<Trainee> listTrainees; //?
Trainee trainee;
QString selectedUserLogin; //Логин клиента текущего диалога
QString selectedUserId; //id клиента текущего диалога
QString currClientId; //id этого клиента