From 9f70c7cc16bfc8b969cf2ef8d7a985d49334d799 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 20 Jul 2026 19:32:22 +0300 Subject: [PATCH] Fixed selection bar rounding and fade in profile media tabs. --- .../info/profile/info_profile_top_bar.cpp | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/Telegram/SourceFiles/info/profile/info_profile_top_bar.cpp b/Telegram/SourceFiles/info/profile/info_profile_top_bar.cpp index 50f4b4c822..fd680ed68a 100644 --- a/Telegram/SourceFiles/info/profile/info_profile_top_bar.cpp +++ b/Telegram/SourceFiles/info/profile/info_profile_top_bar.cpp @@ -2134,17 +2134,30 @@ void TopBar::setTabSelectedItems(SelectedItems &&items) { void TopBar::createTabSelectionBar() { _tabSelectionBar.create( this, - object_ptr(this), - st::infoTopBarScale); + object_ptr(this)); const auto bar = _tabSelectionBar.data(); bar->setDuration(st::infoTopBarDuration); bar->toggle(false, anim::type::instant); const auto inner = bar->entity(); inner->paintRequest( - ) | rpl::on_next([=](QRect clip) { + ) | rpl::on_next([=] { auto p = QPainter(inner); - p.fillRect(clip, _st.bg); + auto hq = PainterHighQualityEnabler(p); + const auto radius = _roundEdges ? st::boxRadius : 0; + p.setPen(Qt::NoPen); + p.setBrush(_st.bg); + p.drawRoundedRect( + inner->rect() + QMargins(0, 0, 0, radius), + radius, + radius); + const auto line = st::lineWidth; + p.fillRect( + 0, + inner->height() - line, + inner->width(), + line, + st::shadowFg); }, inner->lifetime()); const auto forwardAction = [=](SelectionAction action) { @@ -2267,7 +2280,7 @@ void TopBar::updateTabSelectionGeometry() { _tabSelectionBar->move(0, 0); _tabSelectionCancel->moveToLeft(0, 0); - auto right = 0; + auto right = _st.mediaActionsSkip; if (!_tabSelectionDelete->isHidden()) { _tabSelectionDelete->moveToRight(right, 0, inner->width()); right += _tabSelectionDelete->width();