message bubbles, avatar rounding, roster adjusments

This commit is contained in:
Blue 2022-01-09 01:28:29 +03:00
parent 9ac0ca10f3
commit 8a2658e4fc
Signed by untrusted user: blue
GPG key ID: 9B203B252A63EE38
7 changed files with 158 additions and 49 deletions

View file

@ -25,12 +25,16 @@
#include <QTimer>
#include <QFileDialog>
#include <QMimeDatabase>
#include <unistd.h>
#include <QAbstractTextDocumentLayout>
#include <QCoreApplication>
#include <QTemporaryFile>
#include <QDir>
#include <QMenu>
#include <QBitmap>
#include <unistd.h>
constexpr QSize avatarSize(50, 50);
Conversation::Conversation(bool muc, Models::Account* acc, Models::Element* el, const QString pJid, const QString pRes, QWidget* parent):
QWidget(parent),
@ -348,11 +352,25 @@ void Conversation::onClearButton()
void Conversation::setAvatar(const QString& path)
{
QPixmap pixmap;
if (path.size() == 0) {
m_ui->avatar->setPixmap(Shared::icon("user", true).pixmap(QSize(50, 50)));
pixmap = Shared::icon("user", true).pixmap(avatarSize);
} else {
m_ui->avatar->setPixmap(path);
pixmap = QPixmap(path).scaled(avatarSize);
}
QPixmap result(avatarSize);
result.fill(Qt::transparent);
QPainter painter(&result);
painter.setRenderHint(QPainter::Antialiasing);
painter.setRenderHint(QPainter::SmoothPixmapTransform);
QPainterPath maskPath;
maskPath.addEllipse(0, 0, avatarSize.width(), avatarSize.height());
painter.setClipPath(maskPath);
painter.drawPixmap(0, 0, pixmap);
m_ui->avatar->setPixmap(result);
}
void Conversation::onTextEditDocSizeChanged(const QSizeF& size)