diff options
Diffstat (limited to 'components/chatmessage.cpp')
-rw-r--r-- | components/chatmessage.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/components/chatmessage.cpp b/components/chatmessage.cpp index 93355de..d15eef8 100644 --- a/components/chatmessage.cpp +++ b/components/chatmessage.cpp @@ -18,6 +18,10 @@ ChatMessageItemContainer::ChatMessageItemContainer() { m_menu_edit_message->signal_activate().connect(sigc::mem_fun(*this, &ChatMessageItemContainer::on_menu_edit_message)); m_menu.append(*m_menu_edit_message); + m_menu_copy_content = Gtk::manage(new Gtk::MenuItem("Copy Content")); + m_menu_copy_content->signal_activate().connect(sigc::mem_fun(*this, &ChatMessageItemContainer::on_menu_copy_content)); + m_menu.append(*m_menu_copy_content); + m_menu.show_all(); } @@ -568,6 +572,12 @@ void ChatMessageItemContainer::on_menu_edit_message() { m_signal_action_edit.emit(); } +void ChatMessageItemContainer::on_menu_copy_content() { + const auto *msg = Abaddon::Get().GetDiscordClient().GetMessage(ID); + if (msg != nullptr) + Gtk::Clipboard::get()->set_text(msg->Content); +} + ChatMessageItemContainer::type_signal_action_delete ChatMessageItemContainer::signal_action_delete() { return m_signal_action_delete; } |