From 89ab23e70f4c99d8ea484861f72819d6f2a44293 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Mon, 21 Mar 2022 15:44:37 +0300 Subject: [PATCH] Removed Ui::show from ShowSearchFromBox. --- .../dialogs/dialogs_search_from_controllers.cpp | 14 +++++++++----- .../dialogs/dialogs_search_from_controllers.h | 2 +- Telegram/SourceFiles/dialogs/dialogs_widget.cpp | 5 ++++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.cpp b/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.cpp index adb071607..b81e79f7b 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.cpp @@ -17,7 +17,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Dialogs { -void ShowSearchFromBox( +object_ptr SearchFromBox( not_null peer, Fn)> callback, Fn closedCallback) { @@ -34,15 +34,19 @@ void ShowSearchFromBox( }; if (auto controller = createController()) { auto subscription = std::make_shared(); - auto box = Ui::show(Box(std::move(controller), [subscription](not_null box) { - box->addButton(tr::lng_cancel(), [box, subscription] { - box->closeBox(); + auto box = Box( + std::move(controller), + [subscription](not_null box) { + box->addButton(tr::lng_cancel(), [box, subscription] { + box->closeBox(); + }); }); - }), Ui::LayerOption::KeepOther); box->boxClosing() | rpl::start_with_next( std::move(closedCallback), *subscription); + return box; } + return nullptr; } SearchFromController::SearchFromController( diff --git a/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.h b/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.h index f095ae566..524bd02b7 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.h +++ b/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.h @@ -12,7 +12,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL namespace Dialogs { -void ShowSearchFromBox( +object_ptr SearchFromBox( not_null peer, Fn)> callback, Fn closedCallback); diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp index 719889fa3..97d5d10aa 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp @@ -1537,7 +1537,7 @@ void Widget::showCalendar() { void Widget::showSearchFrom() { if (const auto peer = _searchInChat.peer()) { const auto chat = _searchInChat; - ShowSearchFromBox( + auto box = SearchFromBox( peer, crl::guard(this, [=](not_null from) { Ui::hideLayer(); @@ -1545,6 +1545,9 @@ void Widget::showSearchFrom() { applyFilterUpdate(true); }), crl::guard(this, [=] { _filter->setFocus(); })); + if (box) { + Window::Show(controller()).showBox(std::move(box)); + } } }