In core/module-formats.h: IRCTXT_ -> TXT_

Added "message irc ctcp" signal to print CTCPs


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1094 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2001-01-07 19:42:59 +00:00 committed by cras
commit 1de2aade40
22 changed files with 344 additions and 328 deletions

View file

@ -34,38 +34,44 @@
#include "window-items.h"
#include "printtext.h"
static void ctcp_print(const char *pre, const char *data,
IRC_SERVER_REC *server, const char *nick,
const char *addr, const char *target)
static void ctcp_print(IRC_SERVER_REC *server,
const char *prefix, const char *data,
const char *nick, const char *addr, const char *target)
{
char *str;
g_return_if_fail(data != NULL);
str = g_strconcat(pre, " ", data, NULL);
printformat(server, ischannel(*target) ? target : nick, MSGLEVEL_CTCPS,
IRCTXT_CTCP_REQUESTED, nick, addr, str, target);
str = *data == '\0' ? g_strdup(prefix) :
g_strconcat(prefix, " ", data, NULL);
signal_emit("message irc ctcp", 5, server, str, nick, addr, target);
g_free(str);
}
static void ctcp_default_msg(IRC_SERVER_REC *server, const char *data, const char *nick, const char *addr, const char *target)
static void ctcp_default_msg(IRC_SERVER_REC *server, const char *data,
const char *nick, const char *addr,
const char *target)
{
ctcp_print("unknown CTCP", data, server, nick, addr, target);
ctcp_print(server, "unknown CTCP", data, nick, addr, target);
}
static void ctcp_ping_msg(IRC_SERVER_REC *server, const char *data, const char *nick, const char *addr, const char *target)
static void ctcp_ping_msg(IRC_SERVER_REC *server, const char *data,
const char *nick, const char *addr,
const char *target)
{
ctcp_print("CTCP PING", data, server, nick, addr, target);
ctcp_print(server, "CTCP PING", data, nick, addr, target);
}
static void ctcp_version_msg(IRC_SERVER_REC *server, const char *data, const char *nick, const char *addr, const char *target)
static void ctcp_version_msg(IRC_SERVER_REC *server, const char *data,
const char *nick, const char *addr,
const char *target)
{
ctcp_print("CTCP VERSION", data, server, nick, addr, target);
ctcp_print(server, "CTCP VERSION", data, nick, addr, target);
}
static void ctcp_time_msg(IRC_SERVER_REC *server, const char *data, const char *nick, const char *addr, const char *target)
static void ctcp_time_msg(IRC_SERVER_REC *server, const char *data,
const char *nick, const char *addr,
const char *target)
{
ctcp_print("CTCP TIME", data, server, nick, addr, target);
ctcp_print(server, "CTCP TIME", data, nick, addr, target);
}
static void ctcp_default_reply(IRC_SERVER_REC *server, const char *data,
@ -87,7 +93,8 @@ static void ctcp_default_reply(IRC_SERVER_REC *server, const char *data,
}
printformat(server, ischannel(*target) ? target : nick, MSGLEVEL_CTCPS,
ischannel(*target) ? IRCTXT_CTCP_REPLY_CHANNEL : IRCTXT_CTCP_REPLY, ctcp, nick, ctcpdata, target);
ischannel(*target) ? IRCTXT_CTCP_REPLY_CHANNEL :
IRCTXT_CTCP_REPLY, ctcp, nick, ctcpdata, target);
g_free(ctcp);
}

View file

@ -25,9 +25,8 @@
#include "irc.h"
/* FIXME: hmm. there's should be some better way to use other module's
formats than this since now we can't use this module's formats.. */
#include "../core/module-formats.h"
#include "module-formats.h"
#include "printtext.h"
#include "fe-messages.h"
@ -45,7 +44,7 @@ static void sig_message_own_public(SERVER_REC *server, const char *msg,
printformat_module("fe-common/core", server, target+1,
MSGLEVEL_PUBLIC | MSGLEVEL_NOHILIGHT |
MSGLEVEL_NO_ACT,
IRCTXT_OWN_MSG_CHANNEL,
TXT_OWN_MSG_CHANNEL,
server->nick, target, msg, nickmode);
signal_stop();
}
@ -63,19 +62,29 @@ static void sig_message_irc_op_public(SERVER_REC *server, const char *msg,
optarget = g_strconcat("@", target, NULL);
printformat_module("fe-common/core", server, target,
MSGLEVEL_PUBLIC | MSGLEVEL_HILIGHT,
IRCTXT_PUBMSG_ME_CHANNEL,
TXT_PUBMSG_ME_CHANNEL,
nick, optarget, msg, nickmode);
g_free(optarget);
}
static void sig_message_irc_ctcp(IRC_SERVER_REC *server, const char *msg,
const char *nick, const char *addr,
const char *target)
{
printformat(server, ischannel(*target) ? target : nick, MSGLEVEL_CTCPS,
IRCTXT_CTCP_REQUESTED, nick, addr, msg, target);
}
void fe_irc_messages_init(void)
{
signal_add("message own_public", (SIGNAL_FUNC) sig_message_own_public);
signal_add("message irc op_public", (SIGNAL_FUNC) sig_message_irc_op_public);
signal_add("message irc ctcp", (SIGNAL_FUNC) sig_message_irc_ctcp);
}
void fe_irc_messages_deinit(void)
{
signal_remove("message own_public", (SIGNAL_FUNC) sig_message_own_public);
signal_remove("message irc op_public", (SIGNAL_FUNC) sig_message_irc_op_public);
signal_remove("message irc ctcp", (SIGNAL_FUNC) sig_message_irc_ctcp);
}