Respected pause reason in mini stars from section for main settings.

This commit is contained in:
23rd 2025-01-24 12:24:33 +03:00 committed by John Preston
parent 22ec7a6d75
commit f90a4db569

View file

@ -278,7 +278,8 @@ void Cover::refreshUsernameGeometry(int newWidth) {
[[nodiscard]] not_null<Ui::SettingsButton*> AddPremiumStar( [[nodiscard]] not_null<Ui::SettingsButton*> AddPremiumStar(
not_null<Ui::SettingsButton*> button, not_null<Ui::SettingsButton*> button,
bool credits) { bool credits,
Fn<bool()> isPaused) {
const auto stops = credits const auto stops = credits
? Ui::Premium::CreditsIconGradientStops() ? Ui::Premium::CreditsIconGradientStops()
: Ui::Premium::ButtonGradientStops(); : Ui::Premium::ButtonGradientStops();
@ -293,8 +294,15 @@ void Cover::refreshUsernameGeometry(int newWidth) {
false); false);
ministars->setColorOverride(stops); ministars->setColorOverride(stops);
const auto isPausedValue
= button->lifetime().make_state<rpl::variable<bool>>(isPaused());
isPausedValue->value() | rpl::start_with_next([=](bool value) {
ministars->setPaused(value);
}, ministarsContainer->lifetime());
ministarsContainer->paintRequest( ministarsContainer->paintRequest(
) | rpl::start_with_next([=] { ) | rpl::start_with_next([=] {
(*isPausedValue) = isPaused();
auto p = QPainter(ministarsContainer); auto p = QPainter(ministarsContainer);
{ {
constexpr auto kScale = 0.35; constexpr auto kScale = 0.35;
@ -499,12 +507,17 @@ void SetupPremium(
Ui::AddDivider(container); Ui::AddDivider(container);
Ui::AddSkip(container); Ui::AddSkip(container);
const auto isPaused = Window::PausedIn(
controller,
Window::GifPauseReason::Any);
AddPremiumStar( AddPremiumStar(
AddButtonWithIcon( AddButtonWithIcon(
container, container,
tr::lng_premium_summary_title(), tr::lng_premium_summary_title(),
st::settingsButton), st::settingsButton),
false false,
isPaused
)->addClickHandler([=] { )->addClickHandler([=] {
controller->setPremiumRef("settings"); controller->setPremiumRef("settings");
showOther(PremiumId()); showOther(PremiumId());
@ -522,7 +535,8 @@ void SetupPremium(
: QString(); : QString();
}), }),
st::settingsButton), st::settingsButton),
true true,
isPaused
)->addClickHandler([=] { )->addClickHandler([=] {
controller->setPremiumRef("settings"); controller->setPremiumRef("settings");
showOther(CreditsId()); showOther(CreditsId());