mark channel being switched off as read when switching

This commit is contained in:
ouwou
2021-12-20 02:13:18 -05:00
parent b75599e55d
commit 9fd0d404a1
2 changed files with 8 additions and 0 deletions

View File

@@ -395,6 +395,12 @@ void ChannelList::OnChannelUnmute(Snowflake id) {
// 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) {
// mark channel as read when switching off
if (m_active_channel.IsValid())
Abaddon::Get().GetDiscordClient().MarkChannelAsRead(m_active_channel, [](...) {});
m_active_channel = id;
if (m_temporary_thread_row) {
const auto thread_id = static_cast<Snowflake>((*m_temporary_thread_row)[m_columns.m_id]);
const auto thread = Abaddon::Get().GetDiscordClient().GetChannel(thread_id);

View File

@@ -132,6 +132,8 @@ protected:
bool m_updating_listing = false;
Snowflake m_active_channel;
public:
typedef sigc::signal<void, Snowflake> type_signal_action_channel_item_select;
typedef sigc::signal<void, Snowflake> type_signal_action_guild_leave;