Use the full with of the roomlist for the last message

This commit is contained in:
Konstantinos Sideris 2018-03-19 18:10:48 +02:00
parent bac1f46127
commit cef385e1e4
2 changed files with 7 additions and 3 deletions

View file

@ -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.

View file

@ -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),