Контроллер мессенджера доработанный

This commit is contained in:
2025-09-04 16:48:48 +03:00
parent 7a909d1ee5
commit adfd058fa1
15 changed files with 250 additions and 143 deletions

View File

@@ -2,9 +2,16 @@
#define MESSANGERCONTROLLER_H
#include <QObject>
#include <QVBoxLayout>
#include "messangerwidget.h"
#include "connectortoserver.h"
struct MessageOfMessanger
{
QString text;
bool flLocal;
};
class MessangerController : public QObject
{
Q_OBJECT
@@ -13,28 +20,30 @@ public:
~MessangerController();
public:
MessangerWidget* newWidget(QWidget *parent);
MessangerWidget* newWidget(QWidget *parent, Trainee* trainee = nullptr, QVBoxLayout* boxLayout = nullptr);
void deleteWidget(MessangerWidget* msgWdgt);
void initialize(QString id);
void clear();
void setGUIclientId(QString id);
void clearAllWidgets();
signals:
void signal_tabMessengerChanged(QString login);
void signal_traineeSelected(QString login);
public slots:
void slot_sendMessage(ClientMessage clientMessage);
void slot_InitMessanger(QList<Trainee> listTrainees);
void slot_tabMessengerChanged(QString login);
void slot_receiveMessage(ClientMessage clientMessage);
void slot_initMessanger(QList<Trainee> listTrainees);
void slot_traineeSelected(QString login);
private:
ConnectorToServer* connectorToServer;
QList <MessangerWidget*> listWidgets;
QString currClientId; //id этого клиента
QString GUIclientId; //id этого GUI клиента
QMap <int, QList<MessageOfMessanger>*> mapAlldialogsWithClients;
};
#endif // MESSANGERCONTROLLER_H