summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2020-09-24 02:43:27 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2020-09-24 02:43:27 -0400
commita8630f53b1b391cd2851955aa7585c53a996edd6 (patch)
treeaa234ed30936e34bba962c0a1af9530c39d2fbb4 /components
parent83417819186394e8d840167841103211ebe5fe33 (diff)
downloadabaddon-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.cpp13
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);
}