Use the full with of the roomlist for the last message

pull/1/head
Konstantinos Sideris 7 years ago
parent bac1f46127
commit cef385e1e4
  1. 2
      include/ui/Theme.h
  2. 8
      src/RoomInfoListItem.cc

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

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

Loading…
Cancel
Save