diff --git a/Telegram/SourceFiles/info/boosts/create_giveaway_box.cpp b/Telegram/SourceFiles/info/boosts/create_giveaway_box.cpp index cd833d1e2..605c5681b 100644 --- a/Telegram/SourceFiles/info/boosts/create_giveaway_box.cpp +++ b/Telegram/SourceFiles/info/boosts/create_giveaway_box.cpp @@ -367,7 +367,8 @@ void CreateGiveawayBox( using Controller = Giveaway::AwardMembersListController; auto listController = std::make_unique( controller, - peer); + peer, + state->selectedToAward); listController->setCheckError(CreateErrorCallback( state->apiOptions.giveawayAddPeersMax(), tr::lng_giveaway_maximum_users_error)); diff --git a/Telegram/SourceFiles/info/boosts/giveaway/giveaway_list_controllers.cpp b/Telegram/SourceFiles/info/boosts/giveaway/giveaway_list_controllers.cpp index dd6df700f..f65fda97d 100644 --- a/Telegram/SourceFiles/info/boosts/giveaway/giveaway_list_controllers.cpp +++ b/Telegram/SourceFiles/info/boosts/giveaway/giveaway_list_controllers.cpp @@ -107,8 +107,16 @@ void ChannelRow::rightActionStopLastRipple() { AwardMembersListController::AwardMembersListController( not_null navigation, - not_null peer) -: ParticipantsBoxController(navigation, peer, ParticipantsRole::Members) { + not_null peer, + std::vector> selected) +: ParticipantsBoxController(navigation, peer, ParticipantsRole::Members) +, _selected(std::move(selected)) { +} + +void AwardMembersListController::prepare() { + ParticipantsBoxController::prepare(); + delegate()->peerListAddSelectedPeers(base::take(_selected)); + delegate()->peerListRefreshRows(); } void AwardMembersListController::rowClicked(not_null row) { diff --git a/Telegram/SourceFiles/info/boosts/giveaway/giveaway_list_controllers.h b/Telegram/SourceFiles/info/boosts/giveaway/giveaway_list_controllers.h index 8d08a8a15..8f3f44ecf 100644 --- a/Telegram/SourceFiles/info/boosts/giveaway/giveaway_list_controllers.h +++ b/Telegram/SourceFiles/info/boosts/giveaway/giveaway_list_controllers.h @@ -27,7 +27,10 @@ class AwardMembersListController : public ParticipantsBoxController { public: AwardMembersListController( not_null navigation, - not_null peer); + not_null peer, + std::vector> selected); + + void prepare() override; void setCheckError(Fn callback); @@ -41,6 +44,8 @@ public: private: Fn _checkErrorCallback; + std::vector> _selected; + }; class MyChannelsListController : public PeerListController {