diff options
author | James Booth <boothj5@gmail.com> | 2016-01-27 22:34:22 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2016-01-27 22:34:22 +0000 |
commit | dbc52de0433de7ec441896832b2ec35fc4fb2fc4 (patch) | |
tree | 8a39fab40236b759e3b1377368090808cd792d98 /src | |
parent | 8d10dbfc494945d9f06d47466c20d6df32b8bc8e (diff) | |
download | profani-tty-dbc52de0433de7ec441896832b2ec35fc4fb2fc4.tar.gz |
Added /roster count command
Diffstat (limited to 'src')
-rw-r--r-- | src/command/command.c | 29 | ||||
-rw-r--r-- | src/command/commands.h | 2 |
2 files changed, 28 insertions, 3 deletions
diff --git a/src/command/command.c b/src/command/command.c index bfa1385a..c57f48a9 100644 --- a/src/command/command.c +++ b/src/command/command.c @@ -278,9 +278,11 @@ static struct cmd_t command_defs[] = CMD_SYN( "/roster", "/roster online", - "/roster show [offline|resource|presence|status|empty|count|priority|contacts|rooms]", - "/roster hide [offline|resource|presence|status|empty|count|priority|contacts|rooms]", + "/roster show [offline|resource|presence|status|empty|priority|contacts|rooms]", + "/roster hide [offline|resource|presence|status|empty|priority|contacts|rooms]", "/roster by group|presence|none", + "/roster count unread|items|off" + "/roster count zero on|off" "/roster order name|presence", "/roster unread before|after|off", "/roster room char <char>|none", @@ -331,6 +333,11 @@ static struct cmd_t command_defs[] = { "by group", "Group contacts in the roster panel by roster group." }, { "by presence", "Group contacts in the roster panel by presence." }, { "by none", "No grouping in the roster panel." }, + { "count unread", "Show total unread message count with roster headers." }, + { "count items", "Show item count with roster headers." }, + { "count off", "Do not show any count with roster headers." }, + { "count zero on", "Show roster count when 0." }, + { "count zero off", "Hide roster count when 0." }, { "order name", "Order roster items by name only." }, { "order presence", "Order roster items by presence, and then by name." }, { "unread before", "Show unread message count before contact in roster." }, @@ -1930,6 +1937,7 @@ static Autocomplete wins_ac; static Autocomplete roster_ac; static Autocomplete roster_show_ac; static Autocomplete roster_by_ac; +static Autocomplete roster_count_ac; static Autocomplete roster_order_ac; static Autocomplete roster_header_ac; static Autocomplete roster_contact_ac; @@ -2200,6 +2208,7 @@ cmd_init(void) autocomplete_add(roster_ac, "show"); autocomplete_add(roster_ac, "hide"); autocomplete_add(roster_ac, "by"); + autocomplete_add(roster_ac, "count"); autocomplete_add(roster_ac, "order"); autocomplete_add(roster_ac, "unread"); autocomplete_add(roster_ac, "room"); @@ -2251,6 +2260,12 @@ cmd_init(void) autocomplete_add(roster_by_ac, "presence"); autocomplete_add(roster_by_ac, "none"); + roster_count_ac = autocomplete_new(); + autocomplete_add(roster_count_ac, "unread"); + autocomplete_add(roster_count_ac, "items"); + autocomplete_add(roster_count_ac, "off"); + autocomplete_add(roster_count_ac, "zero"); + roster_order_ac = autocomplete_new(); autocomplete_add(roster_order_ac, "name"); autocomplete_add(roster_order_ac, "presence"); @@ -2545,6 +2560,7 @@ cmd_uninit(void) autocomplete_free(roster_char_ac); autocomplete_free(roster_show_ac); autocomplete_free(roster_by_ac); + autocomplete_free(roster_count_ac); autocomplete_free(roster_order_ac); autocomplete_free(roster_room_ac); autocomplete_free(roster_unread_ac); @@ -2758,6 +2774,7 @@ cmd_reset_autocomplete(ProfWin *window) autocomplete_reset(roster_char_ac); autocomplete_reset(roster_show_ac); autocomplete_reset(roster_by_ac); + autocomplete_reset(roster_count_ac); autocomplete_reset(roster_order_ac); autocomplete_reset(roster_room_ac); autocomplete_reset(roster_unread_ac); @@ -3192,6 +3209,10 @@ _roster_autocomplete(ProfWin *window, const char *const input) if (result) { return result; } + result = autocomplete_param_with_func(input, "/roster count zero", prefs_autocomplete_boolean_choice); + if (result) { + return result; + } jabber_conn_status_t conn_status = jabber_get_connection_status(); if (conn_status == JABBER_CONNECTED) { @@ -3225,6 +3246,10 @@ _roster_autocomplete(ProfWin *window, const char *const input) if (result) { return result; } + result = autocomplete_param_with_ac(input, "/roster count", roster_count_ac, TRUE); + if (result) { + return result; + } result = autocomplete_param_with_ac(input, "/roster order", roster_order_ac, TRUE); if (result) { return result; diff --git a/src/command/commands.h b/src/command/commands.h index 5972e224..14683115 100644 --- a/src/command/commands.h +++ b/src/command/commands.h @@ -42,7 +42,7 @@ typedef struct cmd_help_t { const gchar *tags[20]; const gchar *synopsis[50]; const gchar *desc; - const gchar *args[64][2]; + const gchar *args[128][2]; const gchar *examples[20]; } CommandHelp; |