From ad758c51c257ae11bcce1e6f70b8a3592b9cd475 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 5 Nov 2025 14:41:22 +0300 Subject: [PATCH] Fixed display of url from withdrawal widget when withdrawal disabled. --- .../settings/settings_credits_graphics.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/Telegram/SourceFiles/settings/settings_credits_graphics.cpp b/Telegram/SourceFiles/settings/settings_credits_graphics.cpp index 0410bbf5b1..72a36645ee 100644 --- a/Telegram/SourceFiles/settings/settings_credits_graphics.cpp +++ b/Telegram/SourceFiles/settings/settings_credits_graphics.cpp @@ -3072,7 +3072,6 @@ void AddWithdrawalWidget( const auto buttonsContainer = withdrawalWrap->entity()->add( Ui::CreateSkipWidget(withdrawalWrap->entity(), stButton.height), st::boxRowPadding); - withdrawalWrap->toggle(withdrawalEnabled, anim::type::instant); const auto button = Ui::CreateChild( buttonsContainer, @@ -3088,11 +3087,23 @@ void AddWithdrawalWidget( Ui::ToggleChildrenVisibility(buttonsContainer, true); + const auto updateButtonState = [=](bool disabled) { + button->setBrushOverride(disabled + ? std::optional(st::windowSubTextFg) + : std::nullopt); + button->setAttribute(Qt::WA_TransparentForMouseEvents, disabled); + }; + rpl::combine( std::move(secondButtonUrl), buttonsContainer->sizeValue() ) | rpl::start_with_next([=](const QString &url, const QSize &size) { - if (url.isEmpty()) { + const auto secondVisible = !url.isEmpty(); + withdrawalWrap->toggle( + withdrawalEnabled || secondVisible, + anim::type::instant); + updateButtonState(!withdrawalEnabled); + if (!secondVisible) { button->resize(size.width(), size.height()); buttonCredits->resize(0, 0); } else { @@ -3113,7 +3124,9 @@ void AddWithdrawalWidget( rpl::duplicate( lockedValue ) | rpl::start_with_next([=](bool v) { - button->setAttribute(Qt::WA_TransparentForMouseEvents, v); + if (withdrawalEnabled) { + updateButtonState(v); + } }, button->lifetime()); const auto session = &controller->session();