From 95cc27b14599b564cbc9955fcef171c194ecdfb6 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 6 Jun 2022 15:00:23 +0300 Subject: [PATCH] Provided character count of large file caption to premium limit box. --- Telegram/SourceFiles/boxes/premium_limits_box.cpp | 14 ++++++++++---- Telegram/SourceFiles/boxes/premium_limits_box.h | 3 ++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Telegram/SourceFiles/boxes/premium_limits_box.cpp b/Telegram/SourceFiles/boxes/premium_limits_box.cpp index 27d11c236d..70bceb2b06 100644 --- a/Telegram/SourceFiles/boxes/premium_limits_box.cpp +++ b/Telegram/SourceFiles/boxes/premium_limits_box.cpp @@ -781,7 +781,8 @@ void PinsLimitBox( void CaptionLimitBox( not_null box, - not_null session) { + not_null session, + int remove) { const auto premium = session->premium(); const auto defaultLimit = Limit( @@ -792,11 +793,16 @@ void CaptionLimitBox( session, "caption_length_limit_premium", 2048); + const auto currentLimit = premium ? premiumLimit : defaultLimit; + const auto current = std::clamp( + remove + currentLimit, + defaultLimit, + premiumLimit); auto text = rpl::combine( tr::lng_caption_limit1( lt_count, - rpl::single(premium ? premiumLimit : defaultLimit), + rpl::single(currentLimit), Ui::Text::RichLangValue), tr::lng_caption_limit2( lt_count, @@ -812,7 +818,7 @@ void CaptionLimitBox( tr::lng_caption_limit_title(), std::move(text), "caption_length", - { defaultLimit, defaultLimit, premiumLimit, &st::premiumIconChats }, + { defaultLimit, current, premiumLimit, &st::premiumIconChats }, premium); } @@ -827,7 +833,7 @@ void CaptionLimitReachedBox( if (!session->premium()) { box->addLeftButton(tr::lng_limits_increase(), [=] { box->getDelegate()->showBox( - Box(CaptionLimitBox, session), + Box(CaptionLimitBox, session, remove), Ui::LayerOption::KeepOther, anim::type::normal); box->closeBox(); diff --git a/Telegram/SourceFiles/boxes/premium_limits_box.h b/Telegram/SourceFiles/boxes/premium_limits_box.h index ae3e74cbf4..b5a1f2abec 100644 --- a/Telegram/SourceFiles/boxes/premium_limits_box.h +++ b/Telegram/SourceFiles/boxes/premium_limits_box.h @@ -41,7 +41,8 @@ void PinsLimitBox( not_null session); void CaptionLimitBox( not_null box, - not_null session); + not_null session, + int remove); void CaptionLimitReachedBox( not_null box, not_null session,