about summary refs log tree commit diff stats
path: root/src/command
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-10-01 00:46:58 +0100
committerJames Booth <boothj5@gmail.com>2014-10-01 00:46:58 +0100
commitc90f4a37a312ecf7c60e3ed9757735d7bad39798 (patch)
tree4eadf445a726a8d13f21d9457c39c5464ecef616 /src/command
parent5879f497ad7bdd9abd7e7c419c1d8c503d6d14d6 (diff)
downloadprofani-tty-c90f4a37a312ecf7c60e3ed9757735d7bad39798.tar.gz
Added /room <affiliation> command
Diffstat (limited to 'src/command')
-rw-r--r--src/command/command.c4
-rw-r--r--src/command/commands.c24
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) {