X-Git-Url: https://jfr.im/git/irc/quakenet/qwebirc.git/blobdiff_plain/74ee64b3cdc820cf306a832ff38cb2cfaef97b33..6d3d46b5084c75f074ce9e08ef248ff3586f7685:/js/ui/baseui.js diff --git a/js/ui/baseui.js b/js/ui/baseui.js index e7ef0ea..86145c9 100644 --- a/js/ui/baseui.js +++ b/js/ui/baseui.js @@ -71,7 +71,7 @@ qwebirc.ui.BaseUI = new Class({ if(!this.firstClient) { this.firstClient = true; w.addLine("", "qwebirc v" + qwebirc.VERSION); - w.addLine("", "Copyright (C) 2008-2014 Chris Porter and the qwebirc project."); + w.addLine("", "Copyright (C) 2008-2017 Chris Porter and the qwebirc project."); w.addLine("", "http://www.qwebirc.org"); w.addLine("", "Licensed under the GNU General Public License, Version 2."); } @@ -213,7 +213,8 @@ qwebirc.ui.BaseUI = new Class({ this.postInitialize(); this.addCustomWindow("Connect", qwebirc.ui.ConnectPane, "connectpane", { - initialNickname: initialNickname, initialChannels: initialChannels, autoConnect: autoConnect, networkName: this.options.networkName, callback: callback, autoNick: autoNick + initialNickname: initialNickname, initialChannels: initialChannels, autoConnect: autoConnect, callback: callback, autoNick: autoNick, + uiOptions: this.options }, qwebirc.ui.WINDOW_CONNECT); }, focusChange: function(newValue) { @@ -275,10 +276,12 @@ qwebirc.ui.StandardUI = new Class({ }, __handleHotkey: function(x) { var success = false; - if(!x.alt || x.control) { + if(!x.alt && !x.control && !x.shift && !x.meta) { if((x.key == "backspace" || x.key == "/") && !this.getInputFocused(x)) { success = true; } + } else if(!x.alt || x.control || x.meta) { + /* do nothing */ } else if(x.key == "a" || x.key == "A") { var highestNum = 0; var highestIndex = -1; @@ -293,7 +296,7 @@ qwebirc.ui.StandardUI = new Class({ } if(highestIndex > -1) this.selectWindow(this.windowArray[highestIndex]); - } else if(x.key >= '0' && x.key <= '9') { + } else if((x.key >= '0' && x.key <= '9') && !x.shift) { success = true; number = x.key - '0'; @@ -306,13 +309,14 @@ qwebirc.ui.StandardUI = new Class({ return; this.selectWindow(this.windowArray[number]); - } else if(x.key == "left") { + } else if((x.key == "left" || x.key == "up") && !x.shift) { this.prevWindow(); success = true; - } else if(x.key == "right") { + } else if((x.key == "right" || x.key == "down") && !x.shift) { this.nextWindow(); success = true; } + if(success) { new Event(x).stop(); x.preventDefault(); @@ -403,8 +407,8 @@ qwebirc.ui.StandardUI = new Class({ return null; }, - tabComplete: function(element) { - this.tabCompleter.tabComplete(element); + tabComplete: function(element, backwards) { + this.tabCompleter.tabComplete(element, backwards); }, resetTabComplete: function() { this.tabCompleter.reset(); @@ -491,7 +495,8 @@ qwebirc.ui.QuakeNetUI = new Class({ urlDispatcher: function(name, window) { if(name == "qwhois") { return ["span", function(auth) { - this.client.exec("/MSG Q whois #" + auth); + if($defined(this.parentObject.options.accountWhoisCommand)) + this.client.exec(this.parentObject.options.accountWhoisCommand + auth); }.bind(window)]; } return this.parent(name, window);