From 3340b2dc03bd309058f766bd2c135bc6c762cbd0 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Tue, 25 May 2021 13:44:30 +0300 Subject: [PATCH] Replaced observable in Dialogs::InnerWidget with rpl. --- Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp | 7 ++++--- Telegram/SourceFiles/dialogs/dialogs_inner_widget.h | 4 +--- Telegram/SourceFiles/dialogs/dialogs_widget.cpp | 7 ++++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp index 6c6c599e2a..226242206e 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp @@ -126,9 +126,6 @@ InnerWidget::InnerWidget( _cancelSearchInChat->setClickedCallback([=] { cancelSearchInChat(); }); _cancelSearchInChat->hide(); - _cancelSearchFromUser->setClickedCallback([=] { - searchFromUserChanged.notify(nullptr); - }); _cancelSearchFromUser->hide(); session().downloaderTaskFinished( @@ -1957,6 +1954,10 @@ rpl::producer<> InnerWidget::listBottomReached() const { return _listBottomReached.events(); } +rpl::producer<> InnerWidget::cancelSearchFromUserRequests() const { + return _cancelSearchFromUser->clicks() | rpl::to_empty; +} + void InnerWidget::visibleTopBottomUpdated( int visibleTop, int visibleBottom) { diff --git a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h index 1127035a9e..c9e0fd0a3d 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h +++ b/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h @@ -120,9 +120,7 @@ public: void setLoadMoreCallback(Fn callback); [[nodiscard]] rpl::producer<> listBottomReached() const; - - base::Observable searchFromUserChanged; - + [[nodiscard]] rpl::producer<> cancelSearchFromUserRequests() const; [[nodiscard]] rpl::producer chosenRow() const; [[nodiscard]] rpl::producer<> updated() const; diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp index d55daec305..e19ea9e5bc 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp @@ -207,10 +207,11 @@ Widget::Widget( connect(_inner, SIGNAL(completeHashtag(QString)), this, SLOT(onCompleteHashtag(QString))); connect(_inner, SIGNAL(refreshHashtags()), this, SLOT(onFilterCursorMoved())); connect(_inner, SIGNAL(cancelSearchInChat()), this, SLOT(onCancelSearchInChat())); - subscribe(_inner->searchFromUserChanged, [this](PeerData *from) { - setSearchInChat(_searchInChat, from); + _inner->cancelSearchFromUserRequests( + ) | rpl::start_with_next([=] { + setSearchInChat(_searchInChat, nullptr); applyFilterUpdate(true); - }); + }, lifetime()); _inner->chosenRow( ) | rpl::start_with_next([=](const ChosenRow &row) { const auto openSearchResult = !controller->selectingPeer()