Рефакт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(); viewerTrainees->deactivate();
viewerInstructors->deactivate(); viewerInstructors->deactivate();
messangerController->clearAllWidgets(); messangerController->deleteAllWidgets();
loginInstructorLoggedInLocal = ""; loginInstructorLoggedInLocal = "";
nameInstructorLoggedInLocal = ""; nameInstructorLoggedInLocal = "";
@@ -321,7 +321,7 @@ void InstructorsAndTraineesWidget::on_btnAuthorizationInstructor_clicked()
{ {
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI); connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
connect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::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 else
ui->btnAuthorizationInstructor->setChecked(false); 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,viewerInstructors,&ViewerInstructors::slot_NeedUpdateUI);
disconnect(connectorToServer,&ConnectorToServer::signal_UpdateDB,viewerTrainees,&ViewerTrainees::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(); viewerTrainees->deactivate();
viewerInstructors->deactivate(); viewerInstructors->deactivate();
messangerController->clearAllWidgets(); messangerController->deleteAllWidgets();
} }
else else
ui->btnAuthorizationInstructor->setChecked(true); ui->btnAuthorizationInstructor->setChecked(true);

View File

@@ -10,8 +10,7 @@ MessangerController::MessangerController(ConnectorToServer* connectorToServer, Q
MessangerController::~MessangerController() MessangerController::~MessangerController()
{ {
for(MessangerWidget* widget : listWidgets) deleteAllWidgets();
delete widget;
} }
MessangerWidget *MessangerController::newWidget(QWidget *parent, Trainee* trainee, QVBoxLayout* boxLayout) 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) void MessangerController::setGUIclientId(QString id)
{ {
GUIclientId = 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) void MessangerController::slot_sendMessage(ClientMessage clientMessage)
{ {
connectorToServer->slot_sendMessage(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) for(MessangerWidget* widget : listWidgets)
{ {

View File

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

View File

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