2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-10-13 13:58:04 +00:00

Don't expand minimum window size for folders

Turn them into horizontal automatically instead
This commit is contained in:
Ilya Fedin
2024-11-17 07:38:48 +04:00
committed by John Preston
parent 702aa944dd
commit 6c64c22f83
6 changed files with 29 additions and 9 deletions

View File

@@ -1315,6 +1315,7 @@ SessionController::SessionController(
}, lifetime());
rpl::merge(
enoughSpaceForFiltersValue() | rpl::skip(1) | rpl::to_empty,
Core::App().settings().chatFiltersHorizontalChanges() | rpl::to_empty,
session->data().chatsFilters().changed()
) | rpl::start_with_next([=] {
@@ -1322,7 +1323,8 @@ SessionController::SessionController(
crl::on_main(this, [this] {
if (SessionNavigation::session().data().chatsFilters().has()) {
const auto isHorizontal
= Core::App().settings().chatFiltersHorizontal();
= Core::App().settings().chatFiltersHorizontal()
|| !enoughSpaceForFilters();
content()->toggleFiltersMenu(isHorizontal);
toggleFiltersMenu(!isHorizontal);
} else {
@@ -2588,6 +2590,16 @@ int SessionController::filtersWidth() const {
return _filters ? st::windowFiltersWidth : 0;
}
bool SessionController::enoughSpaceForFilters() const {
return widget()->width() >= widget()->minimumWidth() + st::windowFiltersWidth;
}
rpl::producer<bool> SessionController::enoughSpaceForFiltersValue() const {
return widget()->widthValue() | rpl::map([=] {
return enoughSpaceForFilters();
}) | rpl::distinct_until_changed();
}
rpl::producer<FilterId> SessionController::activeChatsFilter() const {
return _activeChatsFilter.value();
}