mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Use first message of album as the leader.
This commit is contained in:
parent
7f928a92ea
commit
8af559e711
5 changed files with 7 additions and 7 deletions
|
@ -1234,7 +1234,7 @@ void Session::notifyItemIdChange(IdChange event) {
|
||||||
};
|
};
|
||||||
enumerateItemViews(item, refreshViewDataId);
|
enumerateItemViews(item, refreshViewDataId);
|
||||||
if (const auto group = groups().find(item)) {
|
if (const auto group = groups().find(item)) {
|
||||||
const auto leader = group->items.back();
|
const auto leader = group->items.front();
|
||||||
if (leader != item) {
|
if (leader != item) {
|
||||||
enumerateItemViews(leader, refreshViewDataId);
|
enumerateItemViews(leader, refreshViewDataId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -199,7 +199,7 @@ void HistoryItem::finishEdition(int oldKeyboardTop) {
|
||||||
_history->owner().requestItemViewRefresh(this);
|
_history->owner().requestItemViewRefresh(this);
|
||||||
invalidateChatListEntry();
|
invalidateChatListEntry();
|
||||||
if (const auto group = _history->owner().groups().find(this)) {
|
if (const auto group = _history->owner().groups().find(this)) {
|
||||||
const auto leader = group->items.back();
|
const auto leader = group->items.front();
|
||||||
if (leader != this) {
|
if (leader != this) {
|
||||||
_history->owner().requestItemViewRefresh(leader);
|
_history->owner().requestItemViewRefresh(leader);
|
||||||
leader->invalidateChatListEntry();
|
leader->invalidateChatListEntry();
|
||||||
|
|
|
@ -930,7 +930,7 @@ void HistoryWidget::scrollToAnimationCallback(
|
||||||
void HistoryWidget::enqueueMessageHighlight(
|
void HistoryWidget::enqueueMessageHighlight(
|
||||||
not_null<HistoryView::Element*> view) {
|
not_null<HistoryView::Element*> view) {
|
||||||
if (const auto group = session().data().groups().find(view->data())) {
|
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 = leader;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1020,7 +1020,7 @@ void HistoryWidget::clearHighlightMessages() {
|
||||||
int HistoryWidget::itemTopForHighlight(
|
int HistoryWidget::itemTopForHighlight(
|
||||||
not_null<HistoryView::Element*> view) const {
|
not_null<HistoryView::Element*> view) const {
|
||||||
if (const auto group = session().data().groups().find(view->data())) {
|
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 = leader;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -358,7 +358,7 @@ void Element::refreshMedia(Element *replacing) {
|
||||||
const auto media = item->media();
|
const auto media = item->media();
|
||||||
if (media && media->canBeGrouped()) {
|
if (media && media->canBeGrouped()) {
|
||||||
if (const auto group = history()->owner().groups().find(item)) {
|
if (const auto group = history()->owner().groups().find(item)) {
|
||||||
if (group->items.back() != item) {
|
if (group->items.front() != item) {
|
||||||
_media = nullptr;
|
_media = nullptr;
|
||||||
_flags |= Flag::HiddenByGroup;
|
_flags |= Flag::HiddenByGroup;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -371,7 +371,7 @@ std::optional<int> ListWidget::scrollTopForView(
|
||||||
not_null<Element*> view) const {
|
not_null<Element*> view) const {
|
||||||
if (view->isHiddenByGroup()) {
|
if (view->isHiddenByGroup()) {
|
||||||
if (const auto group = session().data().groups().find(view->data())) {
|
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()) {
|
if (!leader->isHiddenByGroup()) {
|
||||||
return scrollTopForView(leader);
|
return scrollTopForView(leader);
|
||||||
}
|
}
|
||||||
|
@ -1371,7 +1371,7 @@ TextSelection ListWidget::computeRenderSelection(
|
||||||
};
|
};
|
||||||
const auto item = view->data();
|
const auto item = view->data();
|
||||||
if (const auto group = session().data().groups().find(item)) {
|
if (const auto group = session().data().groups().find(item)) {
|
||||||
if (group->items.back() != item) {
|
if (group->items.front() != item) {
|
||||||
return TextSelection();
|
return TextSelection();
|
||||||
}
|
}
|
||||||
auto result = TextSelection();
|
auto result = TextSelection();
|
||||||
|
|
Loading…
Add table
Reference in a new issue