1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

mucwin_occupant_kicked takes ProfMucWin

This commit is contained in:
James Booth 2015-11-01 23:47:59 +00:00
parent 24f283e960
commit cc498110e2
4 changed files with 21 additions and 20 deletions

View File

@ -498,7 +498,10 @@ sv_ev_room_occupent_kicked(const char *const room, const char *const nick, const
const char *const reason)
{
muc_roster_remove(room, nick);
mucwin_occupant_kicked(room, nick, actor, reason);
ProfMucWin *mucwin = wins_get_muc(room);
if (mucwin) {
mucwin_occupant_kicked(mucwin, nick, actor, reason);
}
occupantswin_occupants(room);
}

View File

@ -241,27 +241,25 @@ mucwin_occupant_offline(ProfMucWin *mucwin, const char *const nick)
}
void
mucwin_occupant_kicked(const char *const roomjid, const char *const nick, const char *const actor,
mucwin_occupant_kicked(ProfMucWin *mucwin, const char *const nick, const char *const actor,
const char *const reason)
{
ProfWin *window = (ProfWin*)wins_get_muc(roomjid);
if (window == NULL) {
log_error("Received kick for room participant %s, but no window open for %s.", nick, roomjid);
} else {
GString *message = g_string_new(nick);
g_string_append(message, " has been kicked from the room");
if (actor) {
g_string_append(message, " by ");
g_string_append(message, actor);
}
if (reason) {
g_string_append(message, ", reason: ");
g_string_append(message, reason);
}
assert(mucwin != NULL);
win_vprint(window, '!', 0, NULL, 0, THEME_OFFLINE, "", "<- %s", message->str);
g_string_free(message, TRUE);
ProfWin *window = (ProfWin*)mucwin;
GString *message = g_string_new(nick);
g_string_append(message, " has been kicked from the room");
if (actor) {
g_string_append(message, " by ");
g_string_append(message, actor);
}
if (reason) {
g_string_append(message, ", reason: ");
g_string_append(message, reason);
}
win_vprint(window, '!', 0, NULL, 0, THEME_OFFLINE, "", "<- %s", message->str);
g_string_free(message, TRUE);
}
void

View File

@ -183,7 +183,7 @@ void mucwin_show_role_list(ProfMucWin *mucwin, muc_role_t role);
void mucwin_show_affiliation_list(ProfMucWin *mucwin, muc_affiliation_t affiliation);
void mucwin_room_info_error(ProfMucWin *mucwin, const char *const error);
void mucwin_room_disco_info(ProfMucWin *mucwin, GSList *identities, GSList *features);
void mucwin_occupant_kicked(const char *const roomjid, const char *const nick, const char *const actor,
void mucwin_occupant_kicked(ProfMucWin *mucwin, const char *const nick, const char *const actor,
const char *const reason);
void mucwin_occupant_banned(const char *const roomjid, const char *const nick, const char *const actor,
const char *const reason);

View File

@ -219,7 +219,7 @@ void mucwin_room_disco_info(ProfMucWin *mucwin, GSList *identities, GSList *feat
void ui_room_destroyed(const char * const roomjid, const char * const reason, const char * const new_jid,
const char * const password) {}
void ui_room_kicked(const char * const roomjid, const char * const actor, const char * const reason) {}
void mucwin_occupant_kicked(const char * const roomjid, const char * const nick, const char * const actor,
void mucwin_occupant_kicked(ProfMucWin *mucwin, const char * const nick, const char * const actor,
const char * const reason) {}
void ui_room_banned(const char * const roomjid, const char * const actor, const char * const reason) {}
void mucwin_occupant_banned(const char * const roomjid, const char * const nick, const char * const actor,