mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-07 07:33:52 +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() {
|
void HistoryWidget::escape() {
|
||||||
if (_chooseForReport) {
|
if (_composeSearch) {
|
||||||
|
_composeSearch->hideAnimated();
|
||||||
|
} else if (_chooseForReport) {
|
||||||
controller()->clearChooseReportMessages();
|
controller()->clearChooseReportMessages();
|
||||||
} else if (_nonEmptySelection && _list) {
|
} else if (_nonEmptySelection && _list) {
|
||||||
clearSelected();
|
clearSelected();
|
||||||
|
|
|
@ -255,6 +255,7 @@ public:
|
||||||
[[nodiscard]] rpl::producer<PeerData*> fromValue() const;
|
[[nodiscard]] rpl::producer<PeerData*> fromValue() const;
|
||||||
[[nodiscard]] rpl::producer<> queryChanges() const;
|
[[nodiscard]] rpl::producer<> queryChanges() const;
|
||||||
[[nodiscard]] rpl::producer<> closeRequests() const;
|
[[nodiscard]] rpl::producer<> closeRequests() const;
|
||||||
|
[[nodiscard]] rpl::producer<> cancelRequests() const;
|
||||||
|
|
||||||
void setFrom(PeerData *peer);
|
void setFrom(PeerData *peer);
|
||||||
|
|
||||||
|
@ -274,6 +275,7 @@ private:
|
||||||
|
|
||||||
rpl::event_stream<SearchRequest> _searchRequests;
|
rpl::event_stream<SearchRequest> _searchRequests;
|
||||||
rpl::event_stream<> _queryChanges;
|
rpl::event_stream<> _queryChanges;
|
||||||
|
rpl::event_stream<> _cancelRequests;
|
||||||
};
|
};
|
||||||
|
|
||||||
TopBar::TopBar(not_null<Ui::RpWidget*> parent)
|
TopBar::TopBar(not_null<Ui::RpWidget*> parent)
|
||||||
|
@ -318,7 +320,7 @@ TopBar::TopBar(not_null<Ui::RpWidget*> parent)
|
||||||
});
|
});
|
||||||
|
|
||||||
_select->setCancelledCallback([=] {
|
_select->setCancelledCallback([=] {
|
||||||
|
_cancelRequests.fire({});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -371,6 +373,10 @@ rpl::producer<> TopBar::closeRequests() const {
|
||||||
return _cancel->clicks() | rpl::to_empty;
|
return _cancel->clicks() | rpl::to_empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rpl::producer<> TopBar::cancelRequests() const {
|
||||||
|
return _cancelRequests.events();
|
||||||
|
}
|
||||||
|
|
||||||
rpl::producer<PeerData*> TopBar::fromValue() const {
|
rpl::producer<PeerData*> TopBar::fromValue() const {
|
||||||
return _from.value();
|
return _from.value();
|
||||||
}
|
}
|
||||||
|
@ -783,6 +789,15 @@ ComposeSearch::Inner::Inner(
|
||||||
hideAnimated();
|
hideAnimated();
|
||||||
}, _topBar->lifetime());
|
}, _topBar->lifetime());
|
||||||
|
|
||||||
|
_topBar->cancelRequests(
|
||||||
|
) | rpl::start_with_next([=] {
|
||||||
|
if (!_list.container->isHidden()) {
|
||||||
|
Ui::Animations::HideWidgets({ _list.container.get() });
|
||||||
|
} else {
|
||||||
|
hideAnimated();
|
||||||
|
}
|
||||||
|
}, _topBar->lifetime());
|
||||||
|
|
||||||
_apiSearch.newFounds(
|
_apiSearch.newFounds(
|
||||||
) | rpl::start_with_next([=] {
|
) | rpl::start_with_next([=] {
|
||||||
const auto &apiData = _apiSearch.messages();
|
const auto &apiData = _apiSearch.messages();
|
||||||
|
@ -859,7 +874,7 @@ ComposeSearch::Inner::Inner(
|
||||||
Window::Show(_window).hideLayer();
|
Window::Show(_window).hideLayer();
|
||||||
_topBar->setFrom(from);
|
_topBar->setFrom(from);
|
||||||
}),
|
}),
|
||||||
crl::guard(_bottomBar.get(), [=] { /*_filter->setFocus();*/ }));
|
crl::guard(_bottomBar.get(), [=] { setInnerFocus(); }));
|
||||||
|
|
||||||
Window::Show(_window).showBox(std::move(box));
|
Window::Show(_window).showBox(std::move(box));
|
||||||
}, _bottomBar->lifetime());
|
}, _bottomBar->lifetime());
|
||||||
|
|
Loading…
Add table
Reference in a new issue