summary refs log tree commit diff
path: root/src/ui/Avatar.cpp
diff options
context:
space:
mode:
authorJoseph Donofry <joedonofry@gmail.com>2019-09-04 12:23:22 -0400
committerGitHub <noreply@github.com>2019-09-04 12:23:22 -0400
commit15c1cd5d66f6c4b21e7cd96c7573183705731956 (patch)
tree54692f725591e642c93b6c8e219fcdda76ea46af /src/ui/Avatar.cpp
parentMerge pull request #86 from Nheko-Reborn/avatar-memory-usage (diff)
parentre-re-linted (diff)
downloadnheko-15c1cd5d66f6c4b21e7cd96c7573183705731956.tar.xz
Merge pull request #92 from pupper68k/0.7.0-dev-bugfix-71
Add settings option to display avatars as squares
Diffstat (limited to 'src/ui/Avatar.cpp')
-rw-r--r--src/ui/Avatar.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ui/Avatar.cpp b/src/ui/Avatar.cpp

index 98bf21c6..501a8968 100644 --- a/src/ui/Avatar.cpp +++ b/src/ui/Avatar.cpp
@@ -1,4 +1,5 @@ #include <QPainter> +#include <QSettings> #include "AvatarProvider.h" #include "Utils.h" @@ -100,6 +101,8 @@ Avatar::setIcon(const QIcon &icon) void Avatar::paintEvent(QPaintEvent *) { + bool rounded = QSettings().value("user/avatar/circles", true).toBool(); + QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); @@ -113,7 +116,8 @@ Avatar::paintEvent(QPaintEvent *) painter.setPen(Qt::NoPen); painter.setBrush(brush); - painter.drawEllipse(r.center(), hs, hs); + rounded ? painter.drawEllipse(r.center(), hs, hs) + : painter.drawRoundedRect(r, 3, 3); } switch (type_) { @@ -126,7 +130,10 @@ Avatar::paintEvent(QPaintEvent *) } case ui::AvatarType::Image: { QPainterPath ppath; - ppath.addEllipse(width() / 2 - hs, height() / 2 - hs, size_, size_); + + rounded ? ppath.addEllipse(width() / 2 - hs, height() / 2 - hs, size_, size_) + : ppath.addRoundedRect(r, 3, 3); + painter.setClipPath(ppath); painter.drawPixmap(QRect(width() / 2 - hs, height() / 2 - hs, size_, size_), pixmap_);