summary refs log tree commit diff
path: root/src/ui/Avatar.cpp
diff options
context:
space:
mode:
authorJoseph Donofry <joedonofry@gmail.com>2019-09-06 16:03:54 -0400
committerJoseph Donofry <joedonofry@gmail.com>2019-09-06 16:03:54 -0400
commit8b33c51457584c50e579ffc6bd9fcfec761c8580 (patch)
treeff70176212078fbe3fb6f7e55c1bf0f24c9d16d2 /src/ui/Avatar.cpp
parentMerge branch '0.7.0-dev' of ssh://github.com/Nheko-Reborn/nheko into 0.7.0-dev (diff)
parentMerge pull request #92 from pupper68k/0.7.0-dev-bugfix-71 (diff)
downloadnheko-8b33c51457584c50e579ffc6bd9fcfec761c8580.tar.xz
Merge branch '0.7.0-dev' of ssh://github.com/Nheko-Reborn/nheko into 0.7.0-dev
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_);