diff options
author | James Booth <boothj5@gmail.com> | 2015-06-20 00:39:08 +0100 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2015-06-20 00:39:08 +0100 |
commit | 16999a396497c90778ef6bdbab11a419a570aa0f (patch) | |
tree | 5586f73e19e58a8e8494c3edae5f47ac3ad18693 /src/command | |
parent | edbb3d938edf61946df0c89779a1e9377356602d (diff) | |
parent | d7ec339e3ea668668cbe5fb817bf9914d0265116 (diff) | |
download | profani-tty-16999a396497c90778ef6bdbab11a419a570aa0f.tar.gz |
Merge branch 'master' into openpgp
Diffstat (limited to 'src/command')
-rw-r--r-- | src/command/command.c | 2 | ||||
-rw-r--r-- | src/command/commands.c | 17 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/command/command.c b/src/command/command.c index 00f53b53..fbb9f29d 100644 --- a/src/command/command.c +++ b/src/command/command.c @@ -204,6 +204,7 @@ static struct cmd_t command_defs[] = "size : Percentage of the screen taken up by the roster (1-99).", "add jid [nick] : Add a new item to the roster.", "remove jid : Removes an item from the roster.", + "empty : Remove all items from roster." "nick jid nick : Change a contacts nickname.", "clearnick jid : Removes the current nickname.", "", @@ -1409,6 +1410,7 @@ cmd_init(void) autocomplete_add(roster_ac, "nick"); autocomplete_add(roster_ac, "clearnick"); autocomplete_add(roster_ac, "remove"); + autocomplete_add(roster_ac, "empty"); autocomplete_add(roster_ac, "show"); autocomplete_add(roster_ac, "hide"); autocomplete_add(roster_ac, "by"); diff --git a/src/command/commands.c b/src/command/commands.c index f40723be..113532a5 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -1651,6 +1651,23 @@ cmd_roster(ProfWin *window, gchar **args, struct cmd_help_t help) } return TRUE; + } else if (strcmp(args[0], "empty") == 0) { + if (conn_status != JABBER_CONNECTED) { + cons_show("You are not currently connected."); + return TRUE; + } + + GSList *all = roster_get_contacts(); + GSList *curr = all; + while (curr) { + PContact contact = curr->data; + roster_send_remove(p_contact_barejid(contact)); + curr = g_slist_next(curr); + } + + g_slist_free(all); + return TRUE; + // change nickname } else if (strcmp(args[0], "nick") == 0) { if (conn_status != JABBER_CONNECTED) { |