#include #include "tabdialogmessenger.h" #include "msgwidget.h" OneDialogMessenger::OneDialogMessenger(QString login , QString userId, QWidget *parent): QListWidget(parent), login(""), userId("") { this->userId = userId; this->login = login; setWordWrap(true); setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn); } OneDialogMessenger::~OneDialogMessenger() { } void OneDialogMessenger::addMsgWidgetLocal(QString text, QString timeStr) { 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 = ""; 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; MsgWidget *msgWidget = new MsgWidget(avatar, aligneAvatar, widthW - widthSB); addItem(listWidgetItem); setItemWidget(listWidgetItem, msgWidget); msgWidget->setText(text); msgWidget->setTime(timeStr); //Корректировка высоты item listWidgetItem->setSizeHint (QSize(10, msgWidget->height())); scrollToItem(listWidgetItem); }