Apply default folder on only first refresh

Actually, it already should've work this way, but since filters
menu can be re-created, default folder was applied on every
re-creation.
This commit is contained in:
Eric Kotato 2020-04-20 22:03:56 +03:00
parent ae5f1638f6
commit c7327a335f
2 changed files with 7 additions and 4 deletions

View file

@ -58,6 +58,8 @@ namespace {
}); });
} }
bool FiltersFirstLoad = true;
} // namespace } // namespace
FiltersMenu::FiltersMenu( FiltersMenu::FiltersMenu(
@ -105,7 +107,7 @@ void FiltersMenu::setup() {
) | rpl::then( ) | rpl::then(
filters->changed() filters->changed()
) | rpl::start_with_next([=] { ) | rpl::start_with_next([=] {
refresh(true); refresh();
}, _outer.lifetime()); }, _outer.lifetime());
_activeFilterId = _session->activeChatsFilterCurrent(); _activeFilterId = _session->activeChatsFilterCurrent();
@ -162,7 +164,7 @@ void FiltersMenu::scrollToButton(not_null<Ui::RpWidget*> widget) {
anim::sineInOut); anim::sineInOut);
} }
void FiltersMenu::refresh(bool firstLoad) { void FiltersMenu::refresh() {
const auto filters = &_session->session().data().chatsFilters(); const auto filters = &_session->session().data().chatsFilters();
if (filters->list().empty() || _ignoreRefresh) { if (filters->list().empty() || _ignoreRefresh) {
return; return;
@ -187,8 +189,9 @@ void FiltersMenu::refresh(bool firstLoad) {
_container->resizeToWidth(_outer.width()); _container->resizeToWidth(_outer.width());
if (firstLoad) { if (FiltersFirstLoad) {
_session->setActiveChatsFilter(cDefaultFilterId()); _session->setActiveChatsFilter(cDefaultFilterId());
FiltersFirstLoad = false;
} }
} }

View file

@ -35,7 +35,7 @@ public:
private: private:
void setup(); void setup();
void refresh(bool firstLoad = false); void refresh();
void setupList(); void setupList();
void applyReorder( void applyReorder(
not_null<Ui::RpWidget*> widget, not_null<Ui::RpWidget*> widget,