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