From 976e6533931a79c8275ecb34ccd7705461a66d31 Mon Sep 17 00:00:00 2001 From: ouwou <26526779+ouwou@users.noreply.github.com> Date: Sun, 8 Nov 2020 21:30:50 -0500 Subject: block menu items for self --- abaddon.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'abaddon.cpp') diff --git a/abaddon.cpp b/abaddon.cpp index 888a32c..23249c4 100644 --- a/abaddon.cpp +++ b/abaddon.cpp @@ -208,12 +208,19 @@ void Abaddon::ShowUserMenu(const GdkEvent *event, Snowflake id, Snowflake guild_ m_shown_user_menu_guild_id = guild_id; const auto me = m_discord.GetUserData().ID; - const bool has_kick = m_discord.HasGuildPermission(me, guild_id, Permission::KICK_MEMBERS); - const bool has_ban = m_discord.HasGuildPermission(me, guild_id, Permission::BAN_MEMBERS); - const bool can_manage = m_discord.CanManageMember(guild_id, me, id); + if (me == id) { + m_user_menu_ban->set_sensitive(false); + m_user_menu_kick->set_sensitive(false); + m_user_menu_open_dm->set_sensitive(false); + } else { + const bool has_kick = m_discord.HasGuildPermission(me, guild_id, Permission::KICK_MEMBERS); + const bool has_ban = m_discord.HasGuildPermission(me, guild_id, Permission::BAN_MEMBERS); + const bool can_manage = m_discord.CanManageMember(guild_id, me, id); - m_user_menu_kick->set_sensitive(has_kick && can_manage); - m_user_menu_ban->set_sensitive(has_ban && can_manage); + m_user_menu_kick->set_sensitive(has_kick && can_manage); + m_user_menu_ban->set_sensitive(has_ban && can_manage); + m_user_menu_open_dm->set_sensitive(true); + } m_user_menu->popup_at_pointer(event); } -- cgit v1.2.3