2
0
mirror of https://github.com/kotatogram/kotatogram-desktop synced 2025-09-01 07:05:13 +00:00

Move manage filters to a Settings section.

This commit is contained in:
John Preston
2020-03-24 12:58:47 +04:00
parent 568325f201
commit e8bf5bb5ce
14 changed files with 238 additions and 191 deletions

View File

@@ -106,6 +106,9 @@ void SetupSections(
Type::Chat,
&st::settingsIconChat);
const auto preload = [=] {
controller->session().data().chatsFilters().requestSuggested();
};
const auto account = &controller->session().account();
const auto slided = container->add(
object_ptr<Ui::SlideWrap<Ui::SettingsButton>>(
@@ -118,18 +121,30 @@ void SetupSections(
if (!controller->session().data().chatsFilters().list().empty()
|| Global::DialogsFiltersEnabled()) {
slided->show(anim::type::instant);
preload();
} else {
const auto enabled = [=] {
return account->appConfig().get<bool>(
const auto result = account->appConfig().get<bool>(
"dialog_filters_enabled",
false);
if (result) {
preload();
}
return result;
};
const auto preloadIfEnabled = [=](bool enabled) {
if (enabled) {
preload();
}
};
slided->toggleOn(
rpl::single(
rpl::empty_value()
) | rpl::then(
account->appConfig().refreshed()
) | rpl::map(enabled));
) | rpl::map(
enabled
) | rpl::before_next(preloadIfEnabled));
}
slided->entity()->setClickedCallback([=] {
showOther(Type::Folders);