diff options
Diffstat (limited to 'main/src/ui/conversation_content_view/conversation_view.vala')
-rw-r--r-- | main/src/ui/conversation_content_view/conversation_view.vala | 18 |
1 files changed, 18 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 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<Plugins.MetaConversationItem> 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); |