MCPcopy Create free account
hub / github.com/TDesktop-x64/tdesktop / CaptionLimitBox

Function CaptionLimitBox

Telegram/SourceFiles/boxes/premium_limits_box.cpp:944–986  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

942}
943
944void CaptionLimitBox(
945 not_null<Ui::GenericBox*> box,
946 not_null<Main::Session*> session,
947 int remove,
948 const style::PremiumLimits *stOverride) {
949 const auto premium = session->premium();
950 const auto premiumPossible = session->premiumPossible();
951
952 const auto limits = Data::PremiumLimits(session);
953 const auto defaultLimit = float64(limits.captionLengthDefault());
954 const auto premiumLimit = float64(limits.captionLengthPremium());
955 const auto currentLimit = premium ? premiumLimit : defaultLimit;
956 const auto current = std::clamp(
957 remove + currentLimit,
958 defaultLimit,
959 premiumLimit);
960
961 auto text = rpl::combine(
962 tr::lng_caption_limit1(
963 lt_count,
964 rpl::single(currentLimit),
965 tr::rich),
966 (!premiumPossible
967 ? rpl::single(TextWithEntities())
968 : tr::lng_caption_limit2(
969 lt_count,
970 rpl::single(premiumLimit),
971 tr::rich))
972 ) | rpl::map([](TextWithEntities &&a, TextWithEntities &&b) {
973 return b.text.isEmpty()
974 ? a
975 : a.append(QChar(' ')).append(std::move(b));
976 });
977
978 SimpleLimitBox(
979 box,
980 stOverride,
981 session,
982 tr::lng_caption_limit_title(),
983 std::move(text),
984 "caption_length",
985 { defaultLimit, current, premiumLimit, &st::premiumIconChats });
986}
987
988void CaptionLimitReachedBox(
989 not_null<Ui::GenericBox*> box,

Callers

nothing calls this directly

Calls 9

TextWithEntitiesClass · 0.85
SimpleLimitBoxFunction · 0.85
premiumPossibleMethod · 0.80
captionLengthDefaultMethod · 0.80
captionLengthPremiumMethod · 0.80
PremiumLimitsClass · 0.70
premiumMethod · 0.45
isEmptyMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected