This commit is contained in:
krivoshein
2024-12-20 16:20:55 +03:00
parent bc1f864815
commit 5e32b53f1b
47 changed files with 1050 additions and 475 deletions

View File

@@ -1,10 +1,13 @@
#include <QListWidget>
#include <QBrush>
#include <QKeyEvent>
#include "messangerwidget.h"
#include "ui_messangerwidget.h"
#include <QAbstractScrollArea>
#include <QMessageBox>
#include <QLabel>
#include <QScrollBar>
#include "messangerwidget.h"
#include "ui_messangerwidget.h"
#include "msgwidget.h"
MessangerWidget::MessangerWidget(QWidget *parent) :
QWidget(parent),
@@ -37,13 +40,7 @@ void MessangerWidget::addMsg(Trainee trainee, QString text, MessangerWidget::ETy
//Добавляем в существующую вкладку
ui->tabWidget->setCurrentIndex(dialogMsg.getIndexTab());
QListWidgetItem* item = new QListWidgetItem(QIcon(":/icons/trainee.png"), prefix + text);
//item->setTextAlignment(Qt::AlignBaseline);
//QString style = QStringLiteral("QListView::item { color: red; }");
//dialogMsg.getListWidget()->setStyleSheet(style);
//item->setBackground(QBrush(QColor(200, 200, 255)));
dialogMsg.getListWidget()->addItem(item);
dialogMsg.addMsgWidgetRemote(text);
currLogin = trainee.getLogin();
return;
@@ -71,7 +68,9 @@ void MessangerWidget::addTabDialogMessenger(Trainee trainee)
//Добавляем новую вкладку диалога
QListWidget* listWidget = new QListWidget();
listWidget->setWordWrap(true);
//listWidget->setItemAlignment(Qt::AlignmentFlag::AlignTop);
listWidget->setVerticalScrollBarPolicy(Qt::ScrollBarPolicy::ScrollBarAlwaysOn);
int index = ui->tabWidget->addTab(listWidget, /*login + ": " +*/ trainee.getName());
if(trainee.getLoggedIn())
@@ -102,9 +101,7 @@ void MessangerWidget::on_btnSend_clicked()
//Добавляем в существующую вкладку
ui->tabWidget->setCurrentIndex(dialogMsg.getIndexTab());
QListWidgetItem* item = new QListWidgetItem(QIcon(":/icons/instructor.png"), prefix + text);
//item->setBackground(QBrush(QColor(200, 255, 200)));
dialogMsg.getListWidget()->addItem(item);
dialogMsg.addMsgWidgetLocal(text);
return;
}
@@ -182,3 +179,37 @@ void MessangerWidget::changeEvent(QEvent *event)
}
}
void TabDialogMessenger::addMsgWidgetLocal(QString text)
{
QListWidgetItem *listWidgetItem = new QListWidgetItem();
QString avatar = ":/icons/instructor.png";
MsgWidget *msgWidget = new MsgWidget(avatar, MsgWidget::AligneAvatar::Left,
listWidget->width() - listWidget->verticalScrollBar()->size().width());
listWidget->addItem(listWidgetItem);
listWidget->setItemWidget(listWidgetItem, msgWidget);
msgWidget->setText(text);
listWidgetItem->setSizeHint (QSize(10, msgWidget->height()));
listWidget->scrollToItem(listWidgetItem);
}
void TabDialogMessenger::addMsgWidgetRemote(QString text)
{
QListWidgetItem *listWidgetItem = new QListWidgetItem();
QString avatar = ":/icons/trainee.png";
MsgWidget *msgWidget = new MsgWidget(avatar, MsgWidget::AligneAvatar::Right,
listWidget->width() - listWidget->verticalScrollBar()->size().width());
listWidget->addItem(listWidgetItem);
listWidget->setItemWidget(listWidgetItem, msgWidget);
msgWidget->setText(text);
listWidgetItem->setSizeHint (QSize(10, msgWidget->height()));
listWidget->scrollToItem(listWidgetItem);
}