From a9e6a9c3d58002810757f1e3f4fc9c9488b48fc4 Mon Sep 17 00:00:00 2001 From: fiaxh Date: Thu, 28 May 2020 01:52:12 +0200 Subject: Code cleanup --- .../src/ui/chat_input/occupants_tab_completer.vala | 23 ++++++---------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'main/src/ui/chat_input') diff --git a/main/src/ui/chat_input/occupants_tab_completer.vala b/main/src/ui/chat_input/occupants_tab_completer.vala index ab1b75e0..6d2a7434 100644 --- a/main/src/ui/chat_input/occupants_tab_completer.vala +++ b/main/src/ui/chat_input/occupants_tab_completer.vala @@ -86,13 +86,14 @@ public class OccupantsTabCompletor { } } - private Gee.List generate_completions_from_messages() { + private Gee.List generate_completions_from_messages(string? prefix = null) { Gee.List ret = new ArrayList(); - Gee.List messages = stream_interactor.get_module(MessageStorage.IDENTITY).get_messages(conversation, 10); - for (int i = messages.size - 1; i > 0; i--) { - string resourcepart = messages[i].from.resourcepart; + Gee.List content_items = stream_interactor.get_module(ContentItemStore.IDENTITY).get_n_latest(conversation, 10); + for (int i = content_items.size - 1; i > 0; i--) { + string resourcepart = content_items[i].jid.resourcepart; Jid? own_nick = stream_interactor.get_module(MucManager.IDENTITY).get_own_jid(conversation.counterpart, conversation.account); if (resourcepart != null && resourcepart != "" && (own_nick == null || resourcepart != own_nick.resourcepart) && !ret.contains(resourcepart)) { + if (prefix != null && !resourcepart.to_string().down().has_prefix(prefix.down())) continue; ret.add(resourcepart); } } @@ -100,20 +101,8 @@ public class OccupantsTabCompletor { } private Gee.List generate_completions_from_occupants(string prefix) { - Gee.List ret = new ArrayList(); - // First suggest nicks that have recently writen something - Gee.List messages = stream_interactor.get_module(MessageStorage.IDENTITY).get_messages(conversation, 50); - for (int i = messages.size - 1; i > 0; i--) { - string resourcepart = messages[i].from.resourcepart; - Jid? own_nick = stream_interactor.get_module(MucManager.IDENTITY).get_own_jid(conversation.counterpart, conversation.account); - if (resourcepart != null && resourcepart != "" && - resourcepart.to_string().down().has_prefix(prefix.down()) && - (own_nick == null || resourcepart != own_nick.resourcepart) && - !ret.contains(resourcepart)) { - ret.add(resourcepart.to_string()); - } - } + Gee.List ret = generate_completions_from_messages(prefix); // Then, suggest other nicks in alphabetical order Gee.List? occupants = stream_interactor.get_module(MucManager.IDENTITY).get_other_occupants(conversation.counterpart, conversation.account); -- cgit v1.2.3-70-g09d2