summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/RoomInfoListItem.cpp11
-rw-r--r--src/ui/Avatar.cpp6
-rw-r--r--src/ui/Avatar.h1
3 files changed, 9 insertions, 9 deletions
diff --git a/src/RoomInfoListItem.cpp b/src/RoomInfoListItem.cpp

index 4c8535bf..61fb5e47 100644 --- a/src/RoomInfoListItem.cpp +++ b/src/RoomInfoListItem.cpp
@@ -84,9 +84,9 @@ RoomInfoListItem::init(QWidget *parent) ripple_overlay_->setClipPath(path); ripple_overlay_->setClipping(true); - avatar_ = new Avatar(this, wm.iconSize); + avatar_ = new Avatar(nullptr, wm.iconSize); avatar_->setLetter(utils::firstChar(roomName_)); - avatar_->move(wm.padding, wm.padding); + avatar_->resize(wm.iconSize, wm.iconSize); unreadCountFont_.setPointSizeF(unreadCountFont_.pointSizeF() * 0.8); unreadCountFont_.setBold(true); @@ -146,20 +146,27 @@ RoomInfoListItem::paintEvent(QPaintEvent *event) auto wm = getMetrics(QFont{}); + QPixmap pixmap(avatar_->size()); if (isPressed_) { p.fillRect(rect(), highlightedBackgroundColor_); titlePen.setColor(highlightedTitleColor_); subtitlePen.setColor(highlightedSubtitleColor_); + pixmap.fill(highlightedBackgroundColor_); } else if (underMouse()) { p.fillRect(rect(), hoverBackgroundColor_); titlePen.setColor(hoverTitleColor_); subtitlePen.setColor(hoverSubtitleColor_); + pixmap.fill(hoverBackgroundColor_); } else { p.fillRect(rect(), backgroundColor_); titlePen.setColor(titleColor_); subtitlePen.setColor(subtitleColor_); + pixmap.fill(backgroundColor_); } + avatar_->render(&pixmap, QPoint(), QRegion(), RenderFlags(DrawChildren)); + p.drawPixmap(QPoint(wm.padding, wm.padding), pixmap); + // Description line with the default font. int bottom_y = wm.maxHeight - wm.padding - metrics.ascent() / 2; diff --git a/src/ui/Avatar.cpp b/src/ui/Avatar.cpp
index 3589fce5..7ee58d03 100644 --- a/src/ui/Avatar.cpp +++ b/src/ui/Avatar.cpp
@@ -38,12 +38,6 @@ Avatar::backgroundColor() const return background_color_; } -int -Avatar::size() const -{ - return size_; -} - QSize Avatar::sizeHint() const { diff --git a/src/ui/Avatar.h b/src/ui/Avatar.h
index aea7d3e6..2910350d 100644 --- a/src/ui/Avatar.h +++ b/src/ui/Avatar.h
@@ -26,7 +26,6 @@ public: QColor backgroundColor() const; QColor textColor() const; - int size() const; QSize sizeHint() const override;