Try cancelling the new search by mouse back button.

This commit is contained in:
John Preston 2024-04-24 17:41:12 +04:00
parent 72d5a9b3e0
commit d5a347ede7
3 changed files with 10 additions and 1 deletions

View file

@ -1107,6 +1107,13 @@ void Widget::updateHasFocus(not_null<QWidget*> focused) {
}
}
bool Widget::cancelSearchByMouseBack() {
return _searchHasFocus
&& !_searchSuggestionsLocked
&& !_searchInChat
&& cancelSearch();
}
void Widget::processSearchFocusChange() {
_searchSuggestionsLocked = _suggestions && _suggestions->persist();
updateCancelSearch();

View file

@ -133,6 +133,7 @@ public:
QRect floatPlayerAvailableRect() override;
bool cancelSearch();
bool cancelSearchByMouseBack();
~Widget();

View file

@ -2649,7 +2649,8 @@ bool MainWidget::eventFilter(QObject *o, QEvent *e) {
if (widget && (widget->window() == window())) {
const auto event = static_cast<QMouseEvent*>(e);
if (event->button() == Qt::BackButton) {
if (!Core::App().hideMediaView()) {
if (!Core::App().hideMediaView()
&& (!_dialogs || !_dialogs->cancelSearchByMouseBack())) {
handleHistoryBack();
}
return true;