summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2020-10-12 23:55:52 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2020-10-12 23:55:52 -0400
commitf29cfc69519593017986f3b969ad62f9b8672375 (patch)
treee5e602b5096741c0b79f4bce886325f82028d035 /components
parentc09a36d75c4a67b37f64bc8fc6afe30276627f5a (diff)
downloadabaddon-portaudio-f29cfc69519593017986f3b969ad62f9b8672375.tar.gz
abaddon-portaudio-f29cfc69519593017986f3b969ad62f9b8672375.zip
add copy content to messages
Diffstat (limited to 'components')
-rw-r--r--components/chatmessage.cpp10
-rw-r--r--components/chatmessage.hpp2
2 files changed, 12 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;
}
diff --git a/components/chatmessage.hpp b/components/chatmessage.hpp
index 9da0707..959a8d6 100644
--- a/components/chatmessage.hpp
+++ b/components/chatmessage.hpp
@@ -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;