mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-16 22:27:20 +02:00
fix: more accurate channel badge
This commit is contained in:
parent
5234c8af1a
commit
daec2545b4
2 changed files with 11 additions and 3 deletions
|
@ -534,6 +534,13 @@ void Message::refreshRightBadge() {
|
|||
).append(many ? QString::number(boosts) : QString());
|
||||
badge.append(' ').append(Ui::Text::Colorized(added, 1));
|
||||
}
|
||||
_rightBadgeIsChannel = 0;
|
||||
if (
|
||||
item->isDiscussionPost() && delegate()->elementContext() != Context::Replies ||
|
||||
data()->history()->peer->isMegagroup() && data()->author()->isChannel() && !data()->out()
|
||||
) {
|
||||
_rightBadgeIsChannel = 1;
|
||||
}
|
||||
if (badge.empty()) {
|
||||
_rightBadge.clear();
|
||||
} else {
|
||||
|
@ -825,7 +832,7 @@ QSize Message::performCountOptimalSize() {
|
|||
: 0;
|
||||
if (!_rightBadge.isEmpty()) {
|
||||
const auto badgeWidth =
|
||||
_rightBadge.toString() == tr::lng_channel_badge(tr::now) ? st::inChannelBadgeIcon.width() : _rightBadge.maxWidth();
|
||||
_rightBadgeIsChannel ? st::inChannelBadgeIcon.width() : _rightBadge.maxWidth();
|
||||
namew += st::msgPadding.right()
|
||||
+ std::max(badgeWidth, replyWidth);
|
||||
} else if (replyWidth) {
|
||||
|
@ -1456,7 +1463,7 @@ void Message::paintFromName(
|
|||
return;
|
||||
}
|
||||
const auto badgeWidth = _rightBadge.isEmpty() ? 0 :
|
||||
_rightBadge.toString() == tr::lng_channel_badge(tr::now) ? context.messageStyle()->channelBadgeIcon.width() : _rightBadge.maxWidth();
|
||||
_rightBadgeIsChannel ? context.messageStyle()->channelBadgeIcon.width() : _rightBadge.maxWidth();
|
||||
const auto replyWidth = [&] {
|
||||
if (isUnderCursor() && displayFastReply()) {
|
||||
return st::msgFont->width(FastReplyText());
|
||||
|
@ -1556,7 +1563,7 @@ void Message::paintFromName(
|
|||
trect.top() + st::msgFont->ascent,
|
||||
FastReplyText());
|
||||
} else {
|
||||
if (_rightBadge.toString() == tr::lng_channel_badge(tr::now)) {
|
||||
if (_rightBadgeIsChannel) {
|
||||
stm->channelBadgeIcon.paint(
|
||||
p,
|
||||
trect.left() + trect.width() - rightWidth,
|
||||
|
|
|
@ -309,6 +309,7 @@ private:
|
|||
uint32 _invertMedia : 1 = 0;
|
||||
uint32 _hideReply : 1 = 0;
|
||||
uint32 _rightBadgeHasBoosts : 1 = 0;
|
||||
uint32 _rightBadgeIsChannel : 1 = 0;
|
||||
|
||||
BottomInfo _bottomInfo;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue