diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-01-06 23:18:03 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2023-01-07 20:16:09 -0500 |
commit | ef37d5a4860329814d53233290438383928215bb (patch) | |
tree | 74cb4d79799c05a9eaa4736779eba219e4c7a94b /src | |
parent | 182602a71faa33037a7a07dd6e77ed8f7b61b5c6 (diff) | |
download | abaddon-portaudio-ef37d5a4860329814d53233290438383928215bb.tar.gz abaddon-portaudio-ef37d5a4860329814d53233290438383928215bb.zip |
add voice participant row on connect
Diffstat (limited to 'src')
-rw-r--r-- | src/components/channels.cpp | 13 |
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) { |