summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2023-01-06 23:18:03 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2023-01-07 20:16:09 -0500
commitef37d5a4860329814d53233290438383928215bb (patch)
tree74cb4d79799c05a9eaa4736779eba219e4c7a94b /src
parent182602a71faa33037a7a07dd6e77ed8f7b61b5c6 (diff)
downloadabaddon-portaudio-ef37d5a4860329814d53233290438383928215bb.tar.gz
abaddon-portaudio-ef37d5a4860329814d53233290438383928215bb.zip
add voice participant row on connect
Diffstat (limited to 'src')
-rw-r--r--src/components/channels.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/components/channels.cpp b/src/components/channels.cpp
index 7aae480..d177495 100644
--- a/src/components/channels.cpp
+++ b/src/components/channels.cpp
@@ -483,6 +483,19 @@ void ChannelList::OnThreadListSync(const ThreadListSyncData &data) {
#ifdef WITH_VOICE
void ChannelList::OnVoiceUserConnect(Snowflake user_id, Snowflake channel_id) {
+ auto parent_iter = GetIteratorForRowFromIDOfType(channel_id, RenderType::VoiceChannel);
+ if (!parent_iter) return;
+ const auto user = Abaddon::Get().GetDiscordClient().GetUser(user_id);
+ if (!user.has_value()) return;
+
+ auto user_row = *m_model->append(parent_iter->children());
+ user_row[m_columns.m_type] = RenderType::VoiceParticipant;
+ user_row[m_columns.m_id] = user_id;
+ if (user.has_value()) {
+ user_row[m_columns.m_name] = user->GetEscapedName();
+ } else {
+ user_row[m_columns.m_name] = "<i>Unknown</i>";
+ }
}
void ChannelList::OnVoiceUserDisconnect(Snowflake user_id, Snowflake channel_id) {