From 03f38289e15c27b93f8fdecf22a03353e4d01096 Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Sat, 24 Jul 2010 16:06:22 +0200 Subject: Adding protocol-specific chatroom settings. First one to use this: AIM chatrooms to use exchange numbers other than 4. --- irc_im.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'irc_im.c') diff --git a/irc_im.c b/irc_im.c index 8a10cede..4dbcddce 100644 --- a/irc_im.c +++ b/irc_im.c @@ -692,7 +692,7 @@ static gboolean bee_irc_channel_chat_join( irc_channel_t *ic ) nick = ic->irc->user->nick; ic->flags |= IRC_CHANNEL_CHAT_PICKME; - acc->prpl->chat_join( acc->ic, room, nick, NULL ); + acc->prpl->chat_join( acc->ic, room, nick, NULL, &ic->set ); ic->flags &= ~IRC_CHANNEL_CHAT_PICKME; return FALSE; @@ -787,7 +787,7 @@ static gboolean bee_irc_channel_init( irc_channel_t *ic ) static char *set_eval_room_account( set_t *set, char *value ) { struct irc_channel *ic = set->data; - account_t *acc; + account_t *acc, *oa; if( !( acc = account_get( ic->irc->b, value ) ) ) return SET_INVALID; @@ -797,6 +797,13 @@ static char *set_eval_room_account( set_t *set, char *value ) return SET_INVALID; } + if( set->value && ( oa = account_get( ic->irc->b, set->value ) ) && + oa->prpl->chat_free_settings ) + oa->prpl->chat_free_settings( oa, &ic->set ); + + if( acc->prpl->chat_add_settings ) + acc->prpl->chat_add_settings( acc, &ic->set ); + return g_strdup_printf( "%s(%s)", acc->prpl->name, acc->user ); } -- cgit v1.2.3