diff options
author | James Booth <boothj5@gmail.com> | 2016-01-09 22:21:09 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2016-01-09 22:21:09 +0000 |
commit | de902434010f68b5d3d0d7d8dbfb9d0b0b1c0b9b (patch) | |
tree | cdea9519785364e5c4138059d79311661066cdc9 /src/command/command.c | |
parent | cd2458c0198bab99655248dd2e1071a862e5ef80 (diff) | |
download | profani-tty-de902434010f68b5d3d0d7d8dbfb9d0b0b1c0b9b.tar.gz |
Added roster rooms order preference
Diffstat (limited to 'src/command/command.c')
-rw-r--r-- | src/command/command.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/command/command.c b/src/command/command.c index 1a72f74a..27661679 100644 --- a/src/command/command.c +++ b/src/command/command.c @@ -281,6 +281,7 @@ static struct cmd_t command_defs[] = "/roster hide [offline|resource|presence|status|empty|count|priority|rooms]", "/roster by group|presence|none", "/roster order name|presence", + "/roster room order name|unread", "/roster header char <char>|none", "/roster presence indent <indent>", "/roster contact char <char>|none", @@ -323,6 +324,8 @@ static struct cmd_t command_defs[] = { "by none", "No grouping in the roster panel." }, { "order name", "Order roster items by name only." }, { "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." }, { "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." }, @@ -1895,6 +1898,8 @@ static Autocomplete roster_resource_ac; static Autocomplete roster_presence_ac; static Autocomplete roster_char_ac; static Autocomplete roster_remove_all_ac; +static Autocomplete roster_room_ac; +static Autocomplete roster_room_order_ac; static Autocomplete group_ac; static Autocomplete bookmark_ac; static Autocomplete bookmark_property_ac; @@ -2155,6 +2160,7 @@ cmd_init(void) autocomplete_add(roster_ac, "hide"); autocomplete_add(roster_ac, "by"); autocomplete_add(roster_ac, "order"); + autocomplete_add(roster_ac, "room"); autocomplete_add(roster_ac, "size"); autocomplete_add(roster_ac, "wrap"); autocomplete_add(roster_ac, "header"); @@ -2199,6 +2205,13 @@ cmd_init(void) autocomplete_add(roster_order_ac, "name"); autocomplete_add(roster_order_ac, "presence"); + roster_room_ac = autocomplete_new(); + autocomplete_add(roster_room_ac, "order"); + + roster_room_order_ac = autocomplete_new(); + autocomplete_add(roster_room_order_ac, "name"); + autocomplete_add(roster_room_order_ac, "unread"); + roster_remove_all_ac = autocomplete_new(); autocomplete_add(roster_remove_all_ac, "contacts"); @@ -2472,6 +2485,8 @@ cmd_uninit(void) autocomplete_free(roster_show_ac); autocomplete_free(roster_by_ac); autocomplete_free(roster_order_ac); + autocomplete_free(roster_room_ac); + autocomplete_free(roster_room_order_ac); autocomplete_free(roster_remove_all_ac); autocomplete_free(group_ac); autocomplete_free(bookmark_ac); @@ -2681,6 +2696,8 @@ cmd_reset_autocomplete(ProfWin *window) autocomplete_reset(roster_show_ac); autocomplete_reset(roster_by_ac); autocomplete_reset(roster_order_ac); + autocomplete_reset(roster_room_ac); + autocomplete_reset(roster_room_order_ac); autocomplete_reset(roster_remove_all_ac); autocomplete_reset(group_ac); autocomplete_reset(titlebar_ac); @@ -3087,6 +3104,10 @@ _roster_autocomplete(ProfWin *window, const char *const input) if (result) { return result; } + result = autocomplete_param_with_ac(input, "/roster room order", roster_room_order_ac, TRUE); + if (result) { + return result; + } jabber_conn_status_t conn_status = jabber_get_connection_status(); if (conn_status == JABBER_CONNECTED) { @@ -3124,6 +3145,10 @@ _roster_autocomplete(ProfWin *window, const char *const input) if (result) { return result; } + result = autocomplete_param_with_ac(input, "/roster room", roster_room_ac, TRUE); + if (result) { + return result; + } result = autocomplete_param_with_func(input, "/roster wrap", prefs_autocomplete_boolean_choice); if (result) { return result; |