From 597195a2e25d459aee8637c54fc15d143d836714 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Wed, 1 Nov 2023 15:47:25 +0300 Subject: [PATCH] Replaced Session Controller with Navigation for resolving of giftcodes. --- .../SourceFiles/boxes/gift_premium_box.cpp | 20 +++++++++---------- Telegram/SourceFiles/boxes/gift_premium_box.h | 7 ++++--- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Telegram/SourceFiles/boxes/gift_premium_box.cpp b/Telegram/SourceFiles/boxes/gift_premium_box.cpp index c7b59f44b..84ea6a429 100644 --- a/Telegram/SourceFiles/boxes/gift_premium_box.cpp +++ b/Telegram/SourceFiles/boxes/gift_premium_box.cpp @@ -281,7 +281,7 @@ struct GiftCodeLink { [[nodiscard]] object_ptr MakePeerTableValue( not_null parent, - not_null controller, + not_null controller, PeerId id) { auto result = object_ptr(parent); const auto raw = result.data(); @@ -309,7 +309,7 @@ struct GiftCodeLink { label->setTextColorOverride(st::windowActiveTextFg->c); raw->setClickedCallback([=] { - controller->show(PrepareShortInfoBox(peer, controller)); + controller->uiShow()->showBox(PrepareShortInfoBox(peer, controller)); }); return result; @@ -350,7 +350,7 @@ not_null AddTableRow( void AddTableRow( not_null table, rpl::producer label, - not_null controller, + not_null controller, PeerId id) { if (!id) { return; @@ -416,7 +416,7 @@ QString GiftDuration(int months) { void GiftCodeBox( not_null box, - not_null controller, + not_null controller, const QString &slug) { struct State { rpl::variable data; @@ -552,7 +552,7 @@ void GiftCodeBox( st::giveawayGiftCodeFooterMargin); footer->setClickHandlerFilter([=](const auto &...) { const auto chosen = [=](not_null thread) { - const auto content = controller->content(); + const auto content = controller->parentController()->content(); return content->shareUrl( thread, MakeGiftCodeLink(&controller->session(), slug).link, @@ -608,13 +608,13 @@ void GiftCodeBox( } void ResolveGiftCode( - not_null controller, + not_null controller, const QString &slug) { const auto done = [=](Api::GiftCode code) { if (!code) { controller->showToast(tr::lng_gift_link_expired(tr::now)); } else { - controller->show(Box(GiftCodeBox, controller, slug)); + controller->uiShow()->showBox(Box(GiftCodeBox, controller, slug)); } }; controller->session().api().premium().checkGiftCode( @@ -624,7 +624,7 @@ void ResolveGiftCode( void GiveawayInfoBox( not_null box, - not_null controller, + not_null controller, Data::Giveaway giveaway, Api::GiveawayInfo info) { using State = Api::GiveawayState; @@ -784,7 +784,7 @@ void GiveawayInfoBox( } void ResolveGiveawayInfo( - not_null controller, + not_null controller, not_null peer, MsgId messageId, Data::Giveaway giveaway) { @@ -793,7 +793,7 @@ void ResolveGiveawayInfo( controller->showToast( tr::lng_confirm_phone_link_invalid(tr::now)); } else { - controller->show( + controller->uiShow()->showBox( Box(GiveawayInfoBox, controller, giveaway, info)); } }; diff --git a/Telegram/SourceFiles/boxes/gift_premium_box.h b/Telegram/SourceFiles/boxes/gift_premium_box.h index 3f6d273bc..a1062dead 100644 --- a/Telegram/SourceFiles/boxes/gift_premium_box.h +++ b/Telegram/SourceFiles/boxes/gift_premium_box.h @@ -25,6 +25,7 @@ class GenericBox; namespace Window { class SessionController; +class SessionNavigation; } // namespace Window class GiftPremiumValidator final { @@ -47,14 +48,14 @@ private: void GiftCodeBox( not_null box, - not_null controller, + not_null controller, const QString &slug); void ResolveGiftCode( - not_null controller, + not_null controller, const QString &slug); void ResolveGiveawayInfo( - not_null controller, + not_null controller, not_null peer, MsgId messageId, Data::Giveaway giveaway);