summaryrefslogtreecommitdiff
path: root/abaddon.cpp
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2020-11-08 21:30:50 -0500
committerouwou <26526779+ouwou@users.noreply.github.com>2020-11-08 21:30:50 -0500
commit976e6533931a79c8275ecb34ccd7705461a66d31 (patch)
tree1fef017f36d8a7736cb742f84d8566588767c6cb /abaddon.cpp
parent0f47728c2a6c2427d1046ad1b12d6925e6144949 (diff)
downloadabaddon-portaudio-976e6533931a79c8275ecb34ccd7705461a66d31.tar.gz
abaddon-portaudio-976e6533931a79c8275ecb34ccd7705461a66d31.zip
block menu items for self
Diffstat (limited to 'abaddon.cpp')
-rw-r--r--abaddon.cpp17
1 files changed, 12 insertions, 5 deletions
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);
}