mirror of
https://github.com/irssi/irssi.git
synced 2026-08-10 20:33:46 +02:00
correctly separate ignore flags (no_act, hidden) from level
This commit is contained in:
parent
7f14d4d744
commit
b9a274a81d
7 changed files with 92 additions and 57 deletions
|
|
@ -92,12 +92,12 @@ static void sig_message_dcc(CHAT_DCC_REC *dcc, const char *msg)
|
|||
tag = g_strconcat("=", dcc->id, NULL);
|
||||
query = query_find(NULL, tag);
|
||||
|
||||
if (ignore_check(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
|
||||
level | MSGLEVEL_NO_ACT))
|
||||
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
|
||||
level, MSGLEVEL_NO_ACT))
|
||||
level |= MSGLEVEL_NO_ACT;
|
||||
|
||||
if (ignore_check(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
|
||||
level | MSGLEVEL_HIDDEN))
|
||||
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
|
||||
level, MSGLEVEL_HIDDEN))
|
||||
level |= MSGLEVEL_HIDDEN;
|
||||
|
||||
format_create_dest_tag(&dest, dcc->server, dcc->servertag, tag,
|
||||
|
|
@ -118,12 +118,12 @@ static void sig_message_dcc_action(CHAT_DCC_REC *dcc, const char *msg)
|
|||
tag = g_strconcat("=", dcc->id, NULL);
|
||||
query = query_find(NULL, tag);
|
||||
|
||||
if (ignore_check(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
|
||||
level | MSGLEVEL_NO_ACT))
|
||||
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
|
||||
level, MSGLEVEL_NO_ACT))
|
||||
level |= MSGLEVEL_NO_ACT;
|
||||
|
||||
if (ignore_check(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
|
||||
level | MSGLEVEL_HIDDEN))
|
||||
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, msg,
|
||||
level, MSGLEVEL_HIDDEN))
|
||||
level |= MSGLEVEL_HIDDEN;
|
||||
|
||||
format_create_dest_tag(&dest, dcc->server, dcc->servertag, tag,
|
||||
|
|
@ -143,12 +143,12 @@ static void sig_message_dcc_ctcp(CHAT_DCC_REC *dcc, const char *cmd,
|
|||
|
||||
tag = g_strconcat("=", dcc->id, NULL);
|
||||
|
||||
if (ignore_check(SERVER(dcc->server), tag, dcc->addrstr, NULL, cmd,
|
||||
level | MSGLEVEL_NO_ACT))
|
||||
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, cmd,
|
||||
level, MSGLEVEL_NO_ACT))
|
||||
level |= MSGLEVEL_NO_ACT;
|
||||
|
||||
if (ignore_check(SERVER(dcc->server), tag, dcc->addrstr, NULL, cmd,
|
||||
level | MSGLEVEL_HIDDEN))
|
||||
if (ignore_check_flags(SERVER(dcc->server), tag, dcc->addrstr, NULL, cmd,
|
||||
level, MSGLEVEL_HIDDEN))
|
||||
level |= MSGLEVEL_HIDDEN;
|
||||
|
||||
format_create_dest_tag(&dest, dcc->server, dcc->servertag, tag,
|
||||
|
|
|
|||
|
|
@ -158,12 +158,12 @@ static void sig_message_irc_action(IRC_SERVER_REC *server, const char *msg,
|
|||
if (ignore_check(SERVER(server), nick, address, target, msg, level))
|
||||
return;
|
||||
|
||||
if (ignore_check(SERVER(server), nick, address, target, msg,
|
||||
level | MSGLEVEL_NO_ACT))
|
||||
if (ignore_check_flags(SERVER(server), nick, address, target, msg,
|
||||
level, MSGLEVEL_NO_ACT))
|
||||
level |= MSGLEVEL_NO_ACT;
|
||||
|
||||
if (ignore_check(SERVER(server), nick, address, target, msg,
|
||||
level | MSGLEVEL_HIDDEN))
|
||||
if (ignore_check_flags(SERVER(server), nick, address, target, msg,
|
||||
level, MSGLEVEL_HIDDEN))
|
||||
level |= MSGLEVEL_HIDDEN;
|
||||
|
||||
if (server_ischannel(SERVER(server), target)) {
|
||||
|
|
@ -240,14 +240,14 @@ static void sig_message_irc_notice(SERVER_REC *server, const char *msg,
|
|||
msg, level))
|
||||
return;
|
||||
|
||||
if (ignore_check(server, nick, address,
|
||||
if (ignore_check_flags(server, nick, address,
|
||||
server_ischannel(SERVER(server), target) ? target : NULL,
|
||||
msg, level | MSGLEVEL_NO_ACT))
|
||||
msg, level, MSGLEVEL_NO_ACT))
|
||||
level |= MSGLEVEL_NO_ACT;
|
||||
|
||||
if (ignore_check(server, nick, address,
|
||||
if (ignore_check_flags(server, nick, address,
|
||||
server_ischannel(SERVER(server), target) ? target : NULL,
|
||||
msg, level | MSGLEVEL_HIDDEN))
|
||||
msg, level, MSGLEVEL_HIDDEN))
|
||||
level |= MSGLEVEL_HIDDEN;
|
||||
|
||||
if (server_ischannel(SERVER(server), target)) {
|
||||
|
|
|
|||
|
|
@ -162,19 +162,29 @@ static void sig_message_mode(IRC_SERVER_REC *server, const char *channel,
|
|||
const char *nick, const char *addr,
|
||||
const char *mode)
|
||||
{
|
||||
int level = MSGLEVEL_MODES;
|
||||
|
||||
if (nick == NULL) nick = server->real_address;
|
||||
|
||||
if (ignore_check(SERVER(server), nick, addr, channel,
|
||||
mode, MSGLEVEL_MODES))
|
||||
return;
|
||||
|
||||
if (ignore_check_flags(SERVER(server), nick, addr, channel,
|
||||
mode, MSGLEVEL_MODES, MSGLEVEL_NO_ACT))
|
||||
level |= MSGLEVEL_NO_ACT;
|
||||
|
||||
if (ignore_check_flags(SERVER(server), nick, addr, channel,
|
||||
mode, MSGLEVEL_MODES, MSGLEVEL_HIDDEN))
|
||||
level |= MSGLEVEL_HIDDEN;
|
||||
|
||||
if (!server_ischannel(SERVER(server), channel)) {
|
||||
/* user mode change */
|
||||
printformat(server, NULL, MSGLEVEL_MODES,
|
||||
printformat(server, NULL, level,
|
||||
IRCTXT_USERMODE_CHANGE, mode, channel);
|
||||
} else if (addr == NULL) {
|
||||
/* channel mode changed by server */
|
||||
printformat(server, channel, MSGLEVEL_MODES,
|
||||
printformat(server, channel, level,
|
||||
IRCTXT_SERVER_CHANMODE_CHANGE,
|
||||
channel, mode, nick);
|
||||
} else {
|
||||
|
|
@ -187,7 +197,7 @@ static void sig_message_mode(IRC_SERVER_REC *server, const char *channel,
|
|||
if (chanrec != NULL && g_ascii_strcasecmp(nick, server->nick) != 0)
|
||||
msg_multi_mode(chanrec, nick, addr, mode);
|
||||
else {
|
||||
printformat(server, channel, MSGLEVEL_MODES,
|
||||
printformat(server, channel, level,
|
||||
IRCTXT_CHANMODE_CHANGE,
|
||||
channel, mode, nick, addr);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue