From 254c83d2d16037b22c060ed57d3c31de82f4750a Mon Sep 17 00:00:00 2001 From: James Booth Date: Sat, 2 Jan 2016 01:37:03 +0000 Subject: [PATCH] Added /roster show|hide rooms --- src/command/command.c | 7 +++++-- src/command/commands.c | 14 ++++++++++++++ src/ui/console.c | 5 +++++ src/ui/rosterwin.c | 2 +- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/command/command.c b/src/command/command.c index 36579990..5a7f4ca7 100644 --- a/src/command/command.c +++ b/src/command/command.c @@ -276,8 +276,8 @@ static struct cmd_t command_defs[] = CMD_SYN( "/roster", "/roster online", - "/roster show [offline|resource|presence|status|empty|count|priority]", - "/roster hide [offline|resource|presence|status|empty|count|priority]", + "/roster show [offline|resource|presence|status|empty|count|priority|rooms]", + "/roster hide [offline|resource|presence|status|empty|count|priority|rooms]", "/roster by group|presence|none", "/roster order name|presence", "/roster header char |none", @@ -307,6 +307,7 @@ static struct cmd_t command_defs[] = { "show empty", "When grouping by presence, show empty presence groups." }, { "show count", "Show number of contacts in group/presence." }, { "show priority", "Show resource priority." }, + { "show rooms", "Show chat rooms in roster panel." }, { "hide", "Hide the roster panel." }, { "hide offline", "Hide offline contacts in the roster panel." }, { "hide resource", "Hide contact's connected resources in the roster panel." }, @@ -315,6 +316,7 @@ static struct cmd_t command_defs[] = { "hide empty", "When grouping by presence, hide empty presence groups." }, { "hide count", "Hide number of contacts in group/presence." }, { "hide priority", "Hide resource priority." }, + { "hide rooms", "Hide chat rooms in roster panel." }, { "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." }, @@ -2167,6 +2169,7 @@ cmd_init(void) autocomplete_add(roster_show_ac, "empty"); autocomplete_add(roster_show_ac, "count"); autocomplete_add(roster_show_ac, "priority"); + autocomplete_add(roster_show_ac, "rooms"); roster_by_ac = autocomplete_new(); autocomplete_add(roster_by_ac, "group"); diff --git a/src/command/commands.c b/src/command/commands.c index 192f241d..15b740e3 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -2046,6 +2046,13 @@ cmd_roster(ProfWin *window, const char *const command, gchar **args) rosterwin_roster(); } return TRUE; + } else if (g_strcmp0(args[1], "rooms") == 0) { + cons_show("Roster rooms enabled"); + prefs_set_boolean(PREF_ROSTER_ROOMS, TRUE); + if (conn_status == JABBER_CONNECTED) { + rosterwin_roster(); + } + return TRUE; } else { cons_bad_cmd_usage(command); return TRUE; @@ -2107,6 +2114,13 @@ cmd_roster(ProfWin *window, const char *const command, gchar **args) rosterwin_roster(); } return TRUE; + } else if (g_strcmp0(args[1], "rooms") == 0) { + cons_show("Roster rooms disabled"); + prefs_set_boolean(PREF_ROSTER_ROOMS, FALSE); + if (conn_status == JABBER_CONNECTED) { + rosterwin_roster(); + } + return TRUE; } else { cons_bad_cmd_usage(command); return TRUE; diff --git a/src/ui/console.c b/src/ui/console.c index 315e933c..a5406cab 100644 --- a/src/ui/console.c +++ b/src/ui/console.c @@ -1325,6 +1325,11 @@ cons_roster_setting(void) else cons_show("Roster priority (/roster) : hide"); + if (prefs_get_boolean(PREF_ROSTER_ROOMS)) + cons_show("Roster rooms (/roster) : show"); + else + cons_show("Roster rooms (/roster) : hide"); + char *by = prefs_get_string(PREF_ROSTER_BY); cons_show("Roster by (/roster) : %s", by); prefs_free_string(by); diff --git a/src/ui/rosterwin.c b/src/ui/rosterwin.c index aa52fc44..b7cf9396 100644 --- a/src/ui/rosterwin.c +++ b/src/ui/rosterwin.c @@ -417,7 +417,7 @@ _rosterwin_rooms(ProfLayoutSplit *layout, gboolean newline) if (ch) { g_string_append_printf(title_str, "%c", ch); } - g_string_append(title_str, "rooms"); + g_string_append(title_str, "Rooms"); if (prefs_get_boolean(PREF_ROSTER_COUNT)) { g_string_append_printf(title_str, " (%d)", g_list_length(rooms)); }