Fix chats list forwarded messages sender.

This commit is contained in:
John Preston 2021-11-23 15:40:15 +04:00
parent 9bc9547b1c
commit a7c9a1ab34

View file

@ -974,22 +974,29 @@ ItemPreview HistoryItem::toPreview(ToPreviewOptions options) const {
} }
return {}; return {};
}(); }();
const auto sender = [&]() -> std::optional<QString> {
const auto fromSender = [](not_null<PeerData*> sender) { const auto fromSender = [](not_null<PeerData*> sender) {
return sender->isSelf() return sender->isSelf()
? tr::lng_from_you(tr::now) ? tr::lng_from_you(tr::now)
: sender->shortName(); : sender->shortName();
}; };
if (options.hideSender || isPost() || isEmpty()) { const auto fromForwarded = [&]() -> std::optional<QString> {
return {};
} else if (!_history->peer->isUser()) {
return fromSender(displayFrom());
} else if (_history->peer->isSelf()) {
if (const auto forwarded = Get<HistoryMessageForwarded>()) { if (const auto forwarded = Get<HistoryMessageForwarded>()) {
return forwarded->originalSender return forwarded->originalSender
? fromSender(forwarded->originalSender) ? fromSender(forwarded->originalSender)
: forwarded->hiddenSenderInfo->name; : forwarded->hiddenSenderInfo->name;
} }
return {};
};
const auto sender = [&]() -> std::optional<QString> {
if (options.hideSender || isPost() || isEmpty()) {
return {};
} else if (!_history->peer->isUser()) {
if (const auto from = displayFrom()) {
return fromSender(from);
}
return fromForwarded();
} else if (_history->peer->isSelf()) {
return fromForwarded();
} }
return {}; return {};
}(); }();