Added support of setting for chats filters view type to filters menu.

This commit is contained in:
23rd 2024-11-03 18:20:06 +03:00
parent bcd84518d1
commit 81aef519d4
2 changed files with 12 additions and 3 deletions

View file

@ -229,7 +229,8 @@ void Controller::setupSideBar() {
sideBarChanged(); sideBarChanged();
}, _sessionController->lifetime()); }, _sessionController->lifetime());
if (_sessionController->session().settings().dialogsFiltersEnabled()) { if (_sessionController->session().settings().dialogsFiltersEnabled()
&& !Core::App().settings().chatFiltersHorizontal()) {
_sessionController->toggleFiltersMenu(true); _sessionController->toggleFiltersMenu(true);
} else { } else {
sideBarChanged(); sideBarChanged();

View file

@ -1314,7 +1314,14 @@ SessionController::SessionController(
closeFolder(); closeFolder();
}, lifetime()); }, lifetime());
session->data().chatsFilters().changed( rpl::merge(
session->data().chatsFilters().changed() | rpl::filter([=] {
return session->data().chatsFilters().loaded();
}) | rpl::map([] {
return Core::App().settings().chatFiltersHorizontalValue(
) | rpl::to_empty;
}) | rpl::flatten_latest(),
session->data().chatsFilters().changed()
) | rpl::start_with_next([=] { ) | rpl::start_with_next([=] {
checkOpenedFilter(); checkOpenedFilter();
crl::on_main(this, [=] { crl::on_main(this, [=] {
@ -1550,7 +1557,8 @@ void SessionController::toggleFiltersMenu(bool enabled) {
} }
void SessionController::refreshFiltersMenu() { void SessionController::refreshFiltersMenu() {
toggleFiltersMenu(session().data().chatsFilters().has()); toggleFiltersMenu(session().data().chatsFilters().has()
&& !Core::App().settings().chatFiltersHorizontal());
} }
rpl::producer<> SessionController::filtersMenuChanged() const { rpl::producer<> SessionController::filtersMenuChanged() const {