mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Added ability to go to top of chats list by clicking on selected filter.
This commit is contained in:
parent
67bbdbfc70
commit
db2e45c56e
2 changed files with 9 additions and 4 deletions
|
@ -1328,6 +1328,7 @@ void Widget::toggleFiltersMenu(bool enabled) {
|
||||||
_chatFilters.get(),
|
_chatFilters.get(),
|
||||||
&session(),
|
&session(),
|
||||||
[this](FilterId id) {
|
[this](FilterId id) {
|
||||||
|
_scroll->scrollToY(0);
|
||||||
if (controller()->activeChatsFilterCurrent() != id) {
|
if (controller()->activeChatsFilterCurrent() != id) {
|
||||||
controller()->setActiveChatsFilter(id);
|
controller()->setActiveChatsFilter(id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -381,14 +381,18 @@ not_null<Ui::RpWidget*> AddChatFiltersTabsStrip(
|
||||||
state->reorder->finishReordering();
|
state->reorder->finishReordering();
|
||||||
}, slider->lifetime());
|
}, slider->lifetime());
|
||||||
}
|
}
|
||||||
slider->sectionActivated() | rpl::distinct_until_changed(
|
rpl::single(-1) | rpl::then(
|
||||||
) | rpl::start_with_next([=](int index) {
|
slider->sectionActivated()
|
||||||
|
) | rpl::combine_previous(
|
||||||
|
) | rpl::start_with_next([=](int was, int index) {
|
||||||
if (slider->reordering()) {
|
if (slider->reordering()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const auto &filter = filterByIndex(index);
|
const auto &filter = filterByIndex(index);
|
||||||
state->lastFilterId = filter.id();
|
if (was != index) {
|
||||||
scrollToIndex(index, anim::type::normal);
|
state->lastFilterId = filter.id();
|
||||||
|
scrollToIndex(index, anim::type::normal);
|
||||||
|
}
|
||||||
applyFilter(filter);
|
applyFilter(filter);
|
||||||
}, wrap->lifetime());
|
}, wrap->lifetime());
|
||||||
slider->contextMenuRequested() | rpl::start_with_next([=](int index) {
|
slider->contextMenuRequested() | rpl::start_with_next([=](int index) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue