Notices sending to the correct tab
authorDarren <darren@darrenwhitlen.com>
Sat, 27 Aug 2011 20:42:13 +0000 (21:42 +0100)
committerDarren <darren@darrenwhitlen.com>
Sat, 27 Aug 2011 20:42:13 +0000 (21:42 +0100)
js/front.js
node/app.js

index 1c1ec66deaa2c9c9e52132bb394879582d707047..0a63fe7ecea836f75c6ccee7492777b3449f72e0 100644 (file)
@@ -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');
         }
     },
     
index cc2180f15efa46bdd491a2fdac74e2d4bf77e251..f2e74187ce6c4677e0ba4caea8112ff04a651e0d 100644 (file)
@@ -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':