mirror of
https://github.com/irssi/irssi.git
synced 2025-04-18 00:42:58 -04:00
Added setby-parameter to "nick mode changed" and "channel mode changed"
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2704 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
f4ba60bb43
commit
e47cab1ecc
@ -152,8 +152,8 @@ mode-lists.c:
|
|||||||
"ban remove", CHANNEL_REC, BAN_REC
|
"ban remove", CHANNEL_REC, BAN_REC
|
||||||
|
|
||||||
modes.c:
|
modes.c:
|
||||||
"channel mode changed", CHANNEL_REC
|
"channel mode changed", CHANNEL_REC, char *setby
|
||||||
"nick mode changed", CHANNEL_REC, NICK_REC
|
"nick mode changed", CHANNEL_REC, NICK_REC, char *setby
|
||||||
"user mode changed", SERVER_REC, char *old
|
"user mode changed", SERVER_REC, char *old
|
||||||
"away mode changed", SERVER_REC
|
"away mode changed", SERVER_REC
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
/* Change nick's mode in channel */
|
/* Change nick's mode in channel */
|
||||||
static void nick_mode_change(IRC_CHANNEL_REC *channel, const char *nick,
|
static void nick_mode_change(IRC_CHANNEL_REC *channel, const char *nick,
|
||||||
const char mode, int type)
|
const char mode, int type, const char *setby)
|
||||||
{
|
{
|
||||||
NICK_REC *nickrec;
|
NICK_REC *nickrec;
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ static void nick_mode_change(IRC_CHANNEL_REC *channel, const char *nick,
|
|||||||
if (mode == '+') nickrec->voice = type == '+';
|
if (mode == '+') nickrec->voice = type == '+';
|
||||||
if (mode == '%') nickrec->halfop = type == '+';
|
if (mode == '%') nickrec->halfop = type == '+';
|
||||||
|
|
||||||
signal_emit("nick mode changed", 2, channel, nickrec);
|
signal_emit("nick mode changed", 3, channel, nickrec, setby);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mode_is_set(const char *str, char mode)
|
static int mode_is_set(const char *str, char mode)
|
||||||
@ -236,13 +236,13 @@ void parse_channel_modes(IRC_CHANNEL_REC *channel, const char *setby,
|
|||||||
case 'O': /* channel owner in !channels */
|
case 'O': /* channel owner in !channels */
|
||||||
if (g_strcasecmp(channel->server->nick, arg) == 0)
|
if (g_strcasecmp(channel->server->nick, arg) == 0)
|
||||||
channel->chanop = type == '+';
|
channel->chanop = type == '+';
|
||||||
nick_mode_change(channel, arg, '@', type);
|
nick_mode_change(channel, arg, '@', type, setby);
|
||||||
break;
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
nick_mode_change(channel, arg, '%', type);
|
nick_mode_change(channel, arg, '%', type, setby);
|
||||||
break;
|
break;
|
||||||
case 'v':
|
case 'v':
|
||||||
nick_mode_change(channel, arg, '+', type);
|
nick_mode_change(channel, arg, '+', type, setby);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'l':
|
case 'l':
|
||||||
@ -290,7 +290,7 @@ void parse_channel_modes(IRC_CHANNEL_REC *channel, const char *setby,
|
|||||||
g_free(channel->mode);
|
g_free(channel->mode);
|
||||||
channel->mode = g_strdup(newmode->str);
|
channel->mode = g_strdup(newmode->str);
|
||||||
|
|
||||||
signal_emit("channel mode changed", 1, channel);
|
signal_emit("channel mode changed", 2, channel, setby);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_string_free(newmode, TRUE);
|
g_string_free(newmode, TRUE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user