aboutsummaryrefslogtreecommitdiff
path: root/main/src/ui/conversation_content_view
diff options
context:
space:
mode:
authorXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-10-01 02:28:24 +0200
committerXavier Del Campo Romero <xavi.dcr@tutanota.com>2023-10-09 14:08:59 +0200
commit7fbdd24b503d85423d51da49896cc99191d65c4d (patch)
tree85dc584805ff5d80a001207899f55eeeee60931e /main/src/ui/conversation_content_view
parent964de8706d49f73717f05cda518d16e1fd48a0ad (diff)
downloaddino-7fbdd24b503d85423d51da49896cc99191d65c4d.tar.gz
Allow to copy messages
Diffstat (limited to 'main/src/ui/conversation_content_view')
-rw-r--r--main/src/ui/conversation_content_view/conversation_view.vala2
-rw-r--r--main/src/ui/conversation_content_view/message_widget.vala9
2 files changed, 11 insertions, 0 deletions
diff --git a/main/src/ui/conversation_content_view/conversation_view.vala b/main/src/ui/conversation_content_view/conversation_view.vala
index d7660488..9825bc15 100644
--- a/main/src/ui/conversation_content_view/conversation_view.vala
+++ b/main/src/ui/conversation_content_view/conversation_view.vala
@@ -11,6 +11,7 @@ namespace Dino.Ui.ConversationSummary {
public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins.NotificationCollection {
public signal void on_quote_text(string text);
+ public signal void on_copy_text(string text);
public Conversation? conversation { get; private set; }
[GtkChild] public unowned ScrolledWindow scrolled;
@@ -330,6 +331,7 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins
MessageMetaItem current_item = item as MessageMetaItem;
current_item.on_quote_text.connect((t, text) => on_quote_text(text));
+ current_item.on_copy_text.connect((t, text) => on_copy_text(text));
}
meta_items.add(item);
}
diff --git a/main/src/ui/conversation_content_view/message_widget.vala b/main/src/ui/conversation_content_view/message_widget.vala
index b17f04fe..c2feec0d 100644
--- a/main/src/ui/conversation_content_view/message_widget.vala
+++ b/main/src/ui/conversation_content_view/message_widget.vala
@@ -11,6 +11,7 @@ namespace Dino.Ui.ConversationSummary {
public class MessageMetaItem : ContentMetaItem {
public signal void on_quote_text(string text);
+ public signal void on_copy_text(string text);
private StreamInteractor stream_interactor;
private MessageItemWidget message_item_widget;
private MessageItem message_item;
@@ -56,6 +57,14 @@ public class MessageMetaItem : ContentMetaItem {
};
actions.add(action2);
+ Plugins.MessageAction copy_action = new Plugins.MessageAction();
+ copy_action.icon_name = "edit-copy";
+ copy_action.callback = (button, content_meta_item_activated, widget) => {
+ string text = ((MessageItem) message_item_widget.content_item).message.body;
+ on_copy_text(text);
+ };
+ actions.add(copy_action);
+
if (allowed && !in_edit_mode) {
Plugins.MessageAction action1 = new Plugins.MessageAction();
action1.icon_name = "document-edit-symbolic";