Show type icons before names in messages (except channel posts)

This commit is contained in:
Eric Kotato 2021-12-27 02:26:43 +03:00
parent b42a73aebc
commit 310a81b482
6 changed files with 48 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -860,6 +860,42 @@ void Message::paintFromName(
availableWidth -= st::msgPadding.right() + rightWidth;
}
const auto chatTypeIcon = [&]() -> const style::icon * {
if (const auto sponsored = displayedSponsorBadge()) {
return context.selected()
? &st::msgNameSponsoredIconSelected
: &st::msgNameSponsoredIcon;
} else if (!item->isPost()) {
const auto from = item->displayFrom();
if (from->isChat() || from->isMegagroup()) {
return context.selected()
? &st::msgNameChatIconSelected
: &st::msgNameChatIcon;
} else if (from->isChannel()) {
return context.selected()
? &st::msgNameChannelIconSelected
: &st::msgNameChannelIcon;
} else if (const auto user = from->asUser()) {
if (user->isInaccessible()) {
return context.selected()
? &st::msgNameDeletedIconSelected
: &st::msgNameDeletedIcon;
} else if (user->isBot() && !user->isSupport() && !user->isRepliesChat()) {
return context.selected()
? &st::msgNameBotIconSelected
: &st::msgNameBotIcon;
}
}
}
return nullptr;
}();
if (chatTypeIcon) {
chatTypeIcon->paint(p, QPoint(availableLeft, trect.top()), availableWidth);
availableLeft += st::dialogsChatTypeSkip;
availableWidth -= st::dialogsChatTypeSkip;
}
p.setFont(st::msgNameFont);
const auto stm = context.messageStyle();

View file

@ -974,3 +974,14 @@ sendAsButton: SendAsButton {
}
duration: 150;
}
msgNameChatIcon: icon {{ "dialogs/dialogs_chat", ktgMessageNameIconFg, point(1px, 4px) }};
msgNameChatIconSelected: icon {{ "dialogs/dialogs_chat", ktgMessageNameIconFgSelected, point(1px, 4px) }};
msgNameChannelIcon: icon {{ "dialogs/dialogs_channel", ktgMessageNameIconFg, point(3px, 4px) }};
msgNameChannelIconSelected: icon {{ "dialogs/dialogs_channel", ktgMessageNameIconFgSelected, point(3px, 4px) }};
msgNameBotIcon: icon {{ "dialogs/dialogs_bot", ktgMessageNameIconFg, point(1px, 3px) }};
msgNameBotIconSelected: icon {{ "dialogs/dialogs_bot", ktgMessageNameIconFgSelected, point(1px, 3px) }};
msgNameDeletedIcon: icon {{ "dialogs/dialogs_deleted", ktgMessageNameIconFg, point(1px, 4px) }};
msgNameDeletedIconSelected: icon {{ "dialogs/dialogs_deleted", ktgMessageNameIconFgSelected, point(1px, 4px) }};
msgNameSponsoredIcon: icon {{ "dialogs/dialogs_sponsored", ktgMessageNameIconFg, point(1px, 4px) }};
msgNameSponsoredIconSelected: icon {{ "dialogs/dialogs_sponsored", ktgMessageNameIconFgSelected, point(1px, 4px) }};

@ -1 +1 @@
Subproject commit d9274f06bddccf0e5f4deabe641bafdd3b453c3f
Subproject commit f8f407004b139a1cd882c538f00e8a87b5e65b9a