From 1e7756c508401cea6f840e46b799f80baf949a7b Mon Sep 17 00:00:00 2001
From: Nicolas Werner <nicolas.werner@hotmail.de>
Date: Mon, 16 Aug 2021 12:47:44 +0200
Subject: [PATCH] Fix dpi scaling of avatars

---
 resources/qml/Avatar.qml | 6 +++---
 src/MxcImageProvider.cpp | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml
index c3e8acdbc..4a9a565cd 100644
--- a/resources/qml/Avatar.qml
+++ b/resources/qml/Avatar.qml
@@ -20,7 +20,7 @@ Rectangle {
 
     width: 48
     height: 48
-    radius: Settings.avatarCircles ? height / 2 : 3
+    radius: Settings.avatarCircles ? height / 2 : height / 8
     color: Nheko.colors.alternateBase
     Component.onCompleted: {
         mouseArea.clicked.connect(clicked);
@@ -49,7 +49,7 @@ Rectangle {
         smooth: true
         sourceSize.width: avatar.width
         sourceSize.height: avatar.height
-        source: avatar.url ? (avatar.url + "?radius=" + radius + ((avatar.crop) ? "" : "&scale")) : ""
+        source: avatar.url ? (avatar.url + "?radius=" + (Settings.avatarCircles ? 100.0 : 25.0) + ((avatar.crop) ? "" : "&scale")) : ""
 
         MouseArea {
             id: mouseArea
@@ -71,7 +71,7 @@ Rectangle {
         visible: !!userid
         height: avatar.height / 6
         width: height
-        radius: Settings.avatarCircles ? height / 2 : height / 4
+        radius: Settings.avatarCircles ? height / 2 : height / 8
         color: {
             switch (TimelineManager.userPresence(userid)) {
             case "online":
diff --git a/src/MxcImageProvider.cpp b/src/MxcImageProvider.cpp
index 58078a3b4..056374a99 100644
--- a/src/MxcImageProvider.cpp
+++ b/src/MxcImageProvider.cpp
@@ -82,7 +82,7 @@ clipRadius(QImage img, double radius)
         painter.setRenderHint(QPainter::SmoothPixmapTransform, true);
 
         QPainterPath ppath;
-        ppath.addRoundedRect(img.rect(), radius, radius);
+        ppath.addRoundedRect(img.rect(), radius, radius, Qt::SizeMode::RelativeSize);
 
         painter.setClipPath(ppath);
         painter.drawImage(img.rect(), img);
-- 
GitLab