diff --git a/InstructorsAndTrainees/messanger/messangerwidget.cpp b/InstructorsAndTrainees/messanger/messangerwidget.cpp index 61e24d2..7817c77 100644 --- a/InstructorsAndTrainees/messanger/messangerwidget.cpp +++ b/InstructorsAndTrainees/messanger/messangerwidget.cpp @@ -89,7 +89,7 @@ void MessangerWidget::addTabDialogMessenger(User user) else {//Диалог уже существует - //Проверяем наличие диалога с этим клиентом + //Проверяем наличие диалога именно с этим клиентом if(tabDialogMessenger->getUserLogin() == user.getLogin()) { //Обновляем статус залогинивания diff --git a/InstructorsAndTrainees/messanger/tabdialogmessenger.cpp b/InstructorsAndTrainees/messanger/tabdialogmessenger.cpp index 26aa074..c791d83 100644 --- a/InstructorsAndTrainees/messanger/tabdialogmessenger.cpp +++ b/InstructorsAndTrainees/messanger/tabdialogmessenger.cpp @@ -22,43 +22,39 @@ OneDialogMessenger::~OneDialogMessenger() void OneDialogMessenger::addMsgWidgetLocal(QString text, QString timeStr) { - QListWidgetItem *listWidgetItem = new QListWidgetItem(); - QString avatar = ":/resources/icons/instructor.png"; - - int widthW = width(); - int widthSB = verticalScrollBar()->size().width(); - //TODO Времянка - widthW = 450; - widthSB = 17; - - MsgWidget *msgWidget = new MsgWidget(avatar, MsgWidget::AligneAvatar::Left, - widthW - widthSB); - - addItem(listWidgetItem); - setItemWidget(listWidgetItem, msgWidget); - - msgWidget->setText(text); - msgWidget->setTime(timeStr); - - //Корректировка высоты item - listWidgetItem->setSizeHint (QSize(10, msgWidget->height())); - - scrollToItem(listWidgetItem); + addMsgWidget(text, timeStr, MsgWidget::DirectionMsg::Outgoing); } void OneDialogMessenger::addMsgWidgetRemote(QString text, QString timeStr) +{ + addMsgWidget(text, timeStr, MsgWidget::DirectionMsg::Incoming); +} + +void OneDialogMessenger::addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction) { QListWidgetItem *listWidgetItem = new QListWidgetItem(); - QString avatar = ":/resources/icons/trainee.png"; + + QString avatar = ""; + MsgWidget::AligneAvatar aligneAvatar = MsgWidget::AligneAvatar::Left; + + //TODO уточнить аватарки! + if(direction == MsgWidget::DirectionMsg::Outgoing) + { + avatar = ":/resources/icons/instructor.png"; + aligneAvatar = MsgWidget::AligneAvatar::Left; + } + else + { + avatar = ":/resources/icons/trainee.png"; + aligneAvatar = MsgWidget::AligneAvatar::Right; + } int widthW = width(); int widthSB = verticalScrollBar()->size().width(); //TODO Времянка widthW = 450; - widthSB = 17; - MsgWidget *msgWidget = new MsgWidget(avatar, MsgWidget::AligneAvatar::Right, - widthW - widthSB); + MsgWidget *msgWidget = new MsgWidget(avatar, aligneAvatar, widthW - widthSB); addItem(listWidgetItem); setItemWidget(listWidgetItem, msgWidget); diff --git a/InstructorsAndTrainees/messanger/tabdialogmessenger.h b/InstructorsAndTrainees/messanger/tabdialogmessenger.h index eecfc59..de85790 100644 --- a/InstructorsAndTrainees/messanger/tabdialogmessenger.h +++ b/InstructorsAndTrainees/messanger/tabdialogmessenger.h @@ -2,6 +2,7 @@ #define TABDIALOGMESSENGER_H #include +#include "msgwidget.h" //Закладка ведения диалога с одним клиентом @@ -21,6 +22,9 @@ public: void addMsgWidgetLocal(QString text, QString timeStr = ""); void addMsgWidgetRemote(QString text, QString timeStr = ""); +private: + void addMsgWidget(QString text, QString timeStr, MsgWidget::DirectionMsg direction); + private: QString login; QString userId;