Use first message of album as the leader.

This commit is contained in:
John Preston 2020-09-16 11:25:57 +03:00
parent 7f928a92ea
commit 8af559e711
5 changed files with 7 additions and 7 deletions

View File

@ -1234,7 +1234,7 @@ void Session::notifyItemIdChange(IdChange event) {
};
enumerateItemViews(item, refreshViewDataId);
if (const auto group = groups().find(item)) {
const auto leader = group->items.back();
const auto leader = group->items.front();
if (leader != item) {
enumerateItemViews(leader, refreshViewDataId);
}

View File

@ -199,7 +199,7 @@ void HistoryItem::finishEdition(int oldKeyboardTop) {
_history->owner().requestItemViewRefresh(this);
invalidateChatListEntry();
if (const auto group = _history->owner().groups().find(this)) {
const auto leader = group->items.back();
const auto leader = group->items.front();
if (leader != this) {
_history->owner().requestItemViewRefresh(leader);
leader->invalidateChatListEntry();

View File

@ -930,7 +930,7 @@ void HistoryWidget::scrollToAnimationCallback(
void HistoryWidget::enqueueMessageHighlight(
not_null<HistoryView::Element*> view) {
if (const auto group = session().data().groups().find(view->data())) {
if (const auto leader = group->items.back()->mainView()) {
if (const auto leader = group->items.front()->mainView()) {
view = leader;
}
}
@ -1020,7 +1020,7 @@ void HistoryWidget::clearHighlightMessages() {
int HistoryWidget::itemTopForHighlight(
not_null<HistoryView::Element*> view) const {
if (const auto group = session().data().groups().find(view->data())) {
if (const auto leader = group->items.back()->mainView()) {
if (const auto leader = group->items.front()->mainView()) {
view = leader;
}
}

View File

@ -358,7 +358,7 @@ void Element::refreshMedia(Element *replacing) {
const auto media = item->media();
if (media && media->canBeGrouped()) {
if (const auto group = history()->owner().groups().find(item)) {
if (group->items.back() != item) {
if (group->items.front() != item) {
_media = nullptr;
_flags |= Flag::HiddenByGroup;
} else {

View File

@ -371,7 +371,7 @@ std::optional<int> ListWidget::scrollTopForView(
not_null<Element*> view) const {
if (view->isHiddenByGroup()) {
if (const auto group = session().data().groups().find(view->data())) {
if (const auto leader = viewForItem(group->items.back())) {
if (const auto leader = viewForItem(group->items.front())) {
if (!leader->isHiddenByGroup()) {
return scrollTopForView(leader);
}
@ -1371,7 +1371,7 @@ TextSelection ListWidget::computeRenderSelection(
};
const auto item = view->data();
if (const auto group = session().data().groups().find(item)) {
if (group->items.back() != item) {
if (group->items.front() != item) {
return TextSelection();
}
auto result = TextSelection();