about summary refs log tree commit diff stats
path: root/src/ui/window_list.c
diff options
context:
space:
mode:
authorMarcoPolo-PasTonMolo <marcopolopastonmolo@protonmail.com>2023-02-13 23:40:58 +0200
committerMarcoPolo-PasTonMolo <marcopolopastonmolo@protonmail.com>2023-02-13 23:40:58 +0200
commit6d266984a4729f09eda42027d6781d26eb198d25 (patch)
tree45b06a90450a21c31d0d28856b44ee3409070fd8 /src/ui/window_list.c
parent11055715845d7d7e5d3ef42982d04d1b65d57ac2 (diff)
downloadprofani-tty-6d266984a4729f09eda42027d6781d26eb198d25.tar.gz
Fix quote and url autocompletion for MAM and history
After adding MAM quote and url autocompletion wouldn't pick up messages
from MAM or history(from DB) or would have them in the wrong order. This
commit fixes that.

Fixes https://github.com/profanity-im/profanity/issues/1770
Diffstat (limited to 'src/ui/window_list.c')
-rw-r--r--src/ui/window_list.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/ui/window_list.c b/src/ui/window_list.c
index 19baa3a1..0a96b461 100644
--- a/src/ui/window_list.c
+++ b/src/ui/window_list.c
@@ -1315,7 +1315,7 @@ wins_get_next_attention(void)
 }
 
 void
-wins_add_urls_ac(const ProfWin* const win, const ProfMessage* const message)
+wins_add_urls_ac(const ProfWin* const win, const ProfMessage* const message, const gboolean flip)
 {
     GRegex* regex;
     GMatchInfo* match_info;
@@ -1326,7 +1326,11 @@ wins_add_urls_ac(const ProfWin* const win, const ProfMessage* const message)
     while (g_match_info_matches(match_info)) {
         gchar* word = g_match_info_fetch(match_info, 0);
 
-        autocomplete_add_reverse(win->urls_ac, word);
+        if (flip) {
+            autocomplete_add_unsorted(win->urls_ac, word, FALSE);
+        } else {
+            autocomplete_add_unsorted(win->urls_ac, word, TRUE);
+        }
         // for people who run profanity a long time, we don't want to waste a lot of memory
         autocomplete_remove_older_than_max_reverse(win->urls_ac, 20);
 
@@ -1339,9 +1343,14 @@ wins_add_urls_ac(const ProfWin* const win, const ProfMessage* const message)
 }
 
 void
-wins_add_quotes_ac(const ProfWin* const win, const char* const message)
+wins_add_quotes_ac(const ProfWin* const win, const char* const message, const gboolean flip)
 {
-    autocomplete_add_reverse(win->quotes_ac, message);
+    if (flip) {
+        autocomplete_add_unsorted(win->quotes_ac, message, FALSE);
+    } else {
+        autocomplete_add_unsorted(win->quotes_ac, message, TRUE);
+    }
+
     // for people who run profanity a long time, we don't want to waste a lot of memory
     autocomplete_remove_older_than_max_reverse(win->quotes_ac, 20);
 }