Add occupants header char

`/occupants header char` now sets a character that is displayed before
the role (moderator, visitor..) in a room. Similar to `/roster header
char` is displaying a char for the roster.

Regards https://github.com/boothj5/profanity/issues/690
This commit is contained in:
Michael Vetter
2019-04-23 13:50:58 +02:00
parent 82ddd88578
commit 566022786d
9 changed files with 155 additions and 6 deletions

View File

@@ -183,6 +183,8 @@ static Autocomplete form_field_multi_ac;
static Autocomplete occupants_ac;
static Autocomplete occupants_default_ac;
static Autocomplete occupants_show_ac;
static Autocomplete occupants_header_ac;
static Autocomplete occupants_char_ac;
static Autocomplete time_ac;
static Autocomplete time_format_ac;
static Autocomplete resource_ac;
@@ -684,6 +686,7 @@ cmd_ac_init(void)
autocomplete_add(occupants_ac, "default");
autocomplete_add(occupants_ac, "size");
autocomplete_add(occupants_ac, "indent");
autocomplete_add(occupants_ac, "header");
occupants_default_ac = autocomplete_new();
autocomplete_add(occupants_default_ac, "show");
@@ -692,6 +695,12 @@ cmd_ac_init(void)
occupants_show_ac = autocomplete_new();
autocomplete_add(occupants_show_ac, "jid");
occupants_header_ac = autocomplete_new();
autocomplete_add(occupants_header_ac, "char");
occupants_char_ac = autocomplete_new();
autocomplete_add(occupants_char_ac, "none");
time_ac = autocomplete_new();
autocomplete_add(time_ac, "console");
autocomplete_add(time_ac, "chat");
@@ -1107,6 +1116,8 @@ cmd_ac_reset(ProfWin *window)
autocomplete_reset(occupants_ac);
autocomplete_reset(occupants_default_ac);
autocomplete_reset(occupants_show_ac);
autocomplete_reset(occupants_header_ac);
autocomplete_reset(occupants_char_ac);
autocomplete_reset(time_ac);
autocomplete_reset(time_format_ac);
autocomplete_reset(resource_ac);
@@ -1237,6 +1248,7 @@ cmd_ac_uninit(void)
autocomplete_free(occupants_ac);
autocomplete_free(occupants_default_ac);
autocomplete_free(occupants_show_ac);
autocomplete_free(occupants_header_ac);
autocomplete_free(time_ac);
autocomplete_free(time_format_ac);
autocomplete_free(resource_ac);
@@ -2570,6 +2582,16 @@ _occupants_autocomplete(ProfWin *window, const char *const input, gboolean previ
return found;
}
found = autocomplete_param_with_ac(input, "/occupants header char", roster_char_ac, TRUE, previous);
if (found) {
return found;
}
found = autocomplete_param_with_ac(input, "/occupants header", occupants_header_ac, TRUE, previous);
if (found) {
return found;
}
found = autocomplete_param_with_ac(input, "/occupants", occupants_ac, TRUE, previous);
if (found) {
return found;