mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Moved /room subject to /subject
This commit is contained in:
parent
9054427144
commit
8b77f527c0
@ -338,6 +338,15 @@ static struct cmd_t command_defs[] =
|
|||||||
"reason - Optional reason for banning the user.",
|
"reason - Optional reason for banning the user.",
|
||||||
NULL } } },
|
NULL } } },
|
||||||
|
|
||||||
|
{ "/subject",
|
||||||
|
cmd_subject, parse_args_with_freetext, 0, 2, NULL,
|
||||||
|
{ "/subject set|clear [subject]", "Set or clear room subject.",
|
||||||
|
{ "/subject set|clear [subject]",
|
||||||
|
"----------------------------",
|
||||||
|
"set subject - Set the room subject.",
|
||||||
|
"clear - Clear the room subject.",
|
||||||
|
NULL } } },
|
||||||
|
|
||||||
{ "/occupants",
|
{ "/occupants",
|
||||||
cmd_occupants, parse_args, 1, 2, &cons_occupants_setting,
|
cmd_occupants, parse_args, 1, 2, &cons_occupants_setting,
|
||||||
{ "/occupants show|hide|default [show|hide]", "Show or hide room occupants.",
|
{ "/occupants show|hide|default [show|hide]", "Show or hide room occupants.",
|
||||||
@ -1007,7 +1016,7 @@ static Autocomplete room_ac;
|
|||||||
static Autocomplete room_affiliation_ac;
|
static Autocomplete room_affiliation_ac;
|
||||||
static Autocomplete room_role_ac;
|
static Autocomplete room_role_ac;
|
||||||
static Autocomplete room_cmd_ac;
|
static Autocomplete room_cmd_ac;
|
||||||
static Autocomplete room_subject_ac;
|
static Autocomplete subject_ac;
|
||||||
static Autocomplete form_ac;
|
static Autocomplete form_ac;
|
||||||
static Autocomplete occupants_ac;
|
static Autocomplete occupants_ac;
|
||||||
static Autocomplete occupants_default_ac;
|
static Autocomplete occupants_default_ac;
|
||||||
@ -1283,7 +1292,6 @@ cmd_init(void)
|
|||||||
autocomplete_add(room_ac, "destroy");
|
autocomplete_add(room_ac, "destroy");
|
||||||
autocomplete_add(room_ac, "config");
|
autocomplete_add(room_ac, "config");
|
||||||
autocomplete_add(room_ac, "info");
|
autocomplete_add(room_ac, "info");
|
||||||
autocomplete_add(room_ac, "subject");
|
|
||||||
autocomplete_add(room_ac, "role");
|
autocomplete_add(room_ac, "role");
|
||||||
autocomplete_add(room_ac, "affiliation");
|
autocomplete_add(room_ac, "affiliation");
|
||||||
|
|
||||||
@ -1304,9 +1312,9 @@ cmd_init(void)
|
|||||||
autocomplete_add(room_cmd_ac, "list");
|
autocomplete_add(room_cmd_ac, "list");
|
||||||
autocomplete_add(room_cmd_ac, "set");
|
autocomplete_add(room_cmd_ac, "set");
|
||||||
|
|
||||||
room_subject_ac = autocomplete_new();
|
subject_ac = autocomplete_new();
|
||||||
autocomplete_add(room_subject_ac, "set");
|
autocomplete_add(subject_ac, "set");
|
||||||
autocomplete_add(room_subject_ac, "clear");
|
autocomplete_add(subject_ac, "clear");
|
||||||
|
|
||||||
form_ac = autocomplete_new();
|
form_ac = autocomplete_new();
|
||||||
autocomplete_add(form_ac, "submit");
|
autocomplete_add(form_ac, "submit");
|
||||||
@ -1372,7 +1380,7 @@ cmd_uninit(void)
|
|||||||
autocomplete_free(room_affiliation_ac);
|
autocomplete_free(room_affiliation_ac);
|
||||||
autocomplete_free(room_role_ac);
|
autocomplete_free(room_role_ac);
|
||||||
autocomplete_free(room_cmd_ac);
|
autocomplete_free(room_cmd_ac);
|
||||||
autocomplete_free(room_subject_ac);
|
autocomplete_free(subject_ac);
|
||||||
autocomplete_free(form_ac);
|
autocomplete_free(form_ac);
|
||||||
autocomplete_free(occupants_ac);
|
autocomplete_free(occupants_ac);
|
||||||
autocomplete_free(occupants_default_ac);
|
autocomplete_free(occupants_default_ac);
|
||||||
@ -1505,7 +1513,7 @@ cmd_reset_autocomplete()
|
|||||||
autocomplete_reset(room_affiliation_ac);
|
autocomplete_reset(room_affiliation_ac);
|
||||||
autocomplete_reset(room_role_ac);
|
autocomplete_reset(room_role_ac);
|
||||||
autocomplete_reset(room_cmd_ac);
|
autocomplete_reset(room_cmd_ac);
|
||||||
autocomplete_reset(room_subject_ac);
|
autocomplete_reset(subject_ac);
|
||||||
autocomplete_reset(form_ac);
|
autocomplete_reset(form_ac);
|
||||||
autocomplete_reset(occupants_ac);
|
autocomplete_reset(occupants_ac);
|
||||||
autocomplete_reset(occupants_default_ac);
|
autocomplete_reset(occupants_default_ac);
|
||||||
@ -1766,8 +1774,8 @@ _cmd_complete_parameters(char *input, int *size)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
gchar *cmds[] = { "/help", "/prefs", "/disco", "/close", "/wins" };
|
gchar *cmds[] = { "/help", "/prefs", "/disco", "/close", "/wins", "/subject" };
|
||||||
Autocomplete completers[] = { help_ac, prefs_ac, disco_ac, close_ac, wins_ac };
|
Autocomplete completers[] = { help_ac, prefs_ac, disco_ac, close_ac, wins_ac, subject_ac };
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(cmds); i++) {
|
for (i = 0; i < ARRAY_SIZE(cmds); i++) {
|
||||||
result = autocomplete_param_with_ac(input, size, cmds[i], completers[i], TRUE);
|
result = autocomplete_param_with_ac(input, size, cmds[i], completers[i], TRUE);
|
||||||
@ -2443,11 +2451,6 @@ _room_autocomplete(char *input, int *size)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
result = autocomplete_param_with_ac(input, size, "/room subject", room_subject_ac, TRUE);
|
|
||||||
if (result != NULL) {
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
result = autocomplete_param_with_ac(input, size, "/room", room_ac, TRUE);
|
result = autocomplete_param_with_ac(input, size, "/room", room_ac, TRUE);
|
||||||
if (result != NULL) {
|
if (result != NULL) {
|
||||||
return result;
|
return result;
|
||||||
|
@ -2169,6 +2169,54 @@ cmd_ban(gchar **args, struct cmd_help_t help)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
cmd_subject(gchar **args, struct cmd_help_t help)
|
||||||
|
{
|
||||||
|
jabber_conn_status_t conn_status = jabber_get_connection_status();
|
||||||
|
|
||||||
|
if (conn_status != JABBER_CONNECTED) {
|
||||||
|
cons_show("You are not currently connected.");
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
win_type_t win_type = ui_current_win_type();
|
||||||
|
if (win_type != WIN_MUC) {
|
||||||
|
cons_show("Command '/room' does not apply to this window.");
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *room = ui_current_recipient();
|
||||||
|
ProfWin *window = wins_get_by_recipient(room);
|
||||||
|
|
||||||
|
if (args[0] == NULL) {
|
||||||
|
char *subject = muc_subject(room);
|
||||||
|
if (subject) {
|
||||||
|
win_save_vprint(window, '!', NULL, NO_EOL, COLOUR_ROOMINFO, "", "Room subject: ");
|
||||||
|
win_save_vprint(window, '!', NULL, NO_DATE, 0, "", "%s", subject);
|
||||||
|
} else {
|
||||||
|
win_save_print(window, '!', NULL, 0, COLOUR_ROOMINFO, "", "Room has no subject");
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_strcmp0(args[0], "set") == 0) {
|
||||||
|
if (args[1]) {
|
||||||
|
message_send_groupchat_subject(room, args[1]);
|
||||||
|
} else {
|
||||||
|
cons_show("Usage: %s", help.usage);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_strcmp0(args[0], "clear") == 0) {
|
||||||
|
message_send_groupchat_subject(room, NULL);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
cons_show("Usage: %s", help.usage);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
cmd_room(gchar **args, struct cmd_help_t help)
|
cmd_room(gchar **args, struct cmd_help_t help)
|
||||||
{
|
{
|
||||||
@ -2188,7 +2236,6 @@ cmd_room(gchar **args, struct cmd_help_t help)
|
|||||||
if ((g_strcmp0(args[0], "accept") != 0) &&
|
if ((g_strcmp0(args[0], "accept") != 0) &&
|
||||||
(g_strcmp0(args[0], "destroy") != 0) &&
|
(g_strcmp0(args[0], "destroy") != 0) &&
|
||||||
(g_strcmp0(args[0], "config") != 0) &&
|
(g_strcmp0(args[0], "config") != 0) &&
|
||||||
(g_strcmp0(args[0], "subject") != 0) &&
|
|
||||||
(g_strcmp0(args[0], "role") != 0) &&
|
(g_strcmp0(args[0], "role") != 0) &&
|
||||||
(g_strcmp0(args[0], "affiliation") != 0) &&
|
(g_strcmp0(args[0], "affiliation") != 0) &&
|
||||||
(g_strcmp0(args[0], "info") != 0)) {
|
(g_strcmp0(args[0], "info") != 0)) {
|
||||||
@ -2211,36 +2258,6 @@ cmd_room(gchar **args, struct cmd_help_t help)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_strcmp0(args[0], "subject") == 0) {
|
|
||||||
if (args[1] == NULL) {
|
|
||||||
char *subject = muc_subject(room);
|
|
||||||
if (subject) {
|
|
||||||
win_save_vprint(window, '!', NULL, NO_EOL, COLOUR_ROOMINFO, "", "Room subject: ");
|
|
||||||
win_save_vprint(window, '!', NULL, NO_DATE, 0, "", "%s", subject);
|
|
||||||
} else {
|
|
||||||
win_save_print(window, '!', NULL, 0, COLOUR_ROOMINFO, "", "Room has no subject");
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (g_strcmp0(args[1], "set") == 0) {
|
|
||||||
if (args[2]) {
|
|
||||||
message_send_groupchat_subject(room, args[2]);
|
|
||||||
} else {
|
|
||||||
cons_show("Usage: %s", help.usage);
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (g_strcmp0(args[1], "clear") == 0) {
|
|
||||||
message_send_groupchat_subject(room, NULL);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
cons_show("Usage: %s", help.usage);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (g_strcmp0(args[0], "affiliation") == 0) {
|
if (g_strcmp0(args[0], "affiliation") == 0) {
|
||||||
char *cmd = args[1];
|
char *cmd = args[1];
|
||||||
if (cmd == NULL) {
|
if (cmd == NULL) {
|
||||||
|
@ -129,5 +129,6 @@ gboolean cmd_form(gchar **args, struct cmd_help_t help);
|
|||||||
gboolean cmd_occupants(gchar **args, struct cmd_help_t help);
|
gboolean cmd_occupants(gchar **args, struct cmd_help_t help);
|
||||||
gboolean cmd_kick(gchar **args, struct cmd_help_t help);
|
gboolean cmd_kick(gchar **args, struct cmd_help_t help);
|
||||||
gboolean cmd_ban(gchar **args, struct cmd_help_t help);
|
gboolean cmd_ban(gchar **args, struct cmd_help_t help);
|
||||||
|
gboolean cmd_subject(gchar **args, struct cmd_help_t help);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user