diff options
Diffstat (limited to 'src/command')
-rw-r--r-- | src/command/command.c | 4 | ||||
-rw-r--r-- | src/command/commands.c | 24 |
2 files changed, 26 insertions, 2 deletions
diff --git a/src/command/command.c b/src/command/command.c index 6cc8078e..2fe9df27 100644 --- a/src/command/command.c +++ b/src/command/command.c @@ -1231,6 +1231,10 @@ cmd_init(void) autocomplete_add(room_ac, "moderators"); autocomplete_add(room_ac, "participants"); autocomplete_add(room_ac, "visitors"); + autocomplete_add(room_ac, "owners"); + autocomplete_add(room_ac, "admins"); + autocomplete_add(room_ac, "members"); + autocomplete_add(room_ac, "outcasts"); form_ac = autocomplete_new(); autocomplete_add(form_ac, "submit"); diff --git a/src/command/commands.c b/src/command/commands.c index 8cbbc109..4b3dfa5c 100644 --- a/src/command/commands.c +++ b/src/command/commands.c @@ -2066,6 +2066,10 @@ cmd_room(gchar **args, struct cmd_help_t help) (g_strcmp0(args[0], "moderators") != 0) && (g_strcmp0(args[0], "participants") != 0) && (g_strcmp0(args[0], "visitors") != 0) && + (g_strcmp0(args[0], "owners") != 0) && + (g_strcmp0(args[0], "admins") != 0) && + (g_strcmp0(args[0], "members") != 0) && + (g_strcmp0(args[0], "outcasts") != 0) && (g_strcmp0(args[0], "info") != 0)) { cons_show("Usage: %s", help.usage); return TRUE; @@ -2089,17 +2093,33 @@ cmd_room(gchar **args, struct cmd_help_t help) ui_show_room_role_list(window, room, MUC_ROLE_MODERATOR); return TRUE; } - if (g_strcmp0(args[0], "participants") == 0) { ui_show_room_role_list(window, room, MUC_ROLE_PARTICIPANT); return TRUE; } - if (g_strcmp0(args[0], "visitors") == 0) { ui_show_room_role_list(window, room, MUC_ROLE_VISITOR); return TRUE; } + if (g_strcmp0(args[0], "owners") == 0) { + ui_show_room_affiliation_list(window, room, MUC_AFFILIATION_OWNER); + return TRUE; + } + if (g_strcmp0(args[0], "admins") == 0) { + ui_show_room_affiliation_list(window, room, MUC_AFFILIATION_ADMIN); + return TRUE; + } + if (g_strcmp0(args[0], "members") == 0) { + ui_show_room_affiliation_list(window, room, MUC_AFFILIATION_MEMBER); + return TRUE; + } + if (g_strcmp0(args[0], "outcasts") == 0) { + ui_show_room_affiliation_list(window, room, MUC_AFFILIATION_OUTCAST); + return TRUE; + } + + if (g_strcmp0(args[0], "accept") == 0) { gboolean requires_config = muc_requires_config(room); if (!requires_config) { |