Рефакт

This commit is contained in:
2025-09-12 14:49:02 +03:00
parent 2a8947f378
commit e12ca8b62e
7 changed files with 34 additions and 29 deletions

View File

@@ -177,7 +177,7 @@ void InstructorsAndTraineesWidget::slot_checkLoginResult(ServerAuthorization *se
updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName); updateLabelLoggedInInstructor(serverAuth->Login, serverAuth->ClientName);
connectorToServer->setLoginName(nameInstructorLoggedInLocal); connectorToServer->setLoginName(nameInstructorLoggedInLocal);
messangerController->setGUIclientId(serverAuth->Id); messangerController->setUserLocalGUI_ID(serverAuth->Id.toInt());
connectorToServer->sendQueryTasksXML("fim"); connectorToServer->sendQueryTasksXML("fim");
connectorToServer->sendQueryTasksXML("amm"); connectorToServer->sendQueryTasksXML("amm");

View File

@@ -3,7 +3,7 @@
MessangerController::MessangerController(ConnectorToServer* connectorToServer, QObject *parent) : MessangerController::MessangerController(ConnectorToServer* connectorToServer, QObject *parent) :
QObject(parent), QObject(parent),
connectorToServer(connectorToServer), connectorToServer(connectorToServer),
GUIclientId("") userLocalGUI_ID(0)
{ {
connect(connectorToServer, &ConnectorToServer::signal_receiveMessage, this, &MessangerController::slot_receiveMessage); connect(connectorToServer, &ConnectorToServer::signal_receiveMessage, this, &MessangerController::slot_receiveMessage);
} }
@@ -22,7 +22,7 @@ MessangerWidget *MessangerController::newWidget(QWidget *parent, User* user, QVB
connect(msgWdgt, &MessangerWidget::signal_sendMessage, this, &MessangerController::slot_sendMessage); connect(msgWdgt, &MessangerWidget::signal_sendMessage, this, &MessangerController::slot_sendMessage);
msgWdgt->initGUIclientId(GUIclientId); msgWdgt->initUserLocalGUI(connectorToServer->getInstructor(userLocalGUI_ID));
if(user) if(user)
{ {
@@ -38,9 +38,9 @@ MessangerWidget *MessangerController::newWidget(QWidget *parent, User* user, QVB
for(MessageOfMessanger msg : *list) for(MessageOfMessanger msg : *list)
{ {
if(msg.flLocal) if(msg.flLocal)
msgWdgt->showSendedMessage(ClientMessage(GUIclientId, QString::number(id_user), msg.text, msg.time.toString("hh:mm"))); msgWdgt->showSendedMessage(ClientMessage(QString::number(userLocalGUI_ID), QString::number(id_user), msg.text, msg.time.toString("hh:mm")));
else else
msgWdgt->showReceivedMessage(ClientMessage(QString::number(id_user), GUIclientId, msg.text, msg.time.toString("hh:mm"))); msgWdgt->showReceivedMessage(ClientMessage(QString::number(id_user), QString::number(userLocalGUI_ID), msg.text, msg.time.toString("hh:mm")));
} }
} }
} }
@@ -70,13 +70,13 @@ void MessangerController::deleteAllWidgets()
listWidgets.clear(); listWidgets.clear();
} }
void MessangerController::setGUIclientId(QString id_GUIclient) void MessangerController::setUserLocalGUI_ID(int id)
{ {
GUIclientId = id_GUIclient; userLocalGUI_ID = id;
for(MessangerWidget* widget : listWidgets) for(MessangerWidget* widget : listWidgets)
{ {
widget->initGUIclientId(GUIclientId); widget->initUserLocalGUI(connectorToServer->getInstructor(userLocalGUI_ID));
} }
} }
@@ -112,7 +112,7 @@ void MessangerController::showMessageInAllWidgets(ClientMessage clientMessage)
int id_user = 0; int id_user = 0;
MessageOfMessanger msg; MessageOfMessanger msg;
if(clientMessage.fromId == GUIclientId) if(clientMessage.fromId == QString::number(userLocalGUI_ID))
{//Send {//Send
id_user = clientMessage.toId.toInt(); id_user = clientMessage.toId.toInt();
msg.flLocal = true; msg.flLocal = true;

View File

@@ -25,7 +25,7 @@ public:
void deleteWidget(MessangerWidget* msgWdgt); void deleteWidget(MessangerWidget* msgWdgt);
void deleteAllWidgets(); void deleteAllWidgets();
void setGUIclientId(QString id_GUIclient); void setUserLocalGUI_ID(int id);
public slots: public slots:
void slot_sendMessage(ClientMessage clientMessage); void slot_sendMessage(ClientMessage clientMessage);
@@ -40,7 +40,7 @@ private:
ConnectorToServer* connectorToServer; ConnectorToServer* connectorToServer;
QList <MessangerWidget*> listWidgets; QList <MessangerWidget*> listWidgets;
QString GUIclientId; //id этого GUI клиента int userLocalGUI_ID;
QMap <int, QList<MessageOfMessanger>*> mapAlldialogsWithClients; QMap <int, QList<MessageOfMessanger>*> mapAlldialogsWithClients;
}; };

View File

@@ -11,7 +11,6 @@
MessangerWidget::MessangerWidget(QWidget *parent) : MessangerWidget::MessangerWidget(QWidget *parent) :
QWidget(parent), QWidget(parent),
oneDialogMessenger(nullptr), oneDialogMessenger(nullptr),
currGUIclientId(""),
ui(new Ui::MessangerWidget) ui(new Ui::MessangerWidget)
{ {
ui->setupUi(this); ui->setupUi(this);
@@ -46,9 +45,9 @@ void MessangerWidget::reinitMessangerWidget(User user)
} }
} }
void MessangerWidget::initGUIclientId(QString id_GUIclient) void MessangerWidget::initUserLocalGUI(User user)
{ {
currGUIclientId = id_GUIclient; userLocalGUI = user;
} }
int MessangerWidget::getIDuserRemote() int MessangerWidget::getIDuserRemote()
@@ -58,13 +57,13 @@ int MessangerWidget::getIDuserRemote()
void MessangerWidget::showSendedMessage(ClientMessage clientMessage) void MessangerWidget::showSendedMessage(ClientMessage clientMessage)
{ {
if(currGUIclientId == clientMessage.fromId) if(userLocalGUI.getID() == clientMessage.fromId.toInt())
oneDialogMessenger->addMsgWidgetLocal(clientMessage.Text, clientMessage.timeStr); oneDialogMessenger->addMsgWidgetLocal(clientMessage.Text, clientMessage.timeStr);
} }
void MessangerWidget::showReceivedMessage(ClientMessage clientMessage) void MessangerWidget::showReceivedMessage(ClientMessage clientMessage)
{ {
if(QString::number(userRemote.getID()) == clientMessage.fromId) if(userRemote.getID() == clientMessage.fromId.toInt())
oneDialogMessenger->addMsgWidgetRemote(clientMessage.Text, clientMessage.timeStr); oneDialogMessenger->addMsgWidgetRemote(clientMessage.Text, clientMessage.timeStr);
} }
@@ -73,7 +72,7 @@ void MessangerWidget::addTabDialogMessenger(User user)
if(!oneDialogMessenger) if(!oneDialogMessenger)
{//Диалога еще не существует {//Диалога еще не существует
oneDialogMessenger = new OneDialogMessenger(user, this); oneDialogMessenger = new OneDialogMessenger(userLocalGUI, userRemote, this);
ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger); ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger);
@@ -84,7 +83,7 @@ void MessangerWidget::addTabDialogMessenger(User user)
{//Диалог уже существует {//Диалог уже существует
//Проверяем наличие диалога именно с этим клиентом //Проверяем наличие диалога именно с этим клиентом
if(oneDialogMessenger->getUserId() == user.getID()) if(oneDialogMessenger->getUserRemoteId() == user.getID())
{ {
//Обновляем заголовок //Обновляем заголовок
updateHeader(user); updateHeader(user);
@@ -126,7 +125,7 @@ void MessangerWidget::updateHeader(User user)
void MessangerWidget::on_btnSend_clicked() void MessangerWidget::on_btnSend_clicked()
{ {
QString text = ui->editMsg->toPlainText(); QString text = ui->editMsg->toPlainText();
QString from = currGUIclientId; QString from = QString::number(userLocalGUI.getID());
QString to = QString::number(userRemote.getID()); QString to = QString::number(userRemote.getID());
ClientMessage message = ClientMessage(from, to, text); ClientMessage message = ClientMessage(from, to, text);

View File

@@ -23,7 +23,7 @@ public:
public: public:
void initUserRemote(User user); void initUserRemote(User user);
void reinitMessangerWidget(User user); void reinitMessangerWidget(User user);
void initGUIclientId(QString id_GUIclient); void initUserLocalGUI(User user);
int getIDuserRemote(); int getIDuserRemote();
void showSendedMessage(ClientMessage clientMessage); void showSendedMessage(ClientMessage clientMessage);
@@ -48,8 +48,8 @@ protected:
private: private:
OneDialogMessenger* oneDialogMessenger; OneDialogMessenger* oneDialogMessenger;
User userLocalGUI;
User userRemote; User userRemote;
QString currGUIclientId; //id этого клиента
QTranslator qtLanguageTranslator; QTranslator qtLanguageTranslator;

View File

@@ -5,10 +5,11 @@
#include "instructor.h" #include "instructor.h"
OneDialogMessenger::OneDialogMessenger(User user, QWidget *parent): OneDialogMessenger::OneDialogMessenger(User userLocalGUI, User userRemote, QWidget *parent):
QListWidget(parent) QListWidget(parent)
{ {
this->user = user; this->userLocalGUI = userLocalGUI;
this->userRemote = userRemote;
setWordWrap(true); setWordWrap(true);
setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn); setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn);
@@ -38,16 +39,20 @@ void OneDialogMessenger::addMsgWidget(QString text, QString timeStr, MsgWidget::
if(direction == MsgWidget::DirectionMsg::Outgoing) if(direction == MsgWidget::DirectionMsg::Outgoing)
{//Исходящее {//Исходящее
avatar = ":/resources/icons/instructor.png"; if(static_cast<Instructor*>(&userLocalGUI)->getIsAdmin())
avatar = ":/resources/icons/admin.png";
else
avatar = ":/resources/icons/instructor.png";
aligneAvatar = MsgWidget::AligneAvatar::Left; aligneAvatar = MsgWidget::AligneAvatar::Left;
} }
else else
{//Входящее {//Входящее
if(user.getTypeUserDB() == User::TypeUserDBTrainee) if(userRemote.getTypeUserDB() == User::TypeUserDBTrainee)
avatar = ":/resources/icons/trainee.png"; avatar = ":/resources/icons/trainee.png";
else else
{ {
if(static_cast<Instructor*>(&user)->getIsAdmin()) if(static_cast<Instructor*>(&userRemote)->getIsAdmin())
avatar = ":/resources/icons/admin.png"; avatar = ":/resources/icons/admin.png";
else else
avatar = ":/resources/icons/instructor.png"; avatar = ":/resources/icons/instructor.png";

View File

@@ -10,10 +10,10 @@ class OneDialogMessenger : public QListWidget
Q_OBJECT Q_OBJECT
public: public:
OneDialogMessenger(User user, QWidget *parent = nullptr); OneDialogMessenger(User userLocalGUI, User userRemote, QWidget *parent = nullptr);
~OneDialogMessenger(); ~OneDialogMessenger();
int getUserId() {return user.getID();} int getUserRemoteId() {return userRemote.getID();}
void addMsgWidgetLocal(QString text, QString timeStr = ""); void addMsgWidgetLocal(QString text, QString timeStr = "");
void addMsgWidgetRemote(QString text, QString timeStr = ""); void addMsgWidgetRemote(QString text, QString timeStr = "");
@@ -22,7 +22,8 @@ private:
void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction); void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction);
private: private:
User user; User userLocalGUI;
User userRemote;
}; };
#endif // TABDIALOGMESSENGER_H #endif // TABDIALOGMESSENGER_H