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 { namespace sidebar {
static const int SmallSize = 60; static const int SmallSize = 60;
static const int NormalSize = 300; static const int NormalSize = 260;
static const int CommunitiesSidebarSize = 64; static const int CommunitiesSidebarSize = 64;
} }
// Default font size. // Default font size.

View file

@ -167,9 +167,12 @@ RoomInfoListItem::paintEvent(QPaintEvent *event)
p.setFont(headingFont_); p.setFont(headingFont_);
p.setPen(titlePen); p.setPen(titlePen);
const auto msgStampWidth = const int msgStampWidth =
QFontMetrics(timestampFont_).width(lastMsgInfo_.timestamp) + 4; 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. // Name line.
QFontMetrics fontNameMetrics(headingFont_); QFontMetrics fontNameMetrics(headingFont_);
int top_y = 2 * Padding + fontNameMetrics.ascent() / 2; 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 limit is the space between the end of the username and the start of
// the timestamp. // the timestamp.
int descriptionLimit = std::max( int descriptionLimit = std::max(
0, width() - 3 * Padding - msgStampWidth - IconSize - nameWidth - 5); 0,
width() - 3 * Padding - bottomLineWidthLimit - IconSize - nameWidth - 5);
auto description = auto description =
metrics.elidedText(lastMsgInfo_.body, Qt::ElideRight, descriptionLimit); metrics.elidedText(lastMsgInfo_.body, Qt::ElideRight, descriptionLimit);
p.drawText(QPoint(2 * Padding + IconSize + nameWidth, bottom_y), p.drawText(QPoint(2 * Padding + IconSize + nameWidth, bottom_y),