From 1c64e905376bb9926d9ceb5226d2321695fa487c Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Tue, 12 Nov 2024 19:18:33 +0300 Subject: [PATCH] Split creation of button for pagination in statistics lists. --- .../info_statistics_list_controllers.cpp | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/Telegram/SourceFiles/info/statistics/info_statistics_list_controllers.cpp b/Telegram/SourceFiles/info/statistics/info_statistics_list_controllers.cpp index 1a21f3fd5..658059f0b 100644 --- a/Telegram/SourceFiles/info/statistics/info_statistics_list_controllers.cpp +++ b/Telegram/SourceFiles/info/statistics/info_statistics_list_controllers.cpp @@ -68,6 +68,17 @@ void AddSubtitle( { 0, -subtitlePadding.top(), 0, -subtitlePadding.bottom() }); } +[[nodiscard]] object_ptr CreateShowMoreButton( + not_null parent, + rpl::producer title) { + auto owned = object_ptr( + parent, + std::move(title), + st::statisticsShowMoreButton); + Ui::AddToggleUpDownArrowToMoreButton(owned.data()); + return owned; +} + [[nodiscard]] QString FormatText( int value1, tr::phrase phrase1, int value2, tr::phrase phrase2, @@ -1256,9 +1267,10 @@ void AddCreditsHistoryList( object_ptr(container, &state->controller))); state->controller.setDelegate(&state->delegate); - const auto wrap = AddShowMoreButton( - container, - tr::lng_stories_show_more()); + const auto wrap = container->add( + object_ptr>( + container, + CreateShowMoreButton(container, tr::lng_stories_show_more()))); const auto showMore = [=] { if (!state->controller.skipRequest()) { @@ -1275,16 +1287,11 @@ void AddCreditsHistoryList( not_null*> AddShowMoreButton( not_null container, rpl::producer title) { - const auto wrap = container->add( + return container->add( object_ptr>( container, - object_ptr( - container, - std::move(title), - st::statisticsShowMoreButton)), + CreateShowMoreButton(container, std::move(title))), { 0, -st::settingsButton.padding.top(), 0, 0 }); - Ui::AddToggleUpDownArrowToMoreButton(wrap->entity()); - return wrap; } } // namespace Info::Statistics