From f89167ef94262bf1e92b4a44bab56cc7ada466b7 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 7 Nov 2024 12:17:35 +0300 Subject: [PATCH] Fixed display of chats filters strip from dialogs widget in search mode. --- Telegram/SourceFiles/dialogs/dialogs_widget.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp index 4746532e1..d6707dbe9 100644 --- a/Telegram/SourceFiles/dialogs/dialogs_widget.cpp +++ b/Telegram/SourceFiles/dialogs/dialogs_widget.cpp @@ -3139,6 +3139,9 @@ bool Widget::applySearchState(SearchState state) { const auto tagsChanged = (_searchState.tags != state.tags); const auto queryChanged = (_searchState.query != state.query); const auto tabChanged = (_searchState.tab != state.tab); + const auto queryEmptyChanged = queryChanged + ? (_searchState.query.isEmpty() != state.query.isEmpty()) + : false; if (forum) { if (_openedForum == forum) { @@ -3174,6 +3177,10 @@ bool Widget::applySearchState(SearchState state) { ? peer->owner().history(migrateFrom).get() : nullptr; _searchState = state; + if (_chatFilters && queryEmptyChanged) { + _chatFilters->setVisible(_searchState.query.isEmpty()); + updateControlsGeometry(); + } _searchWithPostsPreview = computeSearchWithPostsPreview(); if (queryChanged) { updateLockUnlockVisibility(anim::type::normal); @@ -3591,7 +3598,7 @@ void Widget::updateControlsGeometry() { _chatFilters->move(0, chatFiltersTop); } const auto scrollTop = chatFiltersTop - + (_chatFilters + + ((_chatFilters && _searchState.query.isEmpty()) ? (_chatFilters->height() * (1. - narrowRatio)) : 0); const auto scrollHeight = height() - scrollTop - bottomSkip;