From a5ffcf002cc215fd213bacd4566243594427a678 Mon Sep 17 00:00:00 2001 From: Darren Date: Sat, 27 Aug 2011 21:42:13 +0100 Subject: [PATCH] Notices sending to the correct tab --- js/front.js | 22 +++++++++++++--------- node/app.js | 2 +- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/js/front.js b/js/front.js index 1c1ec66..0a63fe7 100644 --- a/js/front.js +++ b/js/front.js @@ -308,7 +308,11 @@ var front = { if (typeof parts[1] !== "undefined") { var msg_sliced = msg.split(' ').slice(2).join(' '); gateway.msg(parts[1], msg_sliced); - front.cur_channel.addMsg(null, gateway.nick, msg_sliced); + + if (!front.tabviewExists(parts[1])) { + front.tabviewAdd(parts[1]); + } + front.tabviews[parts[1].toLowerCase()].addMsg(null, gateway.nick, msg_sliced); } break; @@ -424,15 +428,15 @@ var front = { }, onNotice: function (e, data) { - var nick = (data.nick === undefined || data.nick === '') ? '' : '[' + data.nick + ']'; - if (data.channel !== undefined) { - if (front.tabviewExists(data.channel)) { - front.tabviews[data.channel.toLowerCase()].addMsg(null, nick, data.msg, 'notice'); - } else { - front.tabviews.server.addMsg(null, nick, data.msg, 'notice'); - } + var nick = (data.nick === undefined) ? '' : data.nick; + var enick = '[' + nick + ']'; + + if (front.tabviewExists(data.target)) { + front.tabviews[data.target.toLowerCase()].addMsg(null, enick, data.msg, 'notice'); + } else if (front.tabviewExists(nick)) { + front.tabviews[nick.toLowerCase()].addMsg(null, enick, data.msg, 'notice'); } else { - front.tabviews.server.addMsg(null, nick, data.msg, 'notice'); + front.tabviews.server.addMsg(null, enick, data.msg, 'notice'); } }, diff --git a/node/app.js b/node/app.js index cc2180f..f2e7418 100644 --- a/node/app.js +++ b/node/app.js @@ -242,7 +242,7 @@ this.parseIRCMessage = function (websocket, ircSocket, data) { // It's a CTCP response websocket.sendClientEvent('ctcp_response', {nick: msg.nick, ident: msg.ident, hostname: msg.hostname, channel: msg.params.trim(), msg: msg.trailing.substr(1, msg.trailing.length - 2)}); } else { - websocket.sendClientEvent('notice', {nick: msg.nick, ident: msg.ident, hostname: msg.hostname, channel: msg.params.trim(), msg: msg.trailing}); + websocket.sendClientEvent('notice', {nick: msg.nick, ident: msg.ident, hostname: msg.hostname, target: msg.params.trim(), msg: msg.trailing}); } break; case 'NICK': -- 2.25.1