Правильные аватары для Юзеров (удаленных) в чате

This commit is contained in:
2025-09-12 12:51:21 +03:00
parent 96d63effa5
commit 2a8947f378
3 changed files with 16 additions and 14 deletions

View File

@@ -73,7 +73,7 @@ void MessangerWidget::addTabDialogMessenger(User user)
if(!oneDialogMessenger) if(!oneDialogMessenger)
{//Диалога еще не существует {//Диалога еще не существует
oneDialogMessenger = new OneDialogMessenger(QString::number(user.getID()), user.getTypeUserDB(), this); oneDialogMessenger = new OneDialogMessenger(user, this);
ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger); ui->verticalLayout_ListMsg->addWidget(oneDialogMessenger);

View File

@@ -2,15 +2,13 @@
#include "tabdialogmessenger.h" #include "tabdialogmessenger.h"
#include "msgwidget.h" #include "msgwidget.h"
#include "user.h" #include "user.h"
#include "instructor.h"
OneDialogMessenger::OneDialogMessenger(QString userId, QString typeUserDB, QWidget *parent): OneDialogMessenger::OneDialogMessenger(User user, QWidget *parent):
QListWidget(parent), QListWidget(parent)
userId(""),
typeUserDB("")
{ {
this->userId = userId; this->user = user;
this->typeUserDB = typeUserDB;
setWordWrap(true); setWordWrap(true);
setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn); setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn);
@@ -38,7 +36,6 @@ void OneDialogMessenger::addMsgWidget(QString text, QString timeStr, MsgWidget::
QString avatar = ""; QString avatar = "";
MsgWidget::AligneAvatar aligneAvatar = MsgWidget::AligneAvatar::Left; MsgWidget::AligneAvatar aligneAvatar = MsgWidget::AligneAvatar::Left;
//TODO уточнить аватарки!
if(direction == MsgWidget::DirectionMsg::Outgoing) if(direction == MsgWidget::DirectionMsg::Outgoing)
{//Исходящее {//Исходящее
avatar = ":/resources/icons/instructor.png"; avatar = ":/resources/icons/instructor.png";
@@ -46,10 +43,15 @@ void OneDialogMessenger::addMsgWidget(QString text, QString timeStr, MsgWidget::
} }
else else
{//Входящее {//Входящее
if(typeUserDB == User::TypeUserDBTrainee) if(user.getTypeUserDB() == User::TypeUserDBTrainee)
avatar = ":/resources/icons/trainee.png"; avatar = ":/resources/icons/trainee.png";
else else
avatar = ":/resources/icons/instructor.png"; {
if(static_cast<Instructor*>(&user)->getIsAdmin())
avatar = ":/resources/icons/admin.png";
else
avatar = ":/resources/icons/instructor.png";
}
aligneAvatar = MsgWidget::AligneAvatar::Right; aligneAvatar = MsgWidget::AligneAvatar::Right;
} }

View File

@@ -3,16 +3,17 @@
#include <QListWidget> #include <QListWidget>
#include "msgwidget.h" #include "msgwidget.h"
#include "user.h"
class OneDialogMessenger : public QListWidget class OneDialogMessenger : public QListWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
OneDialogMessenger(QString userId, QString typeUserDB, QWidget *parent = nullptr); OneDialogMessenger(User user, QWidget *parent = nullptr);
~OneDialogMessenger(); ~OneDialogMessenger();
QString getUserId() {return userId;} int getUserId() {return user.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 = "");
@@ -21,8 +22,7 @@ private:
void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction); void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction);
private: private:
QString userId; User user;
QString typeUserDB;
}; };
#endif // TABDIALOGMESSENGER_H #endif // TABDIALOGMESSENGER_H