From 8060691f3d680acafdaf5a05a6f18e8ae79bbca0 Mon Sep 17 00:00:00 2001 From: 23rd <23rd@vivaldi.net> Date: Thu, 19 Dec 2024 15:54:26 +0300 Subject: [PATCH] Fixed preview of chats filters in filter link box when window is small. --- Telegram/SourceFiles/api/api_chat_filters.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Telegram/SourceFiles/api/api_chat_filters.cpp b/Telegram/SourceFiles/api/api_chat_filters.cpp index a686f44d2..ed344fdb9 100644 --- a/Telegram/SourceFiles/api/api_chat_filters.cpp +++ b/Telegram/SourceFiles/api/api_chat_filters.cpp @@ -140,7 +140,8 @@ void InitFilterLinkHeader( Ui::FilterLinkHeaderType type, const QString &title, const QString &iconEmoji, - rpl::producer count) { + rpl::producer count, + bool horizontalFilters) { const auto icon = Ui::LookupFilterIcon( Ui::LookupFilterIconByEmoji( iconEmoji @@ -154,7 +155,7 @@ void InitFilterLinkHeader( .badge = (type == Ui::FilterLinkHeaderType::AddingChats ? std::move(count) : rpl::single(0)), - .horizontalFilters = Core::App().settings().chatFiltersHorizontal(), + .horizontalFilters = horizontalFilters, }); const auto widget = header.widget; widget->resizeToWidth(st::boxWideWidth); @@ -593,6 +594,8 @@ void ProcessFilterInvite( title, std::move(peers), std::move(already)); + const auto horizontalFilters = !strong->enoughSpaceForFilters() + || Core::App().settings().chatFiltersHorizontal(); const auto raw = controller.get(); auto initBox = [=](not_null box) { box->setStyle(st::filterInviteBox); @@ -609,7 +612,7 @@ void ProcessFilterInvite( }); InitFilterLinkHeader(box, [=](int min, int max, int addedTop) { raw->adjust(min, max, addedTop); - }, type, title, iconEmoji, rpl::duplicate(badge)); + }, type, title, iconEmoji, rpl::duplicate(badge), horizontalFilters); raw->setRealContentHeight(box->heightValue()); @@ -821,6 +824,8 @@ void ProcessFilterRemove( title, std::move(suggest), std::move(all)); + const auto horizontalFilters = !strong->enoughSpaceForFilters() + || Core::App().settings().chatFiltersHorizontal(); const auto raw = controller.get(); auto initBox = [=](not_null box) { box->setStyle(st::filterInviteBox); @@ -832,7 +837,7 @@ void ProcessFilterRemove( }); InitFilterLinkHeader(box, [=](int min, int max, int addedTop) { raw->adjust(min, max, addedTop); - }, type, title, iconEmoji, rpl::single(0)); + }, type, title, iconEmoji, rpl::single(0), horizontalFilters); auto owned = Ui::FilterLinkProcessButton( box,