From e58be44f8185a0fbb43a3ee902acf21c89b158b6 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 17 Jan 2016 01:49:16 +0000 Subject: Added /roster room unread preference closes ##708 --- src/command/command.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/command/command.c') diff --git a/src/command/command.c b/src/command/command.c index 681e4ff7..b6c00803 100644 --- a/src/command/command.c +++ b/src/command/command.c @@ -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 |none", "/roster presence indent ", "/roster contact 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 ", "Prefix roster headers with specified character." }, { "header char none", "Remove roster header character prefix." }, { "contact 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) { -- cgit 1.4.1-2-gfad0