Рефакт Месссенджера закончил :)

This commit is contained in:
2025-09-11 16:37:49 +03:00
parent f53256f5b1
commit d6795e4723
6 changed files with 68 additions and 63 deletions

View File

@@ -84,56 +84,12 @@ void MessangerController::slot_sendMessage(ClientMessage clientMessage)
{
connectorToServer->slot_sendMessage(clientMessage);
int id_user = clientMessage.toId.toInt();
QList<MessageOfMessanger>* list = nullptr;
if(mapAlldialogsWithClients.contains(id_user))
{//Уже есть
list = mapAlldialogsWithClients.value(id_user);
}
else
{//Новый
list = new QList<MessageOfMessanger>();
mapAlldialogsWithClients.insert(id_user, list);
}
MessageOfMessanger msg;
msg.flLocal = true;
msg.text = clientMessage.Text;
msg.time = QTime::currentTime();
list->append(msg);
clientMessage.timeStr = msg.time.toString("hh:mm");
for(MessangerWidget* widget : listWidgets)
{
widget->showSendedMessage(clientMessage);
}
showMessageInAllWidgets(clientMessage);
}
void MessangerController::slot_receiveMessage(ClientMessage clientMessage)
{
int id_user = clientMessage.fromId.toInt();
QList<MessageOfMessanger>* list = nullptr;
if(mapAlldialogsWithClients.contains(id_user))
{//Уже есть
list = mapAlldialogsWithClients.value(id_user);
}
else
{//Новый
list = new QList<MessageOfMessanger>();
mapAlldialogsWithClients.insert(id_user, list);
}
MessageOfMessanger msg;
msg.flLocal = false;
msg.text = clientMessage.Text;
msg.time = QTime::currentTime();
list->append(msg);
clientMessage.timeStr = msg.time.toString("hh:mm");
for(MessangerWidget* widget : listWidgets)
{
widget->showReceivedMessage(clientMessage);
}
showMessageInAllWidgets(clientMessage);
}
void MessangerController::slot_reinitMessangers(QList<User> listUsers)
@@ -150,3 +106,49 @@ void MessangerController::slot_reinitMessangers(QList<User> listUsers)
}
}
}
void MessangerController::showMessageInAllWidgets(ClientMessage clientMessage)
{
int id_user = 0;
MessageOfMessanger msg;
if(clientMessage.fromId == GUIclientId)
{//Send
id_user = clientMessage.toId.toInt();
msg.flLocal = true;
}
else
{//Receive
id_user = clientMessage.fromId.toInt();
msg.flLocal = false;
}
QList<MessageOfMessanger>* list = nullptr;
if(mapAlldialogsWithClients.contains(id_user))
{//Уже есть
list = mapAlldialogsWithClients.value(id_user);
}
else
{//Новый
list = new QList<MessageOfMessanger>();
mapAlldialogsWithClients.insert(id_user, list);
}
msg.text = clientMessage.Text;
msg.time = QTime::currentTime();
list->append(msg);
clientMessage.timeStr = msg.time.toString("hh:mm");
for(MessangerWidget* widget : listWidgets)
{
if(widget->getIDuserRemote() == id_user)
{
if(msg.flLocal)
widget->showSendedMessage(clientMessage);
else
widget->showReceivedMessage(clientMessage);
}
}
}