From d091a6c3cd0812873bcdef53c51a2f60e12f2b8a Mon Sep 17 00:00:00 2001 From: fiaxh Date: Sun, 5 Apr 2020 16:19:56 +0200 Subject: Add keyboard shortcut (up key) to activate last message correction --- .../conversation_content_view/conversation_view.vala | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'main/src/ui/conversation_content_view/conversation_view.vala') diff --git a/main/src/ui/conversation_content_view/conversation_view.vala b/main/src/ui/conversation_content_view/conversation_view.vala index 808c6cad..aadb5fdc 100644 --- a/main/src/ui/conversation_content_view/conversation_view.vala +++ b/main/src/ui/conversation_content_view/conversation_view.vala @@ -76,6 +76,24 @@ public class ConversationView : Box, Plugins.ConversationItemCollection, Plugins return this; } + public void activate_last_message_correction() { + Gee.BidirIterator iter = content_items.bidir_iterator(); + iter.last(); + for (int i = 0; i < 10 && content_items.size > i; i++) { + Plugins.MetaConversationItem item = iter.get(); + MessageMetaItem message_item = item as MessageMetaItem; + if (message_item != null) { + if ((conversation.type_ == Conversation.Type.CHAT && message_item.jid.equals_bare(conversation.account.bare_jid)) || + (conversation.type_ == Conversation.Type.GROUPCHAT && + message_item.jid.equals(stream_interactor.get_module(MucManager.IDENTITY).get_own_jid(conversation.counterpart, conversation.account)))) { + message_item.in_edit_mode = true; + break; + } + } + iter.previous(); + } + } + private bool on_enter_notify_event(Gdk.EventCrossing event) { mouse_inside = true; update_highlight((int)event.x_root, (int)event.y_root); -- cgit v1.2.3-54-g00ecf