Added roster rooms order preference

This commit is contained in:
James Booth
2016-01-09 22:21:09 +00:00
parent cd2458c019
commit de90243401
7 changed files with 74 additions and 1 deletions

View File

@@ -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;