]> jfr.im git - irc/quakenet/qwebirc.git/commitdiff
Fix part again.
authorChris Porter <redacted>
Sun, 19 Oct 2008 01:42:24 +0000 (02:42 +0100)
committerChris Porter <redacted>
Sun, 19 Oct 2008 01:42:24 +0000 (02:42 +0100)
js/irc/commandparser.js

index f3dc51edca94c883bf7a9afabe29877c0dfd8206..c4bb4c154c31e78933b6680c30d93cdfb08e3ecc 100644 (file)
@@ -175,12 +175,34 @@ qwebirc.irc.CommandParser = new Class({
     
     this.send("KICK " + channel + " " + target + " :" + message);
   }],
-  cmd_PART: [true, 1, 0, function(args) {
-    var channel = this.parentObject.getActiveWindow().name;
+  cmd_PART: [false, 2, 0, function(args) {
+    var w = this.parentObject.getActiveWindow();
     var message = "";
-
-    if(args)    
-      message = args[0];
+    var channel;
+    
+    if(w.type == qwebirc.ui.WINDOW_STATUS) {
+      if(!args || args.length == 0) {
+        w.errorMessage("Insufficient arguments for command.");
+        return;
+      }
+      channel = args[0];  
+      if(args.length > 1)
+        message = args[1];
+    } else {
+      if(!args || args.length == 0) {
+        channel = w.name;
+      } else {
+        var isChan = args[0].charAt(0) == '#';
+        if(isChan) {
+          channel = args[0];
+          if(args.length > 1)
+            message = args[1];
+        } else {
+          channel = w.name;
+          message = args.join(" ");
+        }
+      }
+    }
     
     this.send("PART " + channel + " :" + message);
   }]