Add fields to command autocompleter on switch/previous/next
This commit is contained in:
@@ -53,6 +53,7 @@
|
||||
#include "contact.h"
|
||||
#include "roster_list.h"
|
||||
#include "jid.h"
|
||||
#include "xmpp/form.h"
|
||||
#include "log.h"
|
||||
#include "muc.h"
|
||||
#ifdef HAVE_LIBOTR
|
||||
@@ -1420,6 +1421,40 @@ cmd_autocomplete_add(char *value)
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
cmd_autocomplete_add_form_fields(DataForm *form)
|
||||
{
|
||||
if (form) {
|
||||
GSList *fields = autocomplete_create_list(form->tag_ac);
|
||||
GSList *curr_field = fields;
|
||||
while (curr_field) {
|
||||
GString *field_str = g_string_new("/");
|
||||
g_string_append(field_str, curr_field->data);
|
||||
cmd_autocomplete_add(field_str->str);
|
||||
g_string_free(field_str, TRUE);
|
||||
curr_field = g_slist_next(curr_field);
|
||||
}
|
||||
g_slist_free_full(fields, free);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
cmd_autocomplete_remove_form_fields(DataForm *form)
|
||||
{
|
||||
if (form) {
|
||||
GSList *fields = autocomplete_create_list(form->tag_ac);
|
||||
GSList *curr_field = fields;
|
||||
while (curr_field) {
|
||||
GString *field_str = g_string_new("/");
|
||||
g_string_append(field_str, curr_field->data);
|
||||
cmd_autocomplete_remove(field_str->str);
|
||||
g_string_free(field_str, TRUE);
|
||||
curr_field = g_slist_next(curr_field);
|
||||
}
|
||||
g_slist_free_full(fields, free);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
cmd_autocomplete_remove(char *value)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user