mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 06:33:57 +02:00
Fix display of imported messages in private chats.
This commit is contained in:
parent
b2c84d675c
commit
7410c1fc73
1 changed files with 19 additions and 8 deletions
|
@ -1185,7 +1185,9 @@ void Message::unloadHeavyPart() {
|
||||||
bool Message::showForwardsFromSender(
|
bool Message::showForwardsFromSender(
|
||||||
not_null<HistoryMessageForwarded*> forwarded) const {
|
not_null<HistoryMessageForwarded*> forwarded) const {
|
||||||
const auto peer = message()->history()->peer;
|
const auto peer = message()->history()->peer;
|
||||||
return peer->isSelf() || peer->isRepliesChat() || forwarded->imported;
|
return peer->isSelf()
|
||||||
|
|| peer->isRepliesChat()
|
||||||
|
|| forwarded->imported;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Message::hasFromPhoto() const {
|
bool Message::hasFromPhoto() const {
|
||||||
|
@ -1202,12 +1204,13 @@ bool Message::hasFromPhoto() const {
|
||||||
const auto item = message();
|
const auto item = message();
|
||||||
if (item->isPost()
|
if (item->isPost()
|
||||||
|| item->isEmpty()
|
|| item->isEmpty()
|
||||||
|| (context() == Context::Replies && data()->isDiscussionPost())) {
|
|| (context() == Context::Replies && item->isDiscussionPost())) {
|
||||||
return false;
|
return false;
|
||||||
} else if (Core::App().settings().chatWide()) {
|
} else if (Core::App().settings().chatWide()) {
|
||||||
return true;
|
return true;
|
||||||
} else if (const auto forwarded = item->Get<HistoryMessageForwarded>()) {
|
} else if (const auto forwarded = item->Get<HistoryMessageForwarded>()) {
|
||||||
if (showForwardsFromSender(forwarded)) {
|
const auto peer = item->history()->peer;
|
||||||
|
if (peer->isSelf() || peer->isRepliesChat()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2069,13 +2072,17 @@ bool Message::hasFromName() const {
|
||||||
case Context::Pinned:
|
case Context::Pinned:
|
||||||
case Context::Replies: {
|
case Context::Replies: {
|
||||||
const auto item = message();
|
const auto item = message();
|
||||||
|
const auto peer = item->history()->peer;
|
||||||
if (hasOutLayout() && !item->from()->isMegagroup()) {
|
if (hasOutLayout() && !item->from()->isMegagroup()) {
|
||||||
return false;
|
return false;
|
||||||
} else if (!item->history()->peer->isUser()) {
|
} else if (!peer->isUser()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (const auto forwarded = item->Get<HistoryMessageForwarded>()) {
|
if (const auto forwarded = item->Get<HistoryMessageForwarded>()) {
|
||||||
if (showForwardsFromSender(forwarded)) {
|
if (forwarded->imported
|
||||||
|
&& peer.get() == forwarded->originalSender) {
|
||||||
|
return false;
|
||||||
|
} else if (showForwardsFromSender(forwarded)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2121,8 +2128,12 @@ bool Message::hasOutLayout() const {
|
||||||
if (item->history()->peer->isSelf()) {
|
if (item->history()->peer->isSelf()) {
|
||||||
return !item->Has<HistoryMessageForwarded>();
|
return !item->Has<HistoryMessageForwarded>();
|
||||||
} else if (const auto forwarded = item->Get<HistoryMessageForwarded>()) {
|
} else if (const auto forwarded = item->Get<HistoryMessageForwarded>()) {
|
||||||
if (showForwardsFromSender(forwarded)) {
|
if (!forwarded->imported
|
||||||
return false;
|
|| !forwarded->originalSender
|
||||||
|
|| !forwarded->originalSender->isSelf()) {
|
||||||
|
if (showForwardsFromSender(forwarded)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return item->out() && !item->isPost();
|
return item->out() && !item->isPost();
|
||||||
|
@ -2716,7 +2727,7 @@ void Message::initTime() {
|
||||||
if (forwarded && forwarded->imported) {
|
if (forwarded && forwarded->imported) {
|
||||||
const auto date = base::unixtime::parse(forwarded->originalDate);
|
const auto date = base::unixtime::parse(forwarded->originalDate);
|
||||||
item->_timeText = date.toString(
|
item->_timeText = date.toString(
|
||||||
u"d.MM.yy "_q + cTimeFormat() + ' '
|
u"d.MM.yy, "_q + cTimeFormat() + ' '
|
||||||
) + tr::lng_imported(tr::now);
|
) + tr::lng_imported(tr::now);
|
||||||
} else {
|
} else {
|
||||||
item->_timeText = dateTime().toString(cTimeFormat());
|
item->_timeText = dateTime().toString(cTimeFormat());
|
||||||
|
|
Loading…
Add table
Reference in a new issue