about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2021-07-12 09:20:21 +0200
committerGitHub <noreply@github.com>2021-07-12 09:20:21 +0200
commit73571f0aa31649a5737ba1d410e1b2cace787c13 (patch)
tree80e01bd926d30e1b5b1ebc8669be24c864f735d9 /src
parent8100dbdd6a0275f83589ce39665665074f1f35b7 (diff)
parent11476c3e902c92ba3ff81abbbab65dc120208b9d (diff)
downloadprofani-tty-73571f0aa31649a5737ba1d410e1b2cace787c13.tar.gz
Merge pull request #1576 from DebXWoody/autocomplete-untrust
OMEMO autocomplete untrust
Diffstat (limited to 'src')
-rw-r--r--src/command/cmd_ac.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/command/cmd_ac.c b/src/command/cmd_ac.c
index 389a31d6..e821eb8b 100644
--- a/src/command/cmd_ac.c
+++ b/src/command/cmd_ac.c
@@ -2595,6 +2595,33 @@ _omemo_autocomplete(ProfWin* window, const char* const input, gboolean previous)
                 }
             }
         }
+
+        if (window->type == WIN_CHAT) {
+            ProfChatWin* chatwin = (ProfChatWin*)window;
+            assert(chatwin->memcheck == PROFCHATWIN_MEMCHECK);
+            found = autocomplete_param_with_func(input, "/omemo untrust", omemo_fingerprint_autocomplete, previous, chatwin->barejid);
+            if (found) {
+                return found;
+            }
+        } else {
+            found = autocomplete_param_with_func(input, "/omemo untrust", roster_contact_autocomplete, previous, NULL);
+            if (found) {
+                return found;
+            }
+
+            int num_tokens = count_tokens(input);
+            if (num_tokens == 4) {
+                gboolean result;
+                gchar** args = parse_args(input, 2, 3, &result);
+                if (result) {
+                    gchar* jid = g_strdup(args[1]);
+                    found = autocomplete_param_no_with_func(input, "/omemo untrust", 4, omemo_fingerprint_autocomplete, previous, jid);
+                    if (found) {
+                        return found;
+                    }
+                }
+            }
+        }
     }
 
     found = autocomplete_param_with_ac(input, "/omemo", omemo_ac, TRUE, previous);