diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-09-24 02:43:27 -0400 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-09-24 02:43:27 -0400 |
commit | a8630f53b1b391cd2851955aa7585c53a996edd6 (patch) | |
tree | aa234ed30936e34bba962c0a1af9530c39d2fbb4 /components | |
parent | 83417819186394e8d840167841103211ebe5fe33 (diff) | |
download | abaddon-portaudio-a8630f53b1b391cd2851955aa7585c53a996edd6.tar.gz abaddon-portaudio-a8630f53b1b391cd2851955aa7585c53a996edd6.zip |
put PermissionOverwrite in the store where it belongs
Diffstat (limited to 'components')
-rw-r--r-- | components/chatmessage.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/components/chatmessage.cpp b/components/chatmessage.cpp index 6d1fb91..a16a244 100644 --- a/components/chatmessage.cpp +++ b/components/chatmessage.cpp @@ -165,10 +165,15 @@ void ChatMessageItem::AttachMenuHandler(Gtk::Widget *widget) { void ChatMessageItem::ShowMenu(const GdkEvent *event) { const auto &client = Abaddon::Get().GetDiscordClient(); const auto *data = client.GetMessage(ID); - const bool can_edit = client.GetUserData().ID == data->Author.ID; - const bool can_delete = can_edit || client.HasChannelPermission(client.GetUserData().ID, ChannelID, Permission::MANAGE_MESSAGES); - m_menu_delete_message->set_sensitive(can_delete); - m_menu_edit_message->set_sensitive(can_edit); + if (data->IsDeleted()) { + m_menu_delete_message->set_sensitive(false); + m_menu_edit_message->set_sensitive(false); + } else { + const bool can_edit = client.GetUserData().ID == data->Author.ID; + const bool can_delete = can_edit || client.HasChannelPermission(client.GetUserData().ID, ChannelID, Permission::MANAGE_MESSAGES); + m_menu_delete_message->set_sensitive(can_delete); + m_menu_edit_message->set_sensitive(can_edit); + } m_menu.popup_at_pointer(event); } |