summaryrefslogtreecommitdiff
path: root/src/components/chatinputindicator.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2023-06-25 05:53:59 +0000
committerGitHub <noreply@github.com>2023-06-25 05:53:59 +0000
commit66101a25cbe4739ade20484c2a020b9130125ec3 (patch)
treef1f3a2084677d90a37d1c4e3b17a19a606fe8d90 /src/components/chatinputindicator.cpp
parentba24e13419bfa6efd08a0d07f049a6981ff4cd28 (diff)
parent19f7d55c8748e4fcd651540e299347689a2070ad (diff)
downloadabaddon-portaudio-66101a25cbe4739ade20484c2a020b9130125ec3.tar.gz
abaddon-portaudio-66101a25cbe4739ade20484c2a020b9130125ec3.zip
Merge pull request #176 from uowuo/pomelo
pomelo support (and nicknames)
Diffstat (limited to 'src/components/chatinputindicator.cpp')
-rw-r--r--src/components/chatinputindicator.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/components/chatinputindicator.cpp b/src/components/chatinputindicator.cpp
index 13315c6..0611e71 100644
--- a/src/components/chatinputindicator.cpp
+++ b/src/components/chatinputindicator.cpp
@@ -54,6 +54,12 @@ void ChatInputIndicator::AddUser(Snowflake channel_id, const UserData &user, int
void ChatInputIndicator::SetActiveChannel(Snowflake id) {
m_active_channel = id;
+ const auto channel = Abaddon::Get().GetDiscordClient().GetChannel(id);
+ if (channel.has_value()) {
+ m_active_guild = channel->GuildID;
+ } else {
+ m_active_guild = std::nullopt;
+ }
ComputeTypingString();
}
@@ -105,14 +111,14 @@ void ChatInputIndicator::ComputeTypingString() {
if (typers.empty()) {
SetTypingString("");
} else if (typers.size() == 1) {
- SetTypingString(typers[0].Username + " is typing...");
+ SetTypingString(typers[0].GetDisplayName(m_active_guild) + " is typing...");
} else if (typers.size() == 2) {
- SetTypingString(typers[0].Username + " and " + typers[1].Username + " are typing...");
+ SetTypingString(typers[0].GetDisplayName(m_active_guild) + " and " + typers[1].GetDisplayName(m_active_guild) + " are typing...");
} else if (typers.size() > 2 && typers.size() <= MaxUsersInIndicator) {
Glib::ustring str;
for (size_t i = 0; i < typers.size() - 1; i++)
- str += typers[i].Username + ", ";
- SetTypingString(str + "and " + typers[typers.size() - 1].Username + " are typing...");
+ str += typers[i].GetDisplayName(m_active_guild) + ", ";
+ SetTypingString(str + "and " + typers[typers.size() - 1].GetDisplayName(m_active_guild) + " are typing...");
} else { // size() > MaxUsersInIndicator
SetTypingString("Several people are typing...");
}