mirror of
https://gitea.msk.dinamika-avia.ru/Constanta-Design/RRJServer.git
synced 2026-03-28 19:55:48 +03:00
Рефакт
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
MessangerController::MessangerController(ConnectorToServer* connectorToServer, QObject *parent) :
|
||||
QObject(parent),
|
||||
connectorToServer(connectorToServer),
|
||||
GUIclientId("")
|
||||
userLocalGUI_ID(0)
|
||||
{
|
||||
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);
|
||||
|
||||
msgWdgt->initGUIclientId(GUIclientId);
|
||||
msgWdgt->initUserLocalGUI(connectorToServer->getInstructor(userLocalGUI_ID));
|
||||
|
||||
if(user)
|
||||
{
|
||||
@@ -38,9 +38,9 @@ MessangerWidget *MessangerController::newWidget(QWidget *parent, User* user, QVB
|
||||
for(MessageOfMessanger msg : *list)
|
||||
{
|
||||
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
|
||||
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();
|
||||
}
|
||||
|
||||
void MessangerController::setGUIclientId(QString id_GUIclient)
|
||||
void MessangerController::setUserLocalGUI_ID(int id)
|
||||
{
|
||||
GUIclientId = id_GUIclient;
|
||||
userLocalGUI_ID = id;
|
||||
|
||||
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;
|
||||
MessageOfMessanger msg;
|
||||
|
||||
if(clientMessage.fromId == GUIclientId)
|
||||
if(clientMessage.fromId == QString::number(userLocalGUI_ID))
|
||||
{//Send
|
||||
id_user = clientMessage.toId.toInt();
|
||||
msg.flLocal = true;
|
||||
|
||||
@@ -25,7 +25,7 @@ public:
|
||||
void deleteWidget(MessangerWidget* msgWdgt);
|
||||
void deleteAllWidgets();
|
||||
|
||||
void setGUIclientId(QString id_GUIclient);
|
||||
void setUserLocalGUI_ID(int id);
|
||||
|
||||
public slots:
|
||||
void slot_sendMessage(ClientMessage clientMessage);
|
||||
@@ -40,7 +40,7 @@ private:
|
||||
ConnectorToServer* connectorToServer;
|
||||
QList <MessangerWidget*> listWidgets;
|
||||
|
||||
QString GUIclientId; //id этого GUI клиента
|
||||
int userLocalGUI_ID;
|
||||
|
||||
QMap <int, QList<MessageOfMessanger>*> mapAlldialogsWithClients;
|
||||
};
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
MessangerWidget::MessangerWidget(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
oneDialogMessenger(nullptr),
|
||||
currGUIclientId(""),
|
||||
ui(new Ui::MessangerWidget)
|
||||
{
|
||||
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()
|
||||
@@ -58,13 +57,13 @@ int MessangerWidget::getIDuserRemote()
|
||||
|
||||
void MessangerWidget::showSendedMessage(ClientMessage clientMessage)
|
||||
{
|
||||
if(currGUIclientId == clientMessage.fromId)
|
||||
if(userLocalGUI.getID() == clientMessage.fromId.toInt())
|
||||
oneDialogMessenger->addMsgWidgetLocal(clientMessage.Text, clientMessage.timeStr);
|
||||
}
|
||||
|
||||
void MessangerWidget::showReceivedMessage(ClientMessage clientMessage)
|
||||
{
|
||||
if(QString::number(userRemote.getID()) == clientMessage.fromId)
|
||||
if(userRemote.getID() == clientMessage.fromId.toInt())
|
||||
oneDialogMessenger->addMsgWidgetRemote(clientMessage.Text, clientMessage.timeStr);
|
||||
}
|
||||
|
||||
@@ -73,7 +72,7 @@ void MessangerWidget::addTabDialogMessenger(User user)
|
||||
if(!oneDialogMessenger)
|
||||
{//Диалога еще не существует
|
||||
|
||||
oneDialogMessenger = new OneDialogMessenger(user, this);
|
||||
oneDialogMessenger = new OneDialogMessenger(userLocalGUI, userRemote, this);
|
||||
|
||||
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);
|
||||
@@ -126,7 +125,7 @@ void MessangerWidget::updateHeader(User user)
|
||||
void MessangerWidget::on_btnSend_clicked()
|
||||
{
|
||||
QString text = ui->editMsg->toPlainText();
|
||||
QString from = currGUIclientId;
|
||||
QString from = QString::number(userLocalGUI.getID());
|
||||
QString to = QString::number(userRemote.getID());
|
||||
|
||||
ClientMessage message = ClientMessage(from, to, text);
|
||||
|
||||
@@ -23,7 +23,7 @@ public:
|
||||
public:
|
||||
void initUserRemote(User user);
|
||||
void reinitMessangerWidget(User user);
|
||||
void initGUIclientId(QString id_GUIclient);
|
||||
void initUserLocalGUI(User user);
|
||||
int getIDuserRemote();
|
||||
|
||||
void showSendedMessage(ClientMessage clientMessage);
|
||||
@@ -48,8 +48,8 @@ protected:
|
||||
|
||||
private:
|
||||
OneDialogMessenger* oneDialogMessenger;
|
||||
User userLocalGUI;
|
||||
User userRemote;
|
||||
QString currGUIclientId; //id этого клиента
|
||||
|
||||
QTranslator qtLanguageTranslator;
|
||||
|
||||
|
||||
@@ -5,10 +5,11 @@
|
||||
#include "instructor.h"
|
||||
|
||||
|
||||
OneDialogMessenger::OneDialogMessenger(User user, QWidget *parent):
|
||||
OneDialogMessenger::OneDialogMessenger(User userLocalGUI, User userRemote, QWidget *parent):
|
||||
QListWidget(parent)
|
||||
{
|
||||
this->user = user;
|
||||
this->userLocalGUI = userLocalGUI;
|
||||
this->userRemote = userRemote;
|
||||
|
||||
setWordWrap(true);
|
||||
setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn);
|
||||
@@ -38,16 +39,20 @@ void OneDialogMessenger::addMsgWidget(QString text, QString timeStr, MsgWidget::
|
||||
|
||||
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;
|
||||
}
|
||||
else
|
||||
{//Входящее
|
||||
if(user.getTypeUserDB() == User::TypeUserDBTrainee)
|
||||
if(userRemote.getTypeUserDB() == User::TypeUserDBTrainee)
|
||||
avatar = ":/resources/icons/trainee.png";
|
||||
else
|
||||
{
|
||||
if(static_cast<Instructor*>(&user)->getIsAdmin())
|
||||
if(static_cast<Instructor*>(&userRemote)->getIsAdmin())
|
||||
avatar = ":/resources/icons/admin.png";
|
||||
else
|
||||
avatar = ":/resources/icons/instructor.png";
|
||||
|
||||
@@ -10,10 +10,10 @@ class OneDialogMessenger : public QListWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
OneDialogMessenger(User user, QWidget *parent = nullptr);
|
||||
OneDialogMessenger(User userLocalGUI, User userRemote, QWidget *parent = nullptr);
|
||||
~OneDialogMessenger();
|
||||
|
||||
int getUserId() {return user.getID();}
|
||||
int getUserRemoteId() {return userRemote.getID();}
|
||||
|
||||
void addMsgWidgetLocal(QString text, QString timeStr = "");
|
||||
void addMsgWidgetRemote(QString text, QString timeStr = "");
|
||||
@@ -22,7 +22,8 @@ private:
|
||||
void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction);
|
||||
|
||||
private:
|
||||
User user;
|
||||
User userLocalGUI;
|
||||
User userRemote;
|
||||
};
|
||||
|
||||
#endif // TABDIALOGMESSENGER_H
|
||||
|
||||
Reference in New Issue
Block a user