Show admin rank for anonymous posts.
This commit is contained in:
parent
874e5e0a61
commit
bd1a46252d
|
@ -3309,7 +3309,7 @@ QString HistoryInner::tooltipText() const {
|
|||
}
|
||||
}
|
||||
if (const auto msgsigned = view->data()->Get<HistoryMessageSigned>()) {
|
||||
if (msgsigned->isElided) {
|
||||
if (msgsigned->isElided && !msgsigned->isAnonymousRank) {
|
||||
dateText += '\n' + tr::lng_signed_author(tr::now, lt_user, msgsigned->author);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -717,8 +717,10 @@ QString HistoryItem::authorOriginal() const {
|
|||
if (const auto forwarded = Get<HistoryMessageForwarded>()) {
|
||||
return forwarded->originalAuthor;
|
||||
} else if (const auto msgsigned = Get<HistoryMessageSigned>()) {
|
||||
if (!msgsigned->isAnonymousRank) {
|
||||
return msgsigned->author;
|
||||
}
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
|
|
|
@ -73,6 +73,8 @@ void HistoryMessageVia::resize(int32 availw) const {
|
|||
}
|
||||
|
||||
void HistoryMessageSigned::refresh(const QString &date) {
|
||||
Expects(!isAnonymousRank);
|
||||
|
||||
auto name = author;
|
||||
const auto time = qsl(", ") + date;
|
||||
const auto timew = st::msgDateFont->width(time);
|
||||
|
|
|
@ -56,9 +56,10 @@ struct HistoryMessageSigned : public RuntimeComponent<HistoryMessageSigned, Hist
|
|||
void refresh(const QString &date);
|
||||
int maxWidth() const;
|
||||
|
||||
bool isElided = false;
|
||||
QString author;
|
||||
Ui::Text::String signature;
|
||||
bool isElided = false;
|
||||
bool isAnonymousRank = false;
|
||||
};
|
||||
|
||||
struct HistoryMessageEdited : public RuntimeComponent<HistoryMessageEdited, HistoryItem> {
|
||||
|
|
|
@ -1049,6 +1049,7 @@ void HistoryMessage::createComponents(const CreateConfig &config) {
|
|||
}
|
||||
if (const auto msgsigned = Get<HistoryMessageSigned>()) {
|
||||
msgsigned->author = config.author;
|
||||
msgsigned->isAnonymousRank = author()->isMegagroup();
|
||||
}
|
||||
setupForwardedComponent(config);
|
||||
if (const auto markup = Get<HistoryMessageReplyMarkup>()) {
|
||||
|
|
|
@ -247,6 +247,11 @@ void Message::refreshRightBadge() {
|
|||
return (delegate()->elementContext() == Context::Replies)
|
||||
? QString()
|
||||
: tr::lng_channel_badge(tr::now);
|
||||
} else if (data()->author()->isMegagroup()) {
|
||||
if (const auto msgsigned = data()->Get<HistoryMessageSigned>()) {
|
||||
Assert(msgsigned->isAnonymousRank);
|
||||
return msgsigned->author;
|
||||
}
|
||||
}
|
||||
const auto channel = data()->history()->peer->asMegagroup();
|
||||
const auto user = data()->author()->asUser();
|
||||
|
@ -1702,7 +1707,8 @@ void Message::drawInfo(
|
|||
}
|
||||
dateX += timeLeft();
|
||||
|
||||
if (const auto msgsigned = item->Get<HistoryMessageSigned>()) {
|
||||
if (const auto msgsigned = item->Get<HistoryMessageSigned>()
|
||||
; msgsigned && !msgsigned->isAnonymousRank) {
|
||||
msgsigned->signature.drawElided(p, dateX, dateY, item->_timeWidth);
|
||||
} else if (const auto edited = displayedEditBadge()) {
|
||||
edited->text.drawElided(p, dateX, dateY, item->_timeWidth);
|
||||
|
@ -2517,17 +2523,20 @@ void Message::refreshEditedBadge() {
|
|||
edited->refresh(dateText, editDate != 0);
|
||||
}
|
||||
if (const auto msgsigned = item->Get<HistoryMessageSigned>()) {
|
||||
if (!msgsigned->isAnonymousRank) {
|
||||
const auto text = (!edited || !editDate)
|
||||
? dateText
|
||||
: edited->text.toString();
|
||||
msgsigned->refresh(text);
|
||||
}
|
||||
}
|
||||
initTime();
|
||||
}
|
||||
|
||||
void Message::initTime() {
|
||||
const auto item = message();
|
||||
if (const auto msgsigned = item->Get<HistoryMessageSigned>()) {
|
||||
if (const auto msgsigned = item->Get<HistoryMessageSigned>()
|
||||
; msgsigned && !msgsigned->isAnonymousRank) {
|
||||
item->_timeWidth = msgsigned->maxWidth();
|
||||
} else if (const auto edited = displayedEditBadge()) {
|
||||
item->_timeWidth = edited->maxWidth();
|
||||
|
|
|
@ -137,7 +137,8 @@ QSize Contact::countOptimalSize() {
|
|||
auto minHeight = 0;
|
||||
if (_userId) {
|
||||
minHeight = st::msgFileThumbPadding.top() + st::msgFileThumbSize + st::msgFileThumbPadding.bottom();
|
||||
if (item->Has<HistoryMessageSigned>()
|
||||
const auto msgsigned = item->Get<HistoryMessageSigned>();
|
||||
if ((msgsigned && !msgsigned->isAnonymousRank)
|
||||
|| item->Has<HistoryMessageViews>()) {
|
||||
minHeight += st::msgDateFont->height - st::msgDateDelta.y();
|
||||
}
|
||||
|
|
|
@ -200,7 +200,8 @@ QSize Document::countOptimalSize() {
|
|||
} else {
|
||||
minHeight = st::msgFilePadding.top() + st::msgFileSize + st::msgFilePadding.bottom();
|
||||
}
|
||||
if (!captioned && (item->Has<HistoryMessageSigned>()
|
||||
const auto msgsigned = item->Get<HistoryMessageSigned>();
|
||||
if (!captioned && ((msgsigned && !msgsigned->isAnonymousRank)
|
||||
|| item->Has<HistoryMessageViews>()
|
||||
|| _parent->displayEditedBadge())) {
|
||||
minHeight += st::msgDateFont->height - st::msgDateDelta.y();
|
||||
|
|
Loading…
Reference in New Issue