From 481de1e3e3801aa3700c91d6807f33e0aa53b403 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 12 Jan 2026 21:52:15 +0300 Subject: [PATCH] Added bullet separator between name and date in media viewer overlay. --- .../SourceFiles/media/view/media_view.style | 1 + .../media/view/media_view_overlay_widget.cpp | 31 +++++++++++++++++-- .../media/view/media_view_overlay_widget.h | 2 +- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/media/view/media_view.style b/Telegram/SourceFiles/media/view/media_view.style index 2fa68f81b2..fa3d245c58 100644 --- a/Telegram/SourceFiles/media/view/media_view.style +++ b/Telegram/SourceFiles/media/view/media_view.style @@ -215,6 +215,7 @@ mediaviewTextStyle: defaultTextStyle; mediaviewTextLeft: 14px; mediaviewTextSkip: 10px; +mediaviewTextSkipHalf: 5px; mediaviewHeaderTop: 47px; mediaviewTextTop: 26px; diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp index 7c1f88ebfd..bbc870bbb4 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp @@ -1497,13 +1497,27 @@ void OverlayWidget::updateControls() { height() - st::mediaviewTextTop, qMin(_fromNameLabel.maxWidth(), width() / 3), st::mediaviewFont->height); + const auto separatorText = QString::fromUtf8("\xE2\x80\xA2"); + const auto separatorWidth = st::mediaviewFont->width(separatorText); + _separatorNav = QRect( + st::mediaviewTextLeft + + _nameNav.width() + + st::mediaviewTextSkipHalf, + height() - st::mediaviewTextTop, + separatorWidth, + st::mediaviewFont->height); _dateNav = QRect( - st::mediaviewTextLeft + _nameNav.width() + st::mediaviewTextSkip, + st::mediaviewTextLeft + + _nameNav.width() + + st::mediaviewTextSkipHalf + + separatorWidth + + st::mediaviewTextSkipHalf, height() - st::mediaviewTextTop, st::mediaviewFont->width(_dateText), st::mediaviewFont->height); } else { _nameNav = QRect(); + _separatorNav = QRect(); _dateNav = QRect( st::mediaviewTextLeft, height() - st::mediaviewTextTop, @@ -1983,6 +1997,7 @@ bool OverlayWidget::updateControlsAnimation(crl::time now) { : QRect()) + _headerNav + _nameNav + + _separatorNav + _dateNav + _captionRect.marginsAdded(st::mediaviewCaptionPadding) + _groupThumbsRect @@ -5613,6 +5628,18 @@ void OverlayWidget::paintFooterContent( } } + // separator + if (_separatorNav.isValid()) { + const auto separator = _separatorNav.translated(shift); + if (separator.intersects(clip)) { + p.setOpacity(controlOpacity(0.) * opacity); + p.drawText( + separator.left(), + separator.top() + st::mediaviewFont->ascent, + QString::fromUtf8("\xE2\x80\xA2")); + } + } + // date if (date.intersects(clip)) { float64 o = overLevel(Over::Date); @@ -5627,7 +5654,7 @@ void OverlayWidget::paintFooterContent( } QRect OverlayWidget::footerGeometry() const { - return _headerNav.united(_nameNav).united(_dateNav); + return _headerNav.united(_nameNav).united(_separatorNav).united(_dateNav); } void OverlayWidget::paintCaptionContent( diff --git a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h index f52d368d9f..0ffe6deb62 100644 --- a/Telegram/SourceFiles/media/view/media_view_overlay_widget.h +++ b/Telegram/SourceFiles/media/view/media_view_overlay_widget.h @@ -590,7 +590,7 @@ private: QRect _leftNav, _leftNavOver, _leftNavIcon; QRect _rightNav, _rightNavOver, _rightNavIcon; - QRect _headerNav, _nameNav, _dateNav; + QRect _headerNav, _nameNav, _dateNav, _separatorNav; QRect _rotateNav, _rotateNavOver, _rotateNavIcon; QRect _shareNav, _shareNavOver, _shareNavIcon; QRect _recognizeNav, _recognizeNavOver, _recognizeNavIcon;