From d3aa0664a798bc7da10a461cd4510938bac3446f Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Tue, 17 Oct 2023 10:28:31 +0300 Subject: [PATCH] Moved boost limits content to divider. --- .../info/boosts/info_boosts_inner_widget.cpp | 37 +++++++++++-------- .../SourceFiles/statistics/statistics.style | 1 + Telegram/SourceFiles/ui/effects/premium.style | 1 + .../ui/effects/premium_graphics.cpp | 10 +++-- 4 files changed, 30 insertions(+), 19 deletions(-) diff --git a/Telegram/SourceFiles/info/boosts/info_boosts_inner_widget.cpp b/Telegram/SourceFiles/info/boosts/info_boosts_inner_widget.cpp index 08890809e2..23785a8882 100644 --- a/Telegram/SourceFiles/info/boosts/info_boosts_inner_widget.cpp +++ b/Telegram/SourceFiles/info/boosts/info_boosts_inner_widget.cpp @@ -194,21 +194,28 @@ InnerWidget::InnerWidget( const auto status = api->boostStatus(); const auto inner = this; - Ui::FillBoostLimit( - fakeShowed->events(), - rpl::single(status.overview.isBoosted), - inner, - Ui::BoostBoxData{ - .boost = Ui::BoostCounters{ - .level = status.overview.level, - .boosts = status.overview.boostCount, - .thisLevelBoosts - = status.overview.currentLevelBoostCount, - .nextLevelBoosts - = status.overview.nextLevelBoostCount, - .mine = status.overview.isBoosted, - } - }); + { + auto dividerContent = object_ptr(inner); + Ui::FillBoostLimit( + fakeShowed->events(), + rpl::single(status.overview.isBoosted), + dividerContent.data(), + Ui::BoostBoxData{ + .boost = Ui::BoostCounters{ + .level = status.overview.level, + .boosts = status.overview.boostCount, + .thisLevelBoosts + = status.overview.currentLevelBoostCount, + .nextLevelBoosts + = status.overview.nextLevelBoostCount, + .mine = status.overview.isBoosted, + } + }); + inner->add(object_ptr( + inner, + std::move(dividerContent), + st::statisticsLimitsDividerPadding)); + } FillOverview(inner, status); diff --git a/Telegram/SourceFiles/statistics/statistics.style b/Telegram/SourceFiles/statistics/statistics.style index 46078fbca9..02b63bbd53 100644 --- a/Telegram/SourceFiles/statistics/statistics.style +++ b/Telegram/SourceFiles/statistics/statistics.style @@ -115,6 +115,7 @@ statisticsShowMoreButton: SettingsButton(defaultSettingsButton) { statisticsShowMoreButtonArrowPosition: point(29px, 13px); statisticsShowMoreButtonArrowSize: 7px; +statisticsLimitsDividerPadding: margins(22px, -26px, 22px, 16px); boostsButton: SettingsButton(defaultSettingsButton) { textFg: lightButtonFg; textFgOver: lightButtonFgOver; diff --git a/Telegram/SourceFiles/ui/effects/premium.style b/Telegram/SourceFiles/ui/effects/premium.style index 30ea491aa1..e98e68d9ae 100644 --- a/Telegram/SourceFiles/ui/effects/premium.style +++ b/Telegram/SourceFiles/ui/effects/premium.style @@ -191,6 +191,7 @@ premiumGiftBox: Box(premiumPreviewBox) { boostSkipTop: 37px; boostLimits: PremiumLimits(defaultPremiumLimits) { gradientFromLeft: true; + nonPremiumBg: windowBgRipple; } boostBubble: PremiumBubble(defaultPremiumBubble) { height: 32px; diff --git a/Telegram/SourceFiles/ui/effects/premium_graphics.cpp b/Telegram/SourceFiles/ui/effects/premium_graphics.cpp index 3124bf3256..151ee78cf7 100644 --- a/Telegram/SourceFiles/ui/effects/premium_graphics.cpp +++ b/Telegram/SourceFiles/ui/effects/premium_graphics.cpp @@ -737,10 +737,12 @@ Line::Line( _ratio = ratio; }, lifetime()); - sizeValue( - ) | rpl::filter([](QSize size) { - return !size.isEmpty(); - }) | rpl::start_with_next([=](QSize size) { + rpl::combine( + sizeValue(), + parent->widthValue() + ) | rpl::filter([](const QSize &size, int parentWidth) { + return !size.isEmpty() && parentWidth; + }) | rpl::start_with_next([=](const QSize &size, int) { recache(size); update(); }, lifetime());