diff --git a/Telegram/SourceFiles/ui/widgets/chat_filters_tabs_strip.cpp b/Telegram/SourceFiles/ui/widgets/chat_filters_tabs_strip.cpp index cd8fdf147..66affaf5c 100644 --- a/Telegram/SourceFiles/ui/widgets/chat_filters_tabs_strip.cpp +++ b/Telegram/SourceFiles/ui/widgets/chat_filters_tabs_strip.cpp @@ -40,6 +40,7 @@ struct State final { std::optional lastFilterId = std::nullopt; rpl::lifetime unreadLifetime; base::unique_qptr menu; + rpl::variable additionalToggleOn; Api::RemoveComplexChatFilter removeApi; bool waitingSuggested = false; @@ -128,7 +129,8 @@ not_null AddChatFiltersTabsStrip( not_null session, rpl::producer multiSelectHeightValue, Fn setAddedTopScrollSkip, - Fn choose) { + Fn choose, + rpl::producer additionalToggleOn) { const auto window = Core::App().findWindow(parent); const auto controller = window ? window->sessionController() : nullptr; @@ -148,6 +150,7 @@ not_null AddChatFiltersTabsStrip( object_ptr(parent, st::dialogsSearchTabs), QMargins(sliderPadding, 0, sliderPadding, 0)))->entity(); const auto state = wrap->lifetime().make_state(); + state->additionalToggleOn = std::move(additionalToggleOn); wrap->toggle(false, anim::type::instant); container->sizeValue() | rpl::start_with_next([=](const QSize &s) { scroll->resize(s + QSize(0, scrollSt.deltax * 4)); @@ -271,7 +274,10 @@ not_null AddChatFiltersTabsStrip( slider->contextMenuRequested() | rpl::start_with_next([=](int index) { ShowMenu(wrap, controller, state, index); }, slider->lifetime()); - wrap->toggle((list.size() > 1), anim::type::instant); + state->additionalToggleOn.value( + ) | rpl::start_with_next([=](bool enabled) { + wrap->toggle(enabled && (list.size() > 1), anim::type::instant); + }, wrap->lifetime()); }; session->data().chatsFilters().changed( ) | rpl::start_with_next(rebuild, wrap->lifetime()); diff --git a/Telegram/SourceFiles/ui/widgets/chat_filters_tabs_strip.h b/Telegram/SourceFiles/ui/widgets/chat_filters_tabs_strip.h index c50814830..3a5c1ed59 100644 --- a/Telegram/SourceFiles/ui/widgets/chat_filters_tabs_strip.h +++ b/Telegram/SourceFiles/ui/widgets/chat_filters_tabs_strip.h @@ -22,6 +22,7 @@ not_null AddChatFiltersTabsStrip( not_null session, rpl::producer multiSelectHeightValue, Fn setAddedTopScrollSkip, - Fn choose); + Fn choose, + rpl::producer additionalToggleOn = rpl::single(true)); } // namespace Ui