From 77c8bf8176b97b6040fe88452adca48e7959930a Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Tue, 25 May 2021 19:22:46 +0300 Subject: [PATCH] Removed PeerChooseCancel global variable from facades. --- Telegram/SourceFiles/dialogs/dialogs_widget.cpp | 8 ++++++-- Telegram/SourceFiles/dialogs/dialogs_widget.h | 4 ++++ Telegram/SourceFiles/facades.cpp | 4 ---- Telegram/SourceFiles/facades.h | 2 -- Telegram/SourceFiles/mainwidget.cpp | 5 +++++ Telegram/SourceFiles/window/window_history_hider.cpp | 2 -- Telegram/SourceFiles/window/window_history_hider.h | 2 +- 7 files changed, 16 insertions(+), 11 deletions(-) diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp index e19ea9e5bc..7961faf750 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp @@ -1617,6 +1617,10 @@ void Widget::updateControlsGeometry() { } } +rpl::producer<> Widget::closeForwardBarRequests() const { + return _closeForwardBarRequests.events(); +} + void Widget::updateForwardBar() { auto selecting = controller()->selectingPeer(); auto oneColumnSelecting = (Adaptive::OneColumn() && selecting); @@ -1625,8 +1629,8 @@ void Widget::updateForwardBar() { } if (oneColumnSelecting) { _forwardCancel.create(this, st::dialogsForwardCancel); - _forwardCancel->setClickedCallback([] { - Global::RefPeerChooseCancel().notify(true); + _forwardCancel->setClickedCallback([=] { + _closeForwardBarRequests.fire({}); }); if (!_a_show.animating()) _forwardCancel->show(); } else { diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.h b/Telegram/SourceFiles/dialogs/dialogs_widget.h index 94080d4913..6fbeeef558 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.h +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.h @@ -87,6 +87,8 @@ public: void updateForwardBar(); + [[nodiscard]] rpl::producer<> closeForwardBarRequests() const; + // Float player interface. bool floatPlayerHandleWheelEvent(QEvent *e) override; QRect floatPlayerAvailableRect() override; @@ -245,6 +247,8 @@ private: int _topDelta = 0; + rpl::event_stream<> _closeForwardBarRequests; + }; } // namespace Dialogs diff --git a/Telegram/SourceFiles/facades.cpp b/Telegram/SourceFiles/facades.cpp index c6535155db..2809364401 100644 --- a/Telegram/SourceFiles/facades.cpp +++ b/Telegram/SourceFiles/facades.cpp @@ -356,8 +356,6 @@ struct Data { base::Observable LocalPasscodeChanged; base::Variable WorkMode = { dbiwmWindowAndTray }; - - base::Observable PeerChooseCancel; }; } // namespace internal @@ -399,6 +397,4 @@ DefineRefVar(Global, base::Observable, LocalPasscodeChanged); DefineRefVar(Global, base::Variable, WorkMode); -DefineRefVar(Global, base::Observable, PeerChooseCancel); - } // namespace Global diff --git a/Telegram/SourceFiles/facades.h b/Telegram/SourceFiles/facades.h index a9ef5be1b2..4853b8e6d0 100644 --- a/Telegram/SourceFiles/facades.h +++ b/Telegram/SourceFiles/facades.h @@ -129,8 +129,6 @@ DeclareRefVar(base::Observable, LocalPasscodeChanged); DeclareRefVar(base::Variable, WorkMode); -DeclareRefVar(base::Observable, PeerChooseCancel); - } // namespace Global namespace Adaptive { diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index 8c0bb5ebee..6425b6a53c 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -674,6 +674,11 @@ void MainWidget::hiderLayer(base::unique_qptr hider) { _hider = std::move(hider); controller()->setSelectingPeer(true); + _dialogs->closeForwardBarRequests( + ) | rpl::start_with_next([=] { + _hider->startHide(); + }, _hider->lifetime()); + _hider->setParent(this); _hider->hidden( diff --git a/Telegram/SourceFiles/window/window_history_hider.cpp b/Telegram/SourceFiles/window/window_history_hider.cpp index 442e6a156c..d8faefbfb6 100644 --- a/Telegram/SourceFiles/window/window_history_hider.cpp +++ b/Telegram/SourceFiles/window/window_history_hider.cpp @@ -30,8 +30,6 @@ HistoryHider::HistoryHider( refreshLang(); }, lifetime()); - subscribe(Global::RefPeerChooseCancel(), [=] { startHide(); }); - _chooseWidth = st::historyForwardChooseFont->width(_text); resizeEvent(0); diff --git a/Telegram/SourceFiles/window/window_history_hider.h b/Telegram/SourceFiles/window/window_history_hider.h index da5507206c..19b2bcb885 100644 --- a/Telegram/SourceFiles/window/window_history_hider.h +++ b/Telegram/SourceFiles/window/window_history_hider.h @@ -16,7 +16,7 @@ class RoundButton; namespace Window { -class HistoryHider : public Ui::RpWidget, private base::Subscriber { +class HistoryHider : public Ui::RpWidget { public: // Forward messages (via drag-n-drop) HistoryHider(QWidget *parent, MessageIdsList &&items);