2 files changed, 7 insertions, 3 deletions
diff --git a/include/ui/Theme.h b/include/ui/Theme.h
index 0ce5ef04..54bd4f5f 100644
--- a/include/ui/Theme.h
+++ b/include/ui/Theme.h
@@ -14,7 +14,7 @@ enum class AvatarType
namespace sidebar {
static const int SmallSize = 60;
-static const int NormalSize = 300;
+static const int NormalSize = 260;
static const int CommunitiesSidebarSize = 64;
}
// Default font size.
diff --git a/src/RoomInfoListItem.cc b/src/RoomInfoListItem.cc
index b504bdd7..3a422787 100644
--- a/src/RoomInfoListItem.cc
+++ b/src/RoomInfoListItem.cc
@@ -167,9 +167,12 @@ RoomInfoListItem::paintEvent(QPaintEvent *event)
p.setFont(headingFont_);
p.setPen(titlePen);
- const auto msgStampWidth =
+ const int msgStampWidth =
QFontMetrics(timestampFont_).width(lastMsgInfo_.timestamp) + 4;
+ // We use the full width of the widget if there is no unread msg bubble.
+ const int bottomLineWidthLimit = (unreadMsgCount_ > 0) ? msgStampWidth : 0;
+
// Name line.
QFontMetrics fontNameMetrics(headingFont_);
int top_y = 2 * Padding + fontNameMetrics.ascent() / 2;
@@ -201,7 +204,8 @@ RoomInfoListItem::paintEvent(QPaintEvent *event)
// The limit is the space between the end of the username and the start of
// the timestamp.
int descriptionLimit = std::max(
- 0, width() - 3 * Padding - msgStampWidth - IconSize - nameWidth - 5);
+ 0,
+ width() - 3 * Padding - bottomLineWidthLimit - IconSize - nameWidth - 5);
auto description =
metrics.elidedText(lastMsgInfo_.body, Qt::ElideRight, descriptionLimit);
p.drawText(QPoint(2 * Padding + IconSize + nameWidth, bottom_y),
|