From 24aaed44b92f90b8f5418defd3a45e41bf23917a Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Sun, 27 Oct 2024 07:34:51 +0300 Subject: [PATCH] Slightly simplified constructor of Info::BotEarn::InnerWidget. --- .../info/bot/earn/info_bot_earn_list.cpp | 22 ++++++++----------- .../info/bot/earn/info_bot_earn_list.h | 6 +---- .../info/bot/earn/info_bot_earn_widget.cpp | 6 +---- 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/Telegram/SourceFiles/info/bot/earn/info_bot_earn_list.cpp b/Telegram/SourceFiles/info/bot/earn/info_bot_earn_list.cpp index 84910f9ab..312abc864 100644 --- a/Telegram/SourceFiles/info/bot/earn/info_bot_earn_list.cpp +++ b/Telegram/SourceFiles/info/bot/earn/info_bot_earn_list.cpp @@ -60,13 +60,9 @@ void AddHeader( } // namespace -InnerWidget::InnerWidget( - QWidget *parent, - not_null controller, - not_null peer) +InnerWidget::InnerWidget(QWidget *parent, not_null controller) : VerticalLayout(parent) , _controller(controller) -, _peer(peer) , _show(controller->uiShow()) { } @@ -75,7 +71,7 @@ void InnerWidget::load() { const auto request = [=](Fn done) { const auto api = apiLifetime->make_state( - _peer->asUser()); + peer()->asUser()); api->request( ) | rpl::start_with_error_done([show = _show](const QString &error) { show->showToast(error); @@ -92,18 +88,18 @@ void InnerWidget::load() { _showFinished.events()); _showFinished.events( - ) | rpl::take(1) | rpl::start_with_next([=] { + ) | rpl::take(1) | rpl::start_with_next([=, this, peer = peer()] { request([=](Data::CreditsEarnStatistics state) { _state = state; _loaded.fire(true); fill(); - _peer->session().account().mtpUpdates( + peer->session().account().mtpUpdates( ) | rpl::start_with_next([=](const MTPUpdates &updates) { using TL = MTPDupdateStarsRevenueStatus; Api::PerformForUpdate(updates, [&](const TL &d) { const auto peerId = peerFromMTP(d.vpeer()); - if (peerId == _peer->id) { + if (peerId == peer->id) { request([=](Data::CreditsEarnStatistics state) { _state = state; _stateUpdated.fire({}); @@ -233,7 +229,7 @@ void InnerWidget::fill() { ::Settings::AddWithdrawalWidget( container, _controller->parentController(), - _peer, + peer(), rpl::single( data.buyAdsUrl ) | rpl::then( @@ -262,7 +258,7 @@ void InnerWidget::fillHistory() { const auto sectionIndex = history->lifetime().make_state(0); - const auto fill = [=, peer = _peer]( + const auto fill = [=, peer = peer()]( not_null premiumBot, const Data::CreditsStatusSlice &fullSlice, const Data::CreditsStatusSlice &inSlice, @@ -395,7 +391,7 @@ void InnerWidget::fillHistory() { const auto apiLifetime = history->lifetime().make_state(); rpl::single(rpl::empty) | rpl::then( _stateUpdated.events() - ) | rpl::start_with_next([=, peer = _peer] { + ) | rpl::start_with_next([=, peer = peer()] { using Api = Api::CreditsHistory; const auto apiFull = apiLifetime->make_state(peer, true, true); const auto apiIn = apiLifetime->make_state(peer, true, false); @@ -450,7 +446,7 @@ void InnerWidget::setInnerFocus() { } not_null InnerWidget::peer() const { - return _peer; + return _controller->statisticsTag().peer; } } // namespace Info::BotEarn diff --git a/Telegram/SourceFiles/info/bot/earn/info_bot_earn_list.h b/Telegram/SourceFiles/info/bot/earn/info_bot_earn_list.h index 7157c4f02..1d89d4aa9 100644 --- a/Telegram/SourceFiles/info/bot/earn/info_bot_earn_list.h +++ b/Telegram/SourceFiles/info/bot/earn/info_bot_earn_list.h @@ -32,10 +32,7 @@ public: struct ShowRequest final { }; - InnerWidget( - QWidget *parent, - not_null controller, - not_null peer); + InnerWidget(QWidget *parent, not_null controller); [[nodiscard]] not_null peer() const; @@ -54,7 +51,6 @@ private: void fillHistory(); not_null _controller; - not_null _peer; std::shared_ptr _show; Data::CreditsEarnStatistics _state; diff --git a/Telegram/SourceFiles/info/bot/earn/info_bot_earn_widget.cpp b/Telegram/SourceFiles/info/bot/earn/info_bot_earn_widget.cpp index b38c436c6..123c8e307 100644 --- a/Telegram/SourceFiles/info/bot/earn/info_bot_earn_widget.cpp +++ b/Telegram/SourceFiles/info/bot/earn/info_bot_earn_widget.cpp @@ -50,11 +50,7 @@ Widget::Widget( QWidget *parent, not_null controller) : ContentWidget(parent, controller) -, _inner(setInnerWidget( - object_ptr( - this, - controller, - controller->statisticsTag().peer))) { +, _inner(setInnerWidget(object_ptr(this, controller))) { _inner->showRequests( ) | rpl::start_with_next([=](InnerWidget::ShowRequest request) { }, _inner->lifetime());