From bb4cb9cfa33e7339725d84e1440177960d116b63 Mon Sep 17 00:00:00 2001 From: krivoshein Date: Tue, 9 Sep 2025 12:53:29 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=824=20=D0=9C?= =?UTF-8?q?=D0=B5=D1=81=D1=81=D0=B5=D0=BD=D0=B4=D0=B6=D0=B5=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../instructorsandtraineeswidget.cpp | 8 +++--- .../messanger/messangercontroller.cpp | 26 +++++++------------ .../messanger/messangercontroller.h | 7 ++--- .../messanger/messangerwidget.h | 3 +-- 4 files changed, 18 insertions(+), 26 deletions(-) diff --git a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp index 105b764..b1c50bd 100644 --- a/InstructorsAndTrainees/instructorsandtraineeswidget.cpp +++ b/InstructorsAndTrainees/instructorsandtraineeswidget.cpp @@ -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); diff --git a/InstructorsAndTrainees/messanger/messangercontroller.cpp b/InstructorsAndTrainees/messanger/messangercontroller.cpp index b17c379..e701a0d 100644 --- a/InstructorsAndTrainees/messanger/messangercontroller.cpp +++ b/InstructorsAndTrainees/messanger/messangercontroller.cpp @@ -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 listTrainees) +void MessangerController::slot_reinitMessangers(QList listTrainees) { for(MessangerWidget* widget : listWidgets) { diff --git a/InstructorsAndTrainees/messanger/messangercontroller.h b/InstructorsAndTrainees/messanger/messangercontroller.h index 010ce0b..524338d 100644 --- a/InstructorsAndTrainees/messanger/messangercontroller.h +++ b/InstructorsAndTrainees/messanger/messangercontroller.h @@ -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 listTrainees); + + void slot_reinitMessangers(QList listTrainees); private: ConnectorToServer* connectorToServer; diff --git a/InstructorsAndTrainees/messanger/messangerwidget.h b/InstructorsAndTrainees/messanger/messangerwidget.h index 0bab1d7..b0628c3 100644 --- a/InstructorsAndTrainees/messanger/messangerwidget.h +++ b/InstructorsAndTrainees/messanger/messangerwidget.h @@ -12,8 +12,6 @@ namespace Ui { class MessangerWidget; } -//Главный виджет мессенджера - class MessangerWidget : public QWidget { Q_OBJECT @@ -67,6 +65,7 @@ private: Ui::MessangerWidget *ui; QList listTabDialogMessenger; QList listTrainees; //? + Trainee trainee; QString selectedUserLogin; //Логин клиента текущего диалога QString selectedUserId; //id клиента текущего диалога QString currClientId; //id этого клиента