From ea7464722b00501e077b4cb8ae267200ee6df220 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Wed, 29 Dec 2021 23:51:12 -0500 Subject: handle change of mute state for guilds --- src/components/channels.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/components/channels.cpp') diff --git a/src/components/channels.cpp b/src/components/channels.cpp index c6606e4..b631023 100644 --- a/src/components/channels.cpp +++ b/src/components/channels.cpp @@ -186,6 +186,8 @@ ChannelList::ChannelList() discord.signal_message_ack().connect(sigc::mem_fun(*this, &ChannelList::OnMessageAck)); discord.signal_channel_muted().connect(sigc::mem_fun(*this, &ChannelList::OnChannelMute)); discord.signal_channel_unmuted().connect(sigc::mem_fun(*this, &ChannelList::OnChannelUnmute)); + discord.signal_guild_muted().connect(sigc::mem_fun(*this, &ChannelList::OnGuildMute)); + discord.signal_guild_unmuted().connect(sigc::mem_fun(*this, &ChannelList::OnGuildUnmute)); } void ChannelList::UsePanedHack(Gtk::Paned &paned) { @@ -392,6 +394,16 @@ void ChannelList::OnChannelUnmute(Snowflake id) { m_model->row_changed(m_model->get_path(iter), iter); } +void ChannelList::OnGuildMute(Snowflake id) { + if (auto iter = GetIteratorForGuildFromID(id)) + m_model->row_changed(m_model->get_path(iter), iter); +} + +void ChannelList::OnGuildUnmute(Snowflake id) { + if (auto iter = GetIteratorForGuildFromID(id)) + m_model->row_changed(m_model->get_path(iter), iter); +} + // create a temporary channel row for non-joined threads // and delete them when the active channel switches off of them if still not joined void ChannelList::SetActiveChannel(Snowflake id) { -- cgit v1.2.3