summary refs log tree commit diff
path: root/src/timeline/widgets
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-05-26 17:05:57 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-05-26 17:05:57 +0300
commitb371c15b5ff781615707cfe943b563e41cde0a7b (patch)
treebd5c42697970225e7bc8acc0d76d74dc6ae050b5 /src/timeline/widgets
parentSet fixed height for the DateSeparator & TextLabel (diff)
downloadnheko-b371c15b5ff781615707cfe943b563e41cde0a7b.tar.xz
Properly resize Audio & File widgets
Remove empty space between username & timeline widgets
Diffstat (limited to 'src/timeline/widgets')
-rw-r--r--src/timeline/widgets/AudioItem.cc31
-rw-r--r--src/timeline/widgets/FileItem.cc31
2 files changed, 44 insertions, 18 deletions
diff --git a/src/timeline/widgets/AudioItem.cc b/src/timeline/widgets/AudioItem.cc

index 5a2bca92..65ca401b 100644 --- a/src/timeline/widgets/AudioItem.cc +++ b/src/timeline/widgets/AudioItem.cc
@@ -72,6 +72,8 @@ AudioItem::init() update(); } }); + + setFixedHeight(Height); } AudioItem::AudioItem(const mtx::events::RoomEvent<mtx::events::msg::Audio> &event, QWidget *parent) @@ -155,6 +157,22 @@ AudioItem::fileDownloaded(const QByteArray &data) } void +AudioItem::resizeEvent(QResizeEvent *event) +{ + QFont font; + font.setPixelSize(12); + font.setWeight(80); + + QFontMetrics fm(font); + const int computedWidth = std::min( + fm.width(text_) + 2 * IconRadius + VerticalPadding * 2 + TextPadding, (double)MaxWidth); + + resize(computedWidth, Height); + + event->accept(); +} + +void AudioItem::paintEvent(QPaintEvent *event) { Q_UNUSED(event); @@ -162,17 +180,14 @@ AudioItem::paintEvent(QPaintEvent *event) QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); - QFont font("Open Sans"); + QFont font; font.setPixelSize(12); font.setWeight(80); QFontMetrics fm(font); - int computedWidth = std::min( - fm.width(text_) + 2 * IconRadius + VerticalPadding * 2 + TextPadding, (double)MaxWidth); - QPainterPath path; - path.addRoundedRect(QRectF(0, 0, computedWidth, Height), 10, 10); + path.addRoundedRect(QRectF(0, 0, width(), height()), 10, 10); painter.setPen(Qt::NoPen); painter.fillPath(path, backgroundColor_); @@ -203,10 +218,8 @@ AudioItem::paintEvent(QPaintEvent *event) const int textStartY = VerticalPadding + fm.ascent() / 2; // Draw the filename. - QString elidedText = - fm.elidedText(text_, - Qt::ElideRight, - computedWidth - HorizontalPadding * 2 - TextPadding - 2 * IconRadius); + QString elidedText = fm.elidedText( + text_, Qt::ElideRight, width() - HorizontalPadding * 2 - TextPadding - 2 * IconRadius); painter.setFont(font); painter.setPen(QPen(textColor_)); diff --git a/src/timeline/widgets/FileItem.cc b/src/timeline/widgets/FileItem.cc
index 7ff60d87..f3906a04 100644 --- a/src/timeline/widgets/FileItem.cc +++ b/src/timeline/widgets/FileItem.cc
@@ -58,6 +58,8 @@ FileItem::init() QString media_params = url_parts[1]; url_ = QString("%1/_matrix/media/r0/download/%2") .arg(http::client()->getHomeServer().toString(), media_params); + + setFixedHeight(Height); } FileItem::FileItem(const mtx::events::RoomEvent<mtx::events::msg::File> &event, QWidget *parent) @@ -143,6 +145,22 @@ FileItem::fileDownloaded(const QByteArray &data) } void +FileItem::resizeEvent(QResizeEvent *event) +{ + QFont font; + font.setPixelSize(12); + font.setWeight(80); + + QFontMetrics fm(font); + const int computedWidth = std::min( + fm.width(text_) + 2 * IconRadius + VerticalPadding * 2 + TextPadding, (double)MaxWidth); + + resize(computedWidth, Height); + + event->accept(); +} + +void FileItem::paintEvent(QPaintEvent *event) { Q_UNUSED(event); @@ -150,17 +168,14 @@ FileItem::paintEvent(QPaintEvent *event) QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); - QFont font("Open Sans"); + QFont font; font.setPixelSize(12); font.setWeight(80); QFontMetrics fm(font); - int computedWidth = std::min( - fm.width(text_) + 2 * IconRadius + VerticalPadding * 2 + TextPadding, (double)MaxWidth); - QPainterPath path; - path.addRoundedRect(QRectF(0, 0, computedWidth, Height), 10, 10); + path.addRoundedRect(QRectF(0, 0, width(), height()), 10, 10); painter.setPen(Qt::NoPen); painter.fillPath(path, backgroundColor_); @@ -185,10 +200,8 @@ FileItem::paintEvent(QPaintEvent *event) const int textStartY = VerticalPadding + fm.ascent() / 2; // Draw the filename. - QString elidedText = - fm.elidedText(text_, - Qt::ElideRight, - computedWidth - HorizontalPadding * 2 - TextPadding - 2 * IconRadius); + QString elidedText = fm.elidedText( + text_, Qt::ElideRight, width() - HorizontalPadding * 2 - TextPadding - 2 * IconRadius); painter.setFont(font); painter.setPen(QPen(textColor_));