diff options
Diffstat (limited to 'windows/pinnedwindow.cpp')
-rw-r--r-- | windows/pinnedwindow.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/windows/pinnedwindow.cpp b/windows/pinnedwindow.cpp index 99b8c1e..fc6230c 100644 --- a/windows/pinnedwindow.cpp +++ b/windows/pinnedwindow.cpp @@ -21,9 +21,19 @@ PinnedWindow::PinnedWindow(const ChannelData &data) m_chat.SetActiveChannel(ChannelID); m_chat.SetUsePinnedMenu(); + Abaddon::Get().GetDiscordClient().signal_message_pinned().connect(sigc::mem_fun(*this, &PinnedWindow::OnMessagePinned)); + Abaddon::Get().GetDiscordClient().signal_message_unpinned().connect(sigc::mem_fun(*this, &PinnedWindow::OnMessageUnpinned)); FetchPinned(); } +void PinnedWindow::OnMessagePinned(const Message &msg) { + FetchPinned(); +} + +void PinnedWindow::OnMessageUnpinned(const Message &msg) { + m_chat.ActuallyRemoveMessage(msg.ID); +} + void PinnedWindow::FetchPinned() { Abaddon::Get().GetDiscordClient().FetchPinned(ChannelID, sigc::mem_fun(*this, &PinnedWindow::OnFetchedPinned)); } |