1
0
mirror of https://github.com/irssi/irssi.git synced 2024-06-30 06:45:25 +00:00

Highlighting fixes with public messages.

/msg tab completion list growed to size of completion_keep_privates,
the new nicks were removed from list instead of the old nicks.


git-svn-id: http://svn.irssi.org/repos/irssi/trunk@637 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Timo Sirainen 2000-08-29 23:43:59 +00:00 committed by cras
parent 18a0499ce7
commit cf7eb945ea
2 changed files with 14 additions and 13 deletions

View File

@ -50,7 +50,7 @@ static void print_channel_msg(IRC_SERVER_REC *server, const char *msg,
IRC_CHANNEL_REC *chanrec;
NICK_REC *nickrec;
const char *nickmode;
int for_me, print_channel;
int for_me, print_channel, level;
char *color;
chanrec = irc_channel_find(server, target);
@ -67,24 +67,27 @@ static void print_channel_msg(IRC_SERVER_REC *server, const char *msg,
window_item_window((WI_ITEM_REC *) chanrec)->items->next != NULL)
print_channel = TRUE;
level = MSGLEVEL_PUBLIC |
(color != NULL ? MSGLEVEL_HILIGHT :
(for_me ? MSGLEVEL_HILIGHT : MSGLEVEL_NOHILIGHT));
if (!print_channel) {
/* message to active channel in window */
if (color != NULL) {
/* highlighted nick */
printformat(server, target, MSGLEVEL_PUBLIC | MSGLEVEL_HILIGHT,
IRCTXT_PUBMSG_HILIGHT, color, nick, msg, nickmode);
printformat(server, target, level, IRCTXT_PUBMSG_HILIGHT,
color, nick, msg, nickmode);
} else {
printformat(server, target, MSGLEVEL_PUBLIC | (for_me ? MSGLEVEL_HILIGHT : 0),
printformat(server, target, level,
for_me ? IRCTXT_PUBMSG_ME : IRCTXT_PUBMSG, nick, msg, nickmode);
}
} else {
/* message to not existing/active channel */
if (color != NULL) {
/* highlighted nick */
printformat(server, target, MSGLEVEL_PUBLIC | MSGLEVEL_HILIGHT,
IRCTXT_PUBMSG_HILIGHT_CHANNEL, color, nick, target, msg, nickmode);
printformat(server, target, level, IRCTXT_PUBMSG_HILIGHT_CHANNEL,
color, nick, target, msg, nickmode);
} else {
printformat(server, target, MSGLEVEL_PUBLIC | (for_me ? MSGLEVEL_HILIGHT : 0),
printformat(server, target, level,
for_me ? IRCTXT_PUBMSG_ME_CHANNEL : IRCTXT_PUBMSG_CHANNEL,
nick, target, msg, nickmode);
}

View File

@ -139,7 +139,7 @@ static int nick_completion_timeout(void)
{
MODULE_SERVER_REC *mserver;
MODULE_CHANNEL_REC *mchannel;
GSList *tmp, *link;
GSList *tmp;
time_t now;
int len;
@ -153,8 +153,8 @@ static int nick_completion_timeout(void)
mserver = MODULE_DATA(rec);
len = g_slist_length(mserver->lastmsgs);
if (len > 0 && len >= settings_get_int("completion_keep_privates")) {
link = g_slist_last(mserver->lastmsgs);
last_msg_free(mserver, link->data);
/* remove the oldest msg nick. */
last_msg_free(mserver, mserver->lastmsgs->data);
}
}
@ -341,10 +341,8 @@ static GList *convert_msglist(GSList *msglist)
while (msglist != NULL) {
LAST_MSG_REC *rec = msglist->data;
list = g_list_append(list, g_strdup(rec->nick));
list = g_list_append(list, rec->nick);
msglist = g_slist_remove(msglist, rec);
g_free(rec->nick);
g_free(rec);
}