add copy content to messages

This commit is contained in:
ouwou
2020-10-12 23:55:52 -04:00
parent c09a36d75c
commit f29cfc6951
2 changed files with 12 additions and 0 deletions

View File

@@ -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;
}

View File

@@ -43,12 +43,14 @@ protected:
Gtk::Menu m_menu;
Gtk::MenuItem *m_menu_copy_id;
Gtk::MenuItem *m_menu_copy_content;
Gtk::MenuItem *m_menu_delete_message;
Gtk::MenuItem *m_menu_edit_message;
void on_menu_copy_id();
void on_menu_delete_message();
void on_menu_edit_message();
void on_menu_copy_content();
Gtk::Box *m_main;
Gtk::Label *m_attrib_label = nullptr;