From 22376ba54af0cfe85f006679467850de04b3feae Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Fri, 30 Jul 2021 01:32:43 -0400 Subject: handle THREAD_DELETE --- components/channels.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'components/channels.cpp') diff --git a/components/channels.cpp b/components/channels.cpp index a80cfd8..e175e8c 100644 --- a/components/channels.cpp +++ b/components/channels.cpp @@ -129,6 +129,7 @@ ChannelList::ChannelList() discord.signal_channel_update().connect(sigc::mem_fun(*this, &ChannelList::UpdateChannel)); discord.signal_channel_create().connect(sigc::mem_fun(*this, &ChannelList::UpdateCreateChannel)); discord.signal_thread_create().connect(sigc::mem_fun(*this, &ChannelList::UpdateCreateThread)); + discord.signal_thread_delete().connect(sigc::mem_fun(*this, &ChannelList::UpdateDeleteThread)); discord.signal_guild_update().connect(sigc::mem_fun(*this, &ChannelList::UpdateGuild)); } @@ -271,6 +272,12 @@ void ChannelList::UpdateCreateThread(const ChannelData &channel) { CreateThreadRow(parent_row->children(), channel); } +void ChannelList::UpdateDeleteThread(const ThreadDeleteData &data) { + auto iter = GetIteratorForChannelFromID(data.ID); + if (iter) + m_model->erase(iter); +} + void ChannelList::SetActiveChannel(Snowflake id) { const auto channel_iter = GetIteratorForChannelFromID(id); if (channel_iter) { -- cgit v1.2.3