mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 22:54:01 +02:00
Added Escape hotkey to hide search messages in dialogs.
This commit is contained in:
parent
307894415f
commit
49d090bb4c
2 changed files with 20 additions and 3 deletions
|
@ -7135,7 +7135,9 @@ void HistoryWidget::confirmDeleteSelected() {
|
|||
}
|
||||
|
||||
void HistoryWidget::escape() {
|
||||
if (_chooseForReport) {
|
||||
if (_composeSearch) {
|
||||
_composeSearch->hideAnimated();
|
||||
} else if (_chooseForReport) {
|
||||
controller()->clearChooseReportMessages();
|
||||
} else if (_nonEmptySelection && _list) {
|
||||
clearSelected();
|
||||
|
|
|
@ -255,6 +255,7 @@ public:
|
|||
[[nodiscard]] rpl::producer<PeerData*> fromValue() const;
|
||||
[[nodiscard]] rpl::producer<> queryChanges() const;
|
||||
[[nodiscard]] rpl::producer<> closeRequests() const;
|
||||
[[nodiscard]] rpl::producer<> cancelRequests() const;
|
||||
|
||||
void setFrom(PeerData *peer);
|
||||
|
||||
|
@ -274,6 +275,7 @@ private:
|
|||
|
||||
rpl::event_stream<SearchRequest> _searchRequests;
|
||||
rpl::event_stream<> _queryChanges;
|
||||
rpl::event_stream<> _cancelRequests;
|
||||
};
|
||||
|
||||
TopBar::TopBar(not_null<Ui::RpWidget*> parent)
|
||||
|
@ -318,7 +320,7 @@ TopBar::TopBar(not_null<Ui::RpWidget*> parent)
|
|||
});
|
||||
|
||||
_select->setCancelledCallback([=] {
|
||||
|
||||
_cancelRequests.fire({});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -371,6 +373,10 @@ rpl::producer<> TopBar::closeRequests() const {
|
|||
return _cancel->clicks() | rpl::to_empty;
|
||||
}
|
||||
|
||||
rpl::producer<> TopBar::cancelRequests() const {
|
||||
return _cancelRequests.events();
|
||||
}
|
||||
|
||||
rpl::producer<PeerData*> TopBar::fromValue() const {
|
||||
return _from.value();
|
||||
}
|
||||
|
@ -783,6 +789,15 @@ ComposeSearch::Inner::Inner(
|
|||
hideAnimated();
|
||||
}, _topBar->lifetime());
|
||||
|
||||
_topBar->cancelRequests(
|
||||
) | rpl::start_with_next([=] {
|
||||
if (!_list.container->isHidden()) {
|
||||
Ui::Animations::HideWidgets({ _list.container.get() });
|
||||
} else {
|
||||
hideAnimated();
|
||||
}
|
||||
}, _topBar->lifetime());
|
||||
|
||||
_apiSearch.newFounds(
|
||||
) | rpl::start_with_next([=] {
|
||||
const auto &apiData = _apiSearch.messages();
|
||||
|
@ -859,7 +874,7 @@ ComposeSearch::Inner::Inner(
|
|||
Window::Show(_window).hideLayer();
|
||||
_topBar->setFrom(from);
|
||||
}),
|
||||
crl::guard(_bottomBar.get(), [=] { /*_filter->setFocus();*/ }));
|
||||
crl::guard(_bottomBar.get(), [=] { setInnerFocus(); }));
|
||||
|
||||
Window::Show(_window).showBox(std::move(box));
|
||||
}, _bottomBar->lifetime());
|
||||
|
|
Loading…
Add table
Reference in a new issue