Added /room subject command

This commit is contained in:
James Booth
2014-10-05 03:05:46 +01:00
parent 2026ab4b6e
commit 7584ddaa62
11 changed files with 114 additions and 18 deletions

View File

@@ -1704,16 +1704,29 @@ _ui_room_destroyed(const char * const room_jid)
}
static void
_ui_room_subject(const char * const room_jid, const char * const subject)
_ui_room_subject(const char * const room, const char * const nick, const char * const subject)
{
ProfWin *window = wins_get_by_recipient(room_jid);
ProfWin *window = wins_get_by_recipient(room);
if (window == NULL) {
log_error("Received room subject, but no window open for %s.", room_jid);
log_error("Received room subject, but no window open for %s.", room);
} else {
int num = wins_get_num(window);
win_save_vprint(window, '!', NULL, NO_EOL, COLOUR_ROOMINFO, "", "Room subject: ");
win_save_vprint(window, '!', NULL, NO_DATE, 0, "", "%s", subject);
if (subject) {
if (nick) {
win_save_vprint(window, '!', NULL, NO_EOL, COLOUR_ROOMINFO, "", "*%s has set the room subject: ", nick);
win_save_vprint(window, '!', NULL, NO_DATE, 0, "", "%s", subject);
} else {
win_save_vprint(window, '!', NULL, NO_EOL, COLOUR_ROOMINFO, "", "Room subject: ");
win_save_vprint(window, '!', NULL, NO_DATE, 0, "", "%s", subject);
}
} else {
if (nick) {
win_save_vprint(window, '!', NULL, 0, COLOUR_ROOMINFO, "", "*%s has cleared the room subject: ", nick);
} else {
win_save_vprint(window, '!', NULL, 0, COLOUR_ROOMINFO, "", "Room subject cleared");
}
}
// currently in groupchat window
if (wins_is_current(window)) {

View File

@@ -133,8 +133,7 @@ void (*ui_room_history)(const char * const room_jid, const char * const nick,
GTimeVal tv_stamp, const char * const message);
void (*ui_room_message)(const char * const room_jid, const char * const nick,
const char * const message);
void (*ui_room_subject)(const char * const room_jid,
const char * const subject);
void (*ui_room_subject)(const char * const room, const char * const nick, const char * const subject);
void (*ui_room_requires_config)(const char * const room_jid);
void (*ui_room_destroyed)(const char * const room_jid);
void (*ui_show_room_info)(ProfWin *window, const char * const room);