Added /roster room unread preference

closes ##708
This commit is contained in:
James Booth
2016-01-17 01:49:16 +00:00
parent 56751e896b
commit e58be44f81
10 changed files with 68 additions and 1 deletions

View File

@@ -283,6 +283,7 @@ static struct cmd_t command_defs[] =
"/roster by group|presence|none",
"/roster order name|presence",
"/roster room order name|unread",
"/roster room unread before|after|off",
"/roster header char <char>|none",
"/roster presence indent <indent>",
"/roster contact char <char>|none",
@@ -327,6 +328,9 @@ static struct cmd_t command_defs[] =
{ "order presence", "Order roster items by presence, and then by name." },
{ "room order name", "Order roster rooms by name." },
{ "room order unread", "Order roster rooms by unread messages, and then by name." },
{ "room unread before", "Show unread message count before room in roster." },
{ "room unread after", "Show unread message count after room in roster." },
{ "room unread off", "Do not show unread message count for rooms in rosters." },
{ "header char <char>", "Prefix roster headers with specified character." },
{ "header char none", "Remove roster header character prefix." },
{ "contact char <char>", "Prefix roster contacts with specified character." },
@@ -1911,6 +1915,7 @@ static Autocomplete roster_char_ac;
static Autocomplete roster_remove_all_ac;
static Autocomplete roster_room_ac;
static Autocomplete roster_room_order_ac;
static Autocomplete roster_unread_ac;
static Autocomplete group_ac;
static Autocomplete bookmark_ac;
static Autocomplete bookmark_property_ac;
@@ -2212,8 +2217,14 @@ cmd_init(void)
autocomplete_add(roster_order_ac, "name");
autocomplete_add(roster_order_ac, "presence");
roster_unread_ac = autocomplete_new();
autocomplete_add(roster_unread_ac, "before");
autocomplete_add(roster_unread_ac, "after");
autocomplete_add(roster_unread_ac, "off");
roster_room_ac = autocomplete_new();
autocomplete_add(roster_room_ac, "order");
autocomplete_add(roster_room_ac, "unread");
roster_room_order_ac = autocomplete_new();
autocomplete_add(roster_room_order_ac, "name");
@@ -2492,6 +2503,7 @@ cmd_uninit(void)
autocomplete_free(roster_by_ac);
autocomplete_free(roster_order_ac);
autocomplete_free(roster_room_ac);
autocomplete_free(roster_unread_ac);
autocomplete_free(roster_room_order_ac);
autocomplete_free(roster_remove_all_ac);
autocomplete_free(group_ac);
@@ -2702,6 +2714,7 @@ cmd_reset_autocomplete(ProfWin *window)
autocomplete_reset(roster_by_ac);
autocomplete_reset(roster_order_ac);
autocomplete_reset(roster_room_ac);
autocomplete_reset(roster_unread_ac);
autocomplete_reset(roster_room_order_ac);
autocomplete_reset(roster_remove_all_ac);
autocomplete_reset(group_ac);
@@ -3115,6 +3128,10 @@ _roster_autocomplete(ProfWin *window, const char *const input)
if (result) {
return result;
}
result = autocomplete_param_with_ac(input, "/roster room unread", roster_unread_ac, TRUE);
if (result) {
return result;
}
jabber_conn_status_t conn_status = jabber_get_connection_status();
if (conn_status == JABBER_CONNECTED) {