2
0
mirror of https://github.com/telegramdesktop/tdesktop synced 2025-09-05 00:46:08 +00:00

Fixed tags display when color of chats filter tag is toggled.

This commit is contained in:
23rd
2024-11-20 17:40:22 +03:00
parent 4a19f193ce
commit 1f162aa2a0
5 changed files with 52 additions and 14 deletions

View File

@@ -329,10 +329,28 @@ InnerWidget::InnerWidget(
}, _handleChatListEntryTagRefreshesLifetime);
session().data().chatsFilters().tagColorChanged(
) | rpl::start_with_next([=](FilterId filterId) {
) | rpl::start_with_next([=](Data::TagColorChanged data) {
const auto filterId = data.filterId;
const auto it = _chatsFilterTags.find(filterId);
if (it != _chatsFilterTags.end()) {
_chatsFilterTags.erase(it);
}
if (data.colorExistenceChanged) {
for (const auto &f : session().data().chatsFilters().list()) {
if (f.id() != filterId) {
continue;
}
const auto color = f.colorIndex();
const auto list = session().data().chatsFilters().chatsList(
filterId);
for (const auto &row : list->indexed()->all()) {
row->entry()->setColorIndexForFilterId(filterId, color);
}
}
if (_shownList->updateHeights(_narrowRatio)) {
refresh();
}
} else {
update();
}
}, _handleChatListEntryTagRefreshesLifetime);