diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml index 34b029a606a4333ff0a05b4f3c066bf5dc58048d..4adff57264a3ae225e9068a44a9b946dcaa2e779 100644 --- a/resources/qml/Avatar.qml +++ b/resources/qml/Avatar.qml @@ -33,7 +33,7 @@ Rectangle { asynchronous: true fillMode: Image.PreserveAspectCrop mipmap: true - smooth: false + smooth: true sourceSize.width: avatar.width sourceSize.height: avatar.height layer.enabled: true diff --git a/resources/qml/delegates/ImageMessage.qml b/resources/qml/delegates/ImageMessage.qml index 5c3dac9525d1272589e5f145f6e6401db43362d4..e8e325f06906e9c5ba80f2d10c2e6ead7a403351 100644 --- a/resources/qml/delegates/ImageMessage.qml +++ b/resources/qml/delegates/ImageMessage.qml @@ -29,6 +29,8 @@ Item { source: model.data.url.replace("mxc://", "image://MxcImage/") asynchronous: true fillMode: Image.PreserveAspectFit + smooth: true + mipmap: true MouseArea { id: mouseArea diff --git a/src/ui/Avatar.cpp b/src/ui/Avatar.cpp index 70ebfcf2ef3fb588df2d9103d0f648ed5360256e..0d1bb92428a33cc5e448bd3ba98bc739136cd03a 100644 --- a/src/ui/Avatar.cpp +++ b/src/ui/Avatar.cpp @@ -121,7 +121,9 @@ Avatar::paintEvent(QPaintEvent *) bool rounded = QSettings().value("user/avatar_circles", true).toBool(); QPainter painter(this); - painter.setRenderHint(QPainter::Antialiasing); + + painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | + QPainter::TextAntialiasing); QRectF r = rect(); const int hs = size_ / 2; diff --git a/src/ui/Painter.h b/src/ui/Painter.h index 2bb0981b80be22d83eb6e00d369d9066d26c39ae..c69dca95b8cf6356cf380f0b4bb5f42d43d64b07 100644 --- a/src/ui/Painter.h +++ b/src/ui/Painter.h @@ -139,18 +139,10 @@ public: PainterHighQualityEnabler(Painter &p) : _painter(p) { - static constexpr QPainter::RenderHint Hints[] = {QPainter::Antialiasing, - QPainter::SmoothPixmapTransform, - QPainter::TextAntialiasing}; - - auto hints = _painter.renderHints(); - for (const auto &hint : Hints) { - if (!(hints & hint)) - hints_ |= hint; - } + hints_ = QPainter::Antialiasing | QPainter::SmoothPixmapTransform | + QPainter::TextAntialiasing; - if (hints_) - _painter.setRenderHints(hints_); + _painter.setRenderHints(hints_); } ~PainterHighQualityEnabler()