From 629754a353c5f78563f0a98b8ebf182cf61179f9 Mon Sep 17 00:00:00 2001 From: John Preston Date: Fri, 21 Nov 2025 19:04:05 +0400 Subject: [PATCH] Correctly track emoji pausing in suggestions bar. --- .../SourceFiles/boxes/star_gift_auction_box.cpp | 4 ---- .../dialogs/dialogs_top_bar_suggestion.cpp | 5 ++++- .../ui/dialogs_top_bar_suggestion_content.cpp | 15 ++++++++++----- .../ui/dialogs_top_bar_suggestion_content.h | 5 ++++- Telegram/SourceFiles/ui/effects/credits.style | 2 +- 5 files changed, 19 insertions(+), 12 deletions(-) diff --git a/Telegram/SourceFiles/boxes/star_gift_auction_box.cpp b/Telegram/SourceFiles/boxes/star_gift_auction_box.cpp index 24bb92a77a..aa2c693964 100644 --- a/Telegram/SourceFiles/boxes/star_gift_auction_box.cpp +++ b/Telegram/SourceFiles/boxes/star_gift_auction_box.cpp @@ -1599,10 +1599,6 @@ ManyAuctionsState ActiveAuctionsState(const Data::ActiveAuctions &auctions) { ? position : 0; }; - PROFILE_LOG(("GOT: POSITION %1, PERROUND: %2, WINNING: %3" - ).arg(MyAuctionPosition(*list.front()) - ).arg(list.front()->gift->auctionGiftsPerRound - ).arg(winning(list.front()))); if (list.size() == 1) { const auto auction = list.front(); const auto position = winning(auction); diff --git a/Telegram/SourceFiles/dialogs/dialogs_top_bar_suggestion.cpp b/Telegram/SourceFiles/dialogs/dialogs_top_bar_suggestion.cpp index 91c4a177b3..0d27a48d53 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_top_bar_suggestion.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_top_bar_suggestion.cpp @@ -196,8 +196,11 @@ rpl::producer*> TopBarSuggestionValue( rpl::single(st::dialogsTopBarLeftPadding)); const auto ensureContent = [=] { if (!state->content) { + const auto window = FindSessionController(parent); state->content = Ui::CreateChild( - parent); + parent, + [=] { return window->isGifPausedAtLeastFor( + Window::GifPauseReason::Layer); }); rpl::combine( parent->widthValue(), state->content->desiredHeightValue() diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_top_bar_suggestion_content.cpp b/Telegram/SourceFiles/dialogs/ui/dialogs_top_bar_suggestion_content.cpp index e1e7386205..9a4101b520 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_top_bar_suggestion_content.cpp +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_top_bar_suggestion_content.cpp @@ -156,11 +156,14 @@ not_null*> CreateUnconfirmedAuthContent( return wrap; } -TopBarSuggestionContent::TopBarSuggestionContent(not_null p) -: Ui::RippleButton(p, st::defaultRippleAnimationBgOver) +TopBarSuggestionContent::TopBarSuggestionContent( + not_null parent, + Fn emojiPaused) +: Ui::RippleButton(parent, st::defaultRippleAnimationBgOver) , _titleSt(st::semiboldTextStyle) , _contentTitleSt(st::dialogsTopBarSuggestionTitleStyle) -, _contentTextSt(st::dialogsTopBarSuggestionAboutStyle) { +, _contentTextSt(st::dialogsTopBarSuggestionAboutStyle) +, _emojiPaused(std::move(emojiPaused)) { setRightIcon(RightIcon::Close); } @@ -256,6 +259,8 @@ void TopBarSuggestionContent::draw(QPainter &p) { - (_rightHide ? _rightHide->width() : 0); const auto titleRight = leftPadding; const auto hasSecondLineTitle = availableWidth < _contentTitle.maxWidth(); + const auto paused = On(PowerSaving::kEmojiChat) + || (_emojiPaused && _emojiPaused()); p.setPen(st::windowActiveTextFg); p.setPen(st::windowFg); { @@ -267,7 +272,7 @@ void TopBarSuggestionContent::draw(QPainter &p) { ? availableWidth : (availableWidth - titleRight), .availableWidth = availableWidth, - .pausedEmoji = On(PowerSaving::kEmojiChat), + .pausedEmoji = paused, .elisionLines = hasSecondLineTitle ? 2 : 1, }); } @@ -308,7 +313,7 @@ void TopBarSuggestionContent::draw(QPainter &p) { .geometry = Ui::Text::GeometryDescriptor{ .layout = std::move(lineLayout), }, - .pausedEmoji = On(PowerSaving::kEmojiChat), + .pausedEmoji = paused, }); _lastPaintedContentTop = top; _lastPaintedContentLineAmount = lastContentLineAmount; diff --git a/Telegram/SourceFiles/dialogs/ui/dialogs_top_bar_suggestion_content.h b/Telegram/SourceFiles/dialogs/ui/dialogs_top_bar_suggestion_content.h index 9a3a2efb8e..1d3fead439 100644 --- a/Telegram/SourceFiles/dialogs/ui/dialogs_top_bar_suggestion_content.h +++ b/Telegram/SourceFiles/dialogs/ui/dialogs_top_bar_suggestion_content.h @@ -40,7 +40,9 @@ public: Arrow, }; - TopBarSuggestionContent(not_null); + TopBarSuggestionContent( + not_null parent, + Fn emojiPaused = nullptr); void setContent( TextWithEntities title, @@ -79,6 +81,7 @@ private: base::unique_qptr _rightArrow; base::unique_qptr _rightButton; Fn _hideCallback; + Fn _emojiPaused; int _leftPadding = 0; diff --git a/Telegram/SourceFiles/ui/effects/credits.style b/Telegram/SourceFiles/ui/effects/credits.style index adb5ffed15..9549bae027 100644 --- a/Telegram/SourceFiles/ui/effects/credits.style +++ b/Telegram/SourceFiles/ui/effects/credits.style @@ -446,7 +446,7 @@ auctionInfoSubtitleSkip: 8px; auctionInfoTableMargin: margins(0px, 12px, 0px, 12px); auctionBidEmoji: IconEmoji { icon: icon {{ "settings/button_auction", windowFg }}; - padding: margins(-4px, -1px, -4px, 0px); + padding: margins(-4px, -2px, -4px, 0px); } auctionBidToast: Toast(defaultToast) { padding: margins(54px, 13px, 19px, 12px);