-IE7\r
-IE6\r
-ping timeout bug?\r
-opera weirdness\r
+make pretty again.\r
+swmui window bug\r
del /q compiled\*.js\r
\r
cd js\r
-copy version.js + jslib.js + irc\ircconnection.js + irc\irclib.js + irc\baseircclient.js + irc\irctracker.js + irc\commandparser.js + irc\ircclient.js + ui\baseui.js + ui\baseuiwindow.js + ui\colour.js + ui\url.js + ui\theme.js + ui\genericlogin.js + ui\embedwizard.js + qwebircinterface.js + irc\commandhistory.js ..\compiled\qwebirc-concat.js /b\r
-copy ui\swmlayout.js + ui\swmui.js ..\compiled\swmui-concat.js /b\r
+copy qwebirc.js version.js + jslib.js + irc\ircconnection.js + irc\irclib.js + irc\baseircclient.js + irc\irctracker.js + irc\commandparser.js + irc\ircclient.js + ui\baseui.js + ui\baseuiwindow.js + ui\colour.js + ui\url.js + ui\theme.js + ui\genericlogin.js + ui\embedwizard.js + qwebircinterface.js + irc\commandhistory.js ..\compiled\qwebirc-concat.js /b\r
+copy ui\swmui.js + ui\swmlayout.js ..\compiled\swmui-concat.js /b\r
cd ..\compiled\r
\r
java -jar ..\bin\yuicompressor-2.3.5.jar ..\static\js\mochaui\mocha.js > mocha-compressed.js\r
rm -f compiled/*.js
cd js
-cat version.js jslib.js irc/ircconnection.js irc/irclib.js irc/baseircclient.js irc/irctracker.js irc/commandparser.js irc/ircclient.js ui/baseui.js ui/baseuiwindow.js ui/colour.js ui/url.js ui/theme.js ui/genericlogin.js ui/embedwizard.js irc/commandhistory.js qwebircinterface.js > ../compiled/qwebirc-concat.js
-cat ui/swmlayout.js ui/swmui.js > ../compiled/swmui-concat.js
+cat qwebirc.js version.js jslib.js irc/ircconnection.js irc/irclib.js irc/baseircclient.js irc/irctracker.js irc/commandparser.js irc/ircclient.js ui/baseui.js ui/baseuiwindow.js ui/colour.js ui/url.js ui/theme.js ui/genericlogin.js ui/embedwizard.js irc/commandhistory.js qwebircinterface.js > ../compiled/qwebirc-concat.js
+cat ui/swmui.js ui/swmlayout.js > ../compiled/swmui-concat.js
error() {
cd ..
-var Numerics = {"001": "RPL_WELCOME", "433": "ERR_NICKNAMEINUSE", "004": "RPL_MYINFO", "005": "RPL_ISUPPORT", "353": "RPL_NAMREPLY", "366": "RPL_ENDOFNAMES", "331": "RPL_NOTOPIC", "332": "RPL_TOPIC", "333": "RPL_TOPICWHOTIME"};
+qwebirc.irc.Numerics = {"001": "RPL_WELCOME", "433": "ERR_NICKNAMEINUSE", "004": "RPL_MYINFO", "005": "RPL_ISUPPORT", "353": "RPL_NAMREPLY", "366": "RPL_ENDOFNAMES", "331": "RPL_NOTOPIC", "332": "RPL_TOPIC", "333": "RPL_TOPICWHOTIME"};
-var RegisteredCTCPs = {
+qwebirc.irc.RegisteredCTCPs = {
"VERSION": function(x) {
- return "qwebirc v" + QWEBIRC_VERSION + ", copyright (C) Chris Porter 2008 -- user agent: " + Browser.Engine.name + " (" + Browser.Platform.name + ")";
+ return "qwebirc v" + qwebirc.VERSION + ", copyright (C) Chris Porter 2008 -- user agent: " + Browser.Engine.name + " (" + Browser.Platform.name + ")";
},
"USERINFO": function(x) { return "qwebirc"; },
- "TIME": function(x) { return IRCTime(new Date()); },
+ "TIME": function(x) { return qwebirc.irc.IRCTime(new Date()); },
"PING": function(x) { return x; },
"CLIENTINFO": function(x) { return "PING VERSION TIME USERINFO CLIENTINFO"; }
};
-var BaseIRCClient = new Class({
+qwebirc.irc.BaseIRCClient = new Class({
Implements: [Options],
options: {
- nickname: "WCunset"
+ nickname: "qwebirc"
},
initialize: function(options) {
this.setOptions(options);
this.channels = {}
this.nextctcp = 0;
- this.connection = new IRCConnection({initialNickname: this.nickname, onRecv: this.dispatch.bind(this)});
+ this.connection = new qwebirc.irc.IRCConnection({initialNickname: this.nickname, onRecv: this.dispatch.bind(this)});
this.send = this.connection.send.bind(this.connection);
this.connect = this.connection.connect.bind(this.connection);
var prefix = data[2];
var sl = data[3];
- var n = Numerics[command];
+ var n = qwebirc.irc.Numerics[command];
var x = n;
if(!n)
if(ctcp) {
var type = ctcp[0].toUpperCase();
- var replyfn = RegisteredCTCPs[type];
+ var replyfn = qwebirc.irc.RegisteredCTCPs[type];
if(replyfn) {
var t = new Date().getTime() / 1000;
if(t > this.nextctcp)
-var CommandHistory = new Class({
+qwebirc.irc.CommandHistory = new Class({
Implements: [Options],
options: {
lines: 20
-var CommandParser = new Class({
+qwebirc.irc.CommandParser = new Class({
initialize: function(parentObject) {
this.aliases = {
"J": "JOIN",
-var IRCClient = new Class({
- Extends: BaseIRCClient,
+qwebirc.irc.IRCClient = new Class({
+ Extends: qwebirc.irc.BaseIRCClient,
options: {
- nickname: "WCunset",
+ nickname: "qwebirc",
autojoin: ""
},
initialize: function(options, ui) {
this.modeprefixes = "ov";
this.windows = {};
- this.commandparser = new CommandParser(this);
+ this.commandparser = new qwebirc.irc.CommandParser(this);
this.exec = this.commandparser.dispatch.bind(this.commandparser);
this.statusWindow = this.ui.newClient(this);
this.newServerLine("RAW", {"n": "numeric", "m": params.slice(1).join(" ")});
},
signedOn: function(nickname) {
- this.tracker = new IRCTracker();
+ this.tracker = new qwebirc.irc.IRCTracker();
this.nickname = nickname;
this.newServerLine("SIGNON");
/* This could do with a rewrite from scratch. */
-var IRCConnection = new Class({
+qwebirc.irc.IRCConnection = new Class({
Implements: [Events, Options],
options: {
initialNickname: "ircconnX",
-var IRCLowerTable = [
+qwebirc.irc.IRCLowerTable = [
/* x00-x07 */ '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07',
/* x08-x0f */ '\x08', '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f',
/* x10-x17 */ '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17',
for(var i=0;i<x.length;i++) {
var l = x.charCodeAt(i);
- p.push(IRCLowerTable[l]);
+ p.push(qwebirc.irc.IRCLowerTable[l]);
}
return p.join("");
return this.split("!", 2)[1];
}
-function IRCTimestamp(d) {
+qwebirc.irc.IRCTimestamp = function(d) {
function pad(x) {
x = "" + x;
if(x.length == 1)
return "[" + pad(d.getHours()) + ":" + pad(d.getMinutes()) + "]";
}
-var DaysOfWeek = {
- 0: "Sun",
- 1: "Mon",
- 2: "Tue",
- 3: "Wed",
- 4: "Thu",
- 5: "Fri",
- 6: "Sat"
-};
-
-var MonthsOfYear = {
- 0: "Jan",
- 1: "Feb",
- 2: "Mar",
- 3: "Apr",
- 4: "May",
- 5: "Jun",
- 6: "Jul",
- 7: "Aug",
- 8: "Sep",
- 9: "Oct",
- 10: "Nov",
- 11: "Dec"
-};
-
-function IRCDate(d) {
- return DaysOfWeek[d.getDay()] + " " + MonthsOfYear[d.getMonth()] + " " + pad(d.getDate()) + " " + pad(d.getHours()) + ":" + pad(d.getMinutes()) + ":" + pad(d.getSeconds()) + " " + d.getFullYear();
+qwebirc.irc.IRCDate = function(d) {
+ return qwebirc.util.DaysOfWeek[d.getDay()] + " " + qwebirc.util.MonthsOfYear[d.getMonth()] + " " + pad(d.getDate()) + " " + pad(d.getHours()) + ":" + pad(d.getMinutes()) + ":" + pad(d.getSeconds()) + " " + d.getFullYear();
}
\ No newline at end of file
-function NickChanEntry() {
+qwebirc.irc.NickChanEntry = function() {
this.prefixes = "";
}
-var IRCTracker = new Class({
+qwebirc.irc.IRCTracker = new Class({
initialize: function() {
this.channels = {};
this.nicknames = {};
return nc;
},
addNickToChannel: function(nick, channel) {
- var nc = new NickChanEntry();
+ var nc = new qwebirc.irc.NickChanEntry();
var n = this.getOrCreateNick(nick);
n[channel] = nc;
+++ /dev/null
-QWEBIRC_VERSION = "0.01";
return newitems;
}
-function setAtEnd(obj) {
+qwebirc.util.setAtEnd = function(obj) {
pos = obj.value.length;
if(obj.createTextRange) {
}
/* returns the arguments */
-function parseURI(uri) {
+qwebirc.util.parseURI = function(uri) {
var result = {}
var start = uri.indexOf('?');
return result;
}
-function BrowserVersion() {
- if(Browser.Engine.trident) {
- if(Browser.Engine.version == '4')
- return 'ie6';
- if(Browser.Engine.version == '5')
- return 'ie7';
- }
- return null;
-}
\ No newline at end of file
+qwebirc.util.DaysOfWeek = {
+ 0: "Sun",
+ 1: "Mon",
+ 2: "Tue",
+ 3: "Wed",
+ 4: "Thu",
+ 5: "Fri",
+ 6: "Sat"
+};
+
+qwebirc.util.MonthsOfYear = {
+ 0: "Jan",
+ 1: "Feb",
+ 2: "Mar",
+ 3: "Apr",
+ 4: "May",
+ 5: "Jun",
+ 6: "Jul",
+ 7: "Aug",
+ 8: "Sep",
+ 9: "Oct",
+ 10: "Nov",
+ 11: "Dec"
+};
--- /dev/null
+var qwebirc = {"ui": {"themes": {}}, "irc": {}, "util": {}};
-var QWebIRCInterface = new Class({
+qwebirc.ui.Interface = new Class({
Implements: [Options],
options: {
initialNickname: "qwebirc" + Math.ceil(Math.random() * 100000),
this.setOptions(options);
window.addEvent("domready", function() {
- var ui_ = new ui($(element), new Theme(this.options.theme));
+ var ui_ = new ui($(element), new qwebirc.ui.Theme(this.options.theme));
var inick = this.options.initialNickname;
var ichans = this.options.initialChannels;
var autoNick = true;
var callback = function(options) {
- var IRC = new IRCClient(options, ui_);
+ var IRC = new qwebirc.irc.IRCClient(options, ui_);
IRC.connect();
window.addEvent("beforeunload", function() {
IRC.quit("Page closed");
var supplied = false;
if(this.options.searchURL) {
- var args = parseURI(String(document.location));
+ var args = qwebirc.util.parseURI(String(document.location));
var chans = args["channels"];
var nick = args["nick"];
/* don't even attempt to use a $! */
-var DefaultTheme = {
+qwebirc.ui.theme.Default = {
"PREFIX": ["$C4==$O "],
"SIGNON": ["Signed on!", true],
"CONNECT": ["Connected to server.", true],
-var WINDOW_STATUS = 1;
-var WINDOW_QUERY = 2;
-var WINDOW_CHANNEL = 3;
-var WINDOW_CUSTOM = 4;
-var WINDOW_CONNECT = 5;
-var CUSTOM_CLIENT = "custom";
+qwebirc.ui.WINDOW_STATUS = 1;
+qwebirc.ui.WINDOW_QUERY = 2;
+qwebirc.ui.WINDOW_CHANNEL = 3;
+qwebirc.ui.WINDOW_CUSTOM = 4;
+qwebirc.ui.WINDOW_CONNECT = 5;
+qwebirc.ui.CUSTOM_CLIENT = "custom";
-var BaseUI = new Class({
+qwebirc.ui.BaseUI = new Class({
Implements: [Events, Options],
options: {
appTitle: "QuakeNet Web IRC",
this.setOptions(options);
this.windows = {};
- this.windows[CUSTOM_CLIENT] = {};
+ this.windows[qwebirc.ui.CUSTOM_CLIENT] = {};
this.windowArray = [];
this.windowClass = windowClass;
this.parentElement = parentElement;
this.parentElement.addClass("qwebirc");
this.parentElement.addClass("qwebirc-" + uiName);
this.firstClient = false;
- this.commandhistory = new CommandHistory();
+ this.commandhistory = new qwebirc.irc.CommandHistory();
},
newClient: function(client) {
this.windows[client] = {}
- var w = this.newWindow(client, WINDOW_STATUS, "Status");
+ var w = this.newWindow(client, qwebirc.ui.WINDOW_STATUS, "Status");
this.selectWindow(w);
if(!this.firstClient) {
this.firstClient = true;
- w.addLine("", "qwebirc v" + QWEBIRC_VERSION);
+ w.addLine("", "qwebirc v" + qwebirc.VERSION);
w.addLine("", "Copyright (C) 2008 Chris Porter. All rights reserved.");
w.addLine("", "http://webchat.quakenet.org/");
w.addLine("", "This is BETA quality software, please report bugs to slug@quakenet.org");
},
newWindow: function(client, type, name) {
var identifier = name;
- if(type == WINDOW_STATUS)
+ if(type == qwebirc.ui.WINDOW_STATUS)
identifier = "";
var w = this.windows[client][identifier] = new this.windowClass(this, client, type, name, identifier);
tricked into getting themselves glined
*/
loginBox: function(callback, initialNickname, initialChannels, autoConnect, autoNick) {
- GenericLoginBox(this.parentElement, callback, initialNickname, initialChannels, autoConnect, autoNick);
+ qwebirc.ui.GenericLoginBox(this.parentElement, callback, initialNickname, initialChannels, autoConnect, autoNick);
}
});
-var UI = new Class({
- Extends: BaseUI,
+qwebirc.ui.StandardUI = new Class({
+ Extends: qwebirc.ui.BaseUI,
initialize: function(parentElement, windowClass, uiName, options) {
this.parent(parentElement, windowClass, uiName, options);
window.addEvent("keydown", function(x) {
},
newCustomWindow: function(name, select, type) {
if(!type)
- type = WINDOW_CUSTOM;
+ type = qwebirc.ui.WINDOW_CUSTOM;
- var w = this.newWindow(CUSTOM_CLIENT, type, name);
+ var w = this.newWindow(qwebirc.ui.CUSTOM_CLIENT, type, name);
w.addEvent("close", function(w) {
delete this.windows[name];
}.bind(this));
this.embedded = null;
}.bind(this));
- var ew = new WebmasterGuide({parent: this.embedded.lines});
+ var ew = new qwebirc.ui.EmbedWizard({parent: this.embedded.lines});
ew.addEvent("close", function() {
this.embedded.close();
}.bind(this));
}
});
-var NewLoginUI = new Class({
- Extends: UI,
+qwebirc.ui.NewLoginUI = new Class({
+ Extends: qwebirc.ui.StandardUI,
loginBox: function(callbackfn, initialNickname, initialChannels, autoConnect, autoNick) {
this.postInitialize();
- var w = this.newCustomWindow("Connect", true, WINDOW_CONNECT);
+ var w = this.newCustomWindow("Connect", true, qwebirc.ui.WINDOW_CONNECT);
var callback = function(args) {
w.close();
callbackfn(args);
};
- GenericLoginBox(w.lines, callback, initialNickname, initialChannels, autoConnect, autoNick);
+ qwebirc.ui.GenericLoginBox(w.lines, callback, initialNickname, initialChannels, autoConnect, autoNick);
}
});
-var UIWindow = new Class({
+qwebirc.ui.Window = new Class({
Implements: [Events],
initialize: function(parentObject, client, type, name, identifier) {
this.parentObject = parentObject;
if(type)
line = this.parentObject.theme.message(type, line);
- Colourise(IRCTimestamp(new Date()) + " " + line, element, this.client.exec, this.parentObject.urlDispatcher.bind(this.parentObject));
+ qwebirc.ui.Colourise(qwebirc.irc.IRCTimestamp(new Date()) + " " + line, element, this.client.exec, this.parentObject.urlDispatcher.bind(this.parentObject));
this.scrollAdd(element);
},
-function Colourise(line, entity, execfn, cmdfn) {
+qwebirc.ui.Colourise = function(line, entity, execfn, cmdfn) {
var fg;
var bg;
var underline = false;
function emitEndToken() {
if(out.length > 0) {
- urlificate(element, out.join(""), execfn, cmdfn);
+ qwebirc.ui.urlificate(element, out.join(""), execfn, cmdfn);
entity.appendChild(element);
out = [];
}
}
emitEndToken();
-}
\ No newline at end of file
+}
-var WebmasterGuideStep = new Class({
+qwebirc.ui.EmbedWizardStep = new Class({
Implements: [Options, Events],
options: {
"title": "",
}
});
-var WebmasterGuide = new Class({
+qwebirc.ui.EmbedWizard = new Class({
Implements: [Options, Events],
options: {
parent: null,
return cell;
},
newStep: function(options) {
- return new WebmasterGuideStep(this, options);
+ return new qwebirc.ui.EmbedWizardStep(this, options);
},
newRadio: function(parent, text, name, selected) {
var p = new Element("div");
-function GenericLoginBox(parentElement, callback, initialNickname, initialChannels, autoConnect, autoNick) {
+qwebirc.ui.GenericLoginBox = function(parentElement, callback, initialNickname, initialChannels, autoConnect, autoNick) {
if(autoConnect) {
- ConfirmBox(parentElement, callback, initialNickname, initialChannels, autoNick);
+ qwebirc.ui.ConfirmBox(parentElement, callback, initialNickname, initialChannels, autoNick);
} else {
- LoginBox(parentElement, callback, initialNickname, initialChannels);
+ qwebirc.ui.LoginBox(parentElement, callback, initialNickname, initialChannels);
}
-
}
-function ConfirmBox(parentElement, callback, initialNickname, initialChannels, autoNick) {
+qwebirc.ui.ConfirmBox = function(parentElement, callback, initialNickname, initialChannels, autoNick) {
var box = new Element("table");
box.addClass("confirmbox");
parentElement.appendChild(box);
});
}
-function LoginBox(parentElement, callback, initialNickname, initialChannels) {
+qwebirc.ui.LoginBox = function(parentElement, callback, initialNickname, initialChannels) {
var box = new Element("table");
parentElement.appendChild(box);
box.addClass("loginbox");
-var QMochaUIWindow = new Class({
- Extends: UIWindow,
+qwebirc.ui.MochaUI = new Class({
+ Extends: qwebirc.ui.NewLoginUI,
+ initialize: function(parentElement, theme) {
+ this.parent(parentElement, qwebirc.ui.MochaUI.Window, "mochaui");
+ this.theme = theme;
+ this.parentElement = parentElement;
+
+ window.addEvent("domready", function() {
+ /* determine input size */
+ var l = new Element("input", {styles: {border: 0}});
+ this.parentElement.appendChild(l);
+ this.inputHeight = l.getSize().y;
+ this.parentElement.removeChild(l);
+
+ MochaUI.Desktop = new MochaUI.Desktop();
+ MochaUI.Dock = new MochaUI.Dock({
+ dockPosition: "top"
+ });
+
+ MochaUI.Modal = new MochaUI.Modal();
+ MochaUI.options.useEffects = false;
+ }.bind(this));
+
+ window.addEvent("unload", function() {
+ if(MochaUI)
+ MochaUI.garbageCleanUp();
+ });
+ },
+ postInitialize: function() {
+ return;
+ this.tabs = new Element("div");
+ this.tabs.addClass("tabbar");
+
+ this.parentElement.appendChild(this.tabs);
+
+ this.container = new Element("div");
+ this.container.addClass("container");
+
+ this.parentElement.appendChild(this.container);
+
+ var form = new Element("form");
+ var inputbox = new Element("input");
+ inputbox.addClass("input");
+
+ form.addEvent("submit", function(e) {
+ new Event(e).stop();
+
+ this.getActiveWindow().client.exec(inputbox.value);
+ inputbox.value = "";
+ }.bind(this));
+ this.parentElement.appendChild(form);
+ form.appendChild(inputbox);
+ inputbox.focus();
+ }
+});
+
+qwebirc.ui.MochaUI.Window = new Class({
+ Extends: qwebirc.ui.Window,
initialize: function(parentObject, client, type, name) {
this.parent(parentObject, client, type, name);
this.lines = new Element("div", {styles: {overflow: "auto", "width": "90"}});
- var toolbar = type != WINDOW_CUSTOM && type != WINDOW_CONNECT;
+ var toolbar = (type != qwebirc.ui.WINDOW_CUSTOM) && (type != qwebirc.ui.WINDOW_CONNECT);
if(toolbar) {
this.form = new Element("form");
parentObject.selectWindow(this);
}.bind(this),
onClose: function() {
- if(type == WINDOW_CHANNEL)
+ if(type == qwebirc.ui.WINDOW_CHANNEL)
this.client.exec("/PART " + name);
this.close();
}.bind(this)
};
prefs.toolbar = toolbar;
- prefs.closable = type != WINDOW_STATUS && type != WINDOW_CONNECT;
+ prefs.closable = type != qwebirc.ui.WINDOW_STATUS && type != qwebirc.ui.WINDOW_CONNECT;
/* HACK */
/* var oldIndexLevel = MochaUI.Windows.indexLevel;
MochaUI.closeWindow(this.window.windowEl);
},
});
-
-var QMochaUI = new Class({
- Extends: NewLoginUI,
- initialize: function(parentElement, theme) {
- this.parent(parentElement, QMochaUIWindow, "mochaui");
- this.theme = theme;
- this.parentElement = parentElement;
-
- window.addEvent("domready", function() {
- /* determine input size */
- var l = new Element("input", {styles: {border: 0}});
- this.parentElement.appendChild(l);
- this.inputHeight = l.getSize().y;
- this.parentElement.removeChild(l);
-
- MochaUI.Desktop = new MochaUI.Desktop();
- MochaUI.Dock = new MochaUI.Dock({
- dockPosition: "top"
- });
-
- MochaUI.Modal = new MochaUI.Modal();
- MochaUI.options.useEffects = false;
- }.bind(this));
-
- window.addEvent("unload", function() {
- if(MochaUI)
- MochaUI.garbageCleanUp();
- });
- },
- postInitialize: function() {
- return;
- this.tabs = new Element("div");
- this.tabs.addClass("tabbar");
-
- this.parentElement.appendChild(this.tabs);
-
- this.container = new Element("div");
- this.container.addClass("container");
-
- this.parentElement.appendChild(this.container);
-
- var form = new Element("form");
- var inputbox = new Element("input");
- inputbox.addClass("input");
-
- form.addEvent("submit", function(e) {
- new Event(e).stop();
-
- this.getActiveWindow().client.exec(inputbox.value);
- inputbox.value = "";
- }.bind(this));
- this.parentElement.appendChild(form);
- form.appendChild(inputbox);
- inputbox.focus();
- }
-});
-var QJSUI = new Class({
+qwebirc.ui.QUI = new Class({
+ Extends: qwebirc.ui.NewLoginUI,
+ initialize: function(parentElement, theme) {
+ this.parent(parentElement, qwebirc.ui.QUI.Window, "qui");
+ this.theme = theme;
+ this.parentElement = parentElement;
+ },
+ postInitialize: function() {
+ this.qjsui = new qwebirc.ui.QUI.JSUI("qwebirc-qui", this.parentElement);
+
+ this.qjsui.top.addClass("tabbar");
+
+ this.qjsui.bottom.addClass("input");
+ this.qjsui.right.addClass("nicklist");
+ this.qjsui.topic.addClass("topic");
+ this.qjsui.middle.addClass("lines");
+
+ this.tabs = this.qjsui.top;
+ this.origtopic = this.topic = this.qjsui.topic;
+ this.origlines = this.lines = this.qjsui.middle;
+ this.orignicklist = this.nicklist = this.qjsui.right;
+
+ this.input = this.qjsui.bottom;
+ this.reflow = this.qjsui.reflow.bind(this.qjsui);
+
+ this.createInput();
+ this.reflow();
+ },
+ createInput: function() {
+ var form = new Element("form");
+ this.input.appendChild(form);
+ form.addClass("input");
+
+ var inputbox = new Element("input");
+ form.appendChild(inputbox);
+ this.inputbox = inputbox;
+
+ form.addEvent("submit", function(e) {
+ new Event(e).stop();
+
+ if(inputbox.value == "")
+ return;
+
+ this.getActiveWindow().historyExec(inputbox.value);
+ inputbox.value = "";
+ }.bind(this));
+
+ inputbox.addEvent("keydown", function(e) {
+ var resultfn;
+ var cvalue = inputbox.value;
+
+ if(e.key == "up") {
+ resultfn = this.commandhistory.upLine;
+ } else if(e.key == "down") {
+ resultfn = this.commandhistory.downLine;
+ } else {
+ return;
+ }
+
+ if((cvalue != "") && (this.lastcvalue != cvalue))
+ this.commandhistory.addLine(cvalue, true);
+
+ var result = resultfn.bind(this.commandhistory)();
+
+ new Event(e).stop();
+ if(!result)
+ result = "";
+ this.lastcvalue = result;
+
+ inputbox.value = result;
+ setAtEnd(inputbox);
+ }.bind(this));
+ },
+ setLines: function(lines) {
+ this.lines.parentNode.replaceChild(lines, this.lines);
+ this.qjsui.middle = this.lines = lines;
+ },
+ setChannelItems: function(nicklist, topic) {
+ if(!$defined(nicklist)) {
+ nicklist = this.orignicklist;
+ topic = this.origtopic;
+ }
+ this.nicklist.parentNode.replaceChild(nicklist, this.nicklist);
+ this.qjsui.right = this.nicklist = nicklist;
+
+ this.topic.parentNode.replaceChild(topic, this.topic);
+ this.qjsui.topic = this.topic = topic;
+ }
+});
+
+qwebirc.ui.QUI.JSUI = new Class({
initialize: function(class_, parent, sizer) {
this.parent = parent;
this.sizer = $defined(sizer)?sizer:parent;
}
});
-var QUIWindow = new Class({
- Extends: UIWindow,
+qwebirc.ui.QUI.Window = new Class({
+ Extends: qwebirc.ui.Window,
initialize: function(parentObject, client, type, name) {
this.parent(parentObject, client, type, name);
parentObject.selectWindow(this);
}.bind(this));
- if(type != WINDOW_STATUS && type != WINDOW_CONNECT) {
- tabclose = new Element("span");
+ if(type != qwebirc.ui.WINDOW_STATUS && type != qwebirc.ui.WINDOW_CONNECT) {
+ var tabclose = new Element("span");
+ tabclose.set("text", "X");
tabclose.addClass("tabclose");
tabclose.addEvent("click", function(e) {
new Event(e).stop();
- if(type == WINDOW_CHANNEL)
+ if(type == qwebirc.ui.WINDOW_CHANNEL)
this.client.exec("/PART " + name);
this.close();
this.scrolleddown = this.scrolledDown();
}.bind(this));
- if(type == WINDOW_CHANNEL) {
+ if(type == qwebirc.ui.WINDOW_CHANNEL) {
this.topic = new Element("div");
this.topic.addClass("topic");
this.topic.addClass("tab-invisible");
this.parentObject.qjsui.applyClasses("nicklist", this.nicklist);
}
- if(type == WINDOW_CHANNEL) {
+ if(type == qwebirc.ui.WINDOW_CHANNEL) {
this.updateTopic("");
} else {
this.reflow();
this.reflow();
},
select: function() {
- var inputVisible = this.type != WINDOW_CONNECT && this.type != WINDOW_CUSTOM;
+ var inputVisible = this.type != qwebirc.ui.WINDOW_CONNECT && this.type != qwebirc.ui.WINDOW_CUSTOM;
this.tab.removeClass("tab-unselected");
this.tab.addClass("tab-selected");
}
}
});
-
-var QUI = new Class({
- Extends: NewLoginUI,
- initialize: function(parentElement, theme) {
- this.parent(parentElement, QUIWindow, "qui");
- this.theme = theme;
- this.parentElement = parentElement;
- },
- postInitialize: function() {
- this.qjsui = new QJSUI("qwebirc-qui", this.parentElement);
-
- this.qjsui.top.addClass("tabbar");
-
- this.qjsui.bottom.addClass("input");
- this.qjsui.right.addClass("nicklist");
- this.qjsui.topic.addClass("topic");
- this.qjsui.middle.addClass("lines");
-
- this.tabs = this.qjsui.top;
- this.origtopic = this.topic = this.qjsui.topic;
- this.origlines = this.lines = this.qjsui.middle;
- this.orignicklist = this.nicklist = this.qjsui.right;
-
- this.input = this.qjsui.bottom;
- this.reflow = this.qjsui.reflow.bind(this.qjsui);
-
- this.createInput();
- this.reflow();
- },
- createInput: function() {
- var form = new Element("form");
- this.input.appendChild(form);
- form.addClass("input");
-
- var inputbox = new Element("input");
- form.appendChild(inputbox);
- this.inputbox = inputbox;
-
- form.addEvent("submit", function(e) {
- new Event(e).stop();
-
- if(inputbox.value == "")
- return;
-
- this.getActiveWindow().historyExec(inputbox.value);
- inputbox.value = "";
- }.bind(this));
-
- inputbox.addEvent("keydown", function(e) {
- var resultfn;
- var cvalue = inputbox.value;
-
- if(e.key == "up") {
- resultfn = this.commandhistory.upLine;
- } else if(e.key == "down") {
- resultfn = this.commandhistory.downLine;
- } else {
- return;
- }
-
- if((cvalue != "") && (this.lastcvalue != cvalue))
- this.commandhistory.addLine(cvalue, true);
-
- var result = resultfn.bind(this.commandhistory)();
-
- new Event(e).stop();
- if(!result)
- result = "";
- this.lastcvalue = result;
-
- inputbox.value = result;
- setAtEnd(inputbox);
- }.bind(this));
- },
- setLines: function(lines) {
- this.lines.parentNode.replaceChild(lines, this.lines);
- this.qjsui.middle = this.lines = lines;
- },
- setChannelItems: function(nicklist, topic) {
- if(!$defined(nicklist)) {
- nicklist = this.orignicklist;
- topic = this.origtopic;
- }
- this.nicklist.parentNode.replaceChild(nicklist, this.nicklist);
- this.qjsui.right = this.nicklist = nicklist;
-
- this.topic.parentNode.replaceChild(topic, this.topic);
- this.qjsui.topic = this.topic = topic;
- }
-});
-var SWM_ANCHOR_NONE = 0x00;
-var SWM_ANCHOR_TOP = 0x01;
-var SWM_ANCHOR_BOTTOM = 0x02;
-var SWM_ANCHOR_LEFT = 0x04;
-var SWM_ANCHOR_RIGHT = 0x08;
+qwebirc.ui.SWMUI.SWM_ANCHOR_NONE = 0x00;
+qwebirc.ui.SWMUI.SWM_ANCHOR_TOP = 0x01;
+qwebirc.ui.SWMUI.SWM_ANCHOR_BOTTOM = 0x02;
+qwebirc.ui.SWMUI.SWM_ANCHOR_LEFT = 0x04;
+qwebirc.ui.SWMUI.SWM_ANCHOR_RIGHT = 0x08;
-var SWMContainer = new Class({
+qwebirc.ui.SWMUI.Container = new Class({
initialize: function(parentElement) {
this.parentElement = parentElement;
},
});
}
- var top = anchorFilter(x, SWM_ANCHOR_TOP);
- var bottom = anchorFilter(x, SWM_ANCHOR_BOTTOM);
- var left = anchorFilter(x, SWM_ANCHOR_LEFT);
- var right = anchorFilter(x, SWM_ANCHOR_RIGHT);
- var none = anchorFilter(x, SWM_ANCHOR_NONE);
+ var top = anchorFilter(x, qwebirc.ui.SWMUI.SWM_ANCHOR_TOP);
+ var bottom = anchorFilter(x, qwebirc.ui.SWMUI.SWM_ANCHOR_BOTTOM);
+ var left = anchorFilter(x, qwebirc.ui.SWMUI.SWM_ANCHOR_LEFT);
+ var right = anchorFilter(x, qwebirc.ui.SWMUI.SWM_ANCHOR_RIGHT);
+ var none = anchorFilter(x, qwebirc.ui.SWMUI.SWM_ANCHOR_NONE);
var x = this.getInnerSize();
var y = this.getOuterSize();
}
});
-var SWMFrame = new Class({
- Extends: SWMContainer,
+qwebirc.ui.SWMUI.Frame = new Class({
+ Extends: qwebirc.ui.SWMUI.Container,
initialize: function(parentElement) {
this.parent(this);
}
});
-var SWMPanel = new Class({
- Extends: SWMContainer,
+qwebirc.ui.SWMUI.Panel = new Class({
+ Extends: qwebirc.ui.SWMUI.Container,
initialize: function(parentPanel, hidden) {
this.parent(parentPanel);
this.element = new Element("div", {"styles": {
}
parentPanel.element.appendChild(this.element);
- this.anchor = SWM_ANCHOR_NONE;
+ this.anchor = qwebirc.ui.SWMUI.SWM_ANCHOR_NONE;
},
setHeight: function(height) {
this.height = height;
-var SWMUIWindow = new Class({
- Extends: UIWindow,
+qwebirc.ui.SWMUI = new Class({
+ Extends: qwebirc.ui.NewLoginUI,
+ initialize: function(parentElement, theme) {
+ this.parent(parentElement, qwebirc.ui.SWMUI.Window, "swmui");
+
+ this.parentElement = parentElement;
+ this.theme = theme;
+ },
+ postInitialize: function() {
+ this.rootFrame = new qwebirc.ui.SWMUI.Frame(this.parentElement);
+
+ this.tabPanel = new qwebirc.ui.SWMUI.Panel(this.rootFrame);
+ this.tabPanel.anchor = qwebirc.ui.SWMUI.SWM_ANCHOR_TOP;
+ this.tabPanel.addClass("tabs");
+
+ this.mainPanel = new qwebirc.ui.SWMUI.Panel(this.rootFrame);
+ this.mainPanel.addClass("main");
+
+ this.entryPanel = new qwebirc.ui.SWMUI.Panel(this.rootFrame);
+ this.entryPanel.anchor = qwebirc.ui.SWMUI.SWM_ANCHOR_BOTTOM;
+ this.entryPanel.addClass("entry");
+
+ var form = new Element("form");
+
+ var inputbox = new Element("input");
+ inputbox.setStyle("border", "0px");
+
+ window.addEvent("resize", function() {
+ var s = this.entryPanel.getInnerSize().x;
+ inputbox.setStyle("width", s + "px");
+ }.bind(this));
+
+ form.addEvent("submit", function(e) {
+ new Event(e).stop();
+
+ this.getActiveWindow().client.exec(inputbox.value);
+ inputbox.value = "";
+ }.bind(this));
+
+ this.entryPanel.appendChild(form);
+ form.appendChild(inputbox);
+ inputbox.focus();
+
+ this.resize();
+ },
+ showInput: function(state) {
+ this.entryPanel.setHidden(state);
+ this.resize();
+ },
+ resize: function() {
+ window.fireEvent("resize");
+ }
+});
+
+qwebirc.ui.SWMUI.Window = new Class({
+ Extends: qwebirc.ui.Window,
initialize: function(parentObject, client, type, name) {
this.parent(parentObject, client, type, name);
- this.contentPanel = new SWMPanel(parentObject.mainPanel, true);
+ this.contentPanel = new qwebirc.ui.SWMUI.Panel(parentObject.mainPanel, true);
this.contentPanel.addClass("content");
- if(type == WINDOW_CHANNEL) {
- this.nickList = new SWMPanel(this.contentPanel);
- this.nickList.anchor = SWM_ANCHOR_RIGHT;
+ if(type == qwebirc.ui.WINDOW_CHANNEL) {
+ this.nickList = new qwebirc.ui.SWMUI.Panel(this.contentPanel);
+ this.nickList.anchor = qwebirc.ui.SWMUI.SWM_ANCHOR_RIGHT;
this.nickList.addClass("nicklist");
- this.topic = new SWMPanel(this.contentPanel);
- this.topic.anchor = SWM_ANCHOR_TOP;
+ this.topic = new qwebirc.ui.SWMUI.Panel(this.contentPanel);
+ this.topic.anchor = qwebirc.ui.SWMUI.SWM_ANCHOR_TOP;
this.topic.addClass("topic");
}
- this.xlines = new SWMPanel(this.contentPanel);
+ this.xlines = new qwebirc.ui.SWMUI.Panel(this.contentPanel);
this.lines = this.xlines.element;
this.tab = new Element("span");
parentObject.tabPanel.appendChild(this.tab);
parentObject.resize();
- if(type != WINDOW_STATUS && type != WINDOW_CONNECT) {
+ if(type != qwebirc.ui.WINDOW_STATUS && type != qwebirc.ui.WINDOW_CONNECT) {
tabclose = new Element("span");
tabclose.addClass("tabclose");
tabclose.addEvent("click", function(e) {
new Event(e).stop();
- if(type == WINDOW_CHANNEL)
+ if(type == qwebirc.ui.WINDOW_CHANNEL)
this.client.exec("/PART " + name);
this.close();
this.parentObject.resize();
this.tab.removeClass("tab-unselected");
this.tab.addClass("tab-selected");
- this.parentObject.showInput(this.type == WINDOW_CONNECT || this.type == WINDOW_CUSTOM);
+ this.parentObject.showInput(this.type == qwebirc.ui.WINDOW_CONNECT || this.type == qwebirc.ui.WINDOW_CUSTOM);
},
deselect: function() {
this.parent();
}
}
});
-
-var SWMUI = new Class({
- Extends: NewLoginUI,
- initialize: function(parentElement, theme) {
- this.parent(parentElement, SWMUIWindow, "swmui");
-
- this.parentElement = parentElement;
- this.theme = theme;
- },
- postInitialize: function() {
- this.rootFrame = new SWMFrame(this.parentElement);
-
- this.tabPanel = new SWMPanel(this.rootFrame);
- this.tabPanel.anchor = SWM_ANCHOR_TOP;
- this.tabPanel.addClass("tabs");
-
- this.mainPanel = new SWMPanel(this.rootFrame);
- this.mainPanel.addClass("main");
-
- this.entryPanel = new SWMPanel(this.rootFrame);
- this.entryPanel.anchor = SWM_ANCHOR_BOTTOM;
- this.entryPanel.addClass("entry");
-
- var form = new Element("form");
-
- var inputbox = new Element("input");
- inputbox.setStyle("border", "0px");
-
- window.addEvent("resize", function() {
- var s = this.entryPanel.getInnerSize().x;
- inputbox.setStyle("width", s + "px");
- }.bind(this));
-
- form.addEvent("submit", function(e) {
- new Event(e).stop();
-
- this.getActiveWindow().client.exec(inputbox.value);
- inputbox.value = "";
- }.bind(this));
-
- this.entryPanel.appendChild(form);
- form.appendChild(inputbox);
- inputbox.focus();
-
- this.resize();
- },
- showInput: function(state) {
- this.entryPanel.setHidden(state);
- this.resize();
- },
- resize: function() {
- window.fireEvent("resize");
- }
-});
-var ThemeControlCodeMap = {
+qwebirc.ui.themes.ThemeControlCodeMap = {
"C": "\x03",
"B": "\x02",
"U": "\x1F",
"$": "$"
};
-var DefaultTheme = {
+qwebirc.ui.themes.Default = {
"PREFIX": ["$C4==$O "],
"SIGNON": ["Signed on!", true],
"CONNECT": ["Connected to server.", true],
"OURTARGETEDCTCP": ["[ctcp($t)] $x $m"]
};
-var Theme = new Class({
+qwebirc.ui.Theme = new Class({
initialize: function(themeDict) {
this.__theme = {};
- for(var k in DefaultTheme)
- this.__theme[k] = DefaultTheme[k];
+ for(var k in qwebirc.ui.themes.Default)
+ this.__theme[k] = qwebirc.ui.themes.Default[k];
if(themeDict)
for(var k in themeDict)
if(c == "$" && (i <= n.length - 1)) {
var c2 = n[++i];
- var o = ThemeControlCodeMap[c2];
+ var o = qwebirc.ui.themes.ThemeControlCodeMap[c2];
if(!o)
o = h[c2];
if(o)
-var UglyUIWindow = new Class({
- Extends: UIWindow,
+qwebirc.ui.UglyUI = new Class({
+ Extends: qwebirc.ui.NewLoginUI,
+ initialize: function(parentElement, theme) {
+ this.parent(parentElement, qwebirc.ui.UglyUI.Window, "uglyui");
+ this.theme = theme;
+ this.parentElement = parentElement;
+ },
+ postInitialize: function() {
+ this.tabs = new Element("div");
+ this.tabs.addClass("tabbar");
+
+ this.parentElement.appendChild(this.tabs);
+
+ this.container = new Element("div");
+ this.container.addClass("container");
+
+ this.parentElement.appendChild(this.container);
+
+ var form = new Element("form");
+ this.form = form;
+
+ var inputbox = new Element("input");
+ inputbox.addClass("input");
+
+ form.addEvent("submit", function(e) {
+ new Event(e).stop();
+
+ this.getActiveWindow().client.exec(inputbox.value);
+ inputbox.value = "";
+ }.bind(this));
+ this.parentElement.appendChild(form);
+ form.appendChild(inputbox);
+ inputbox.focus();
+ },
+ showInput: function(state) {
+ this.form.setStyle("display", state?"block":"none");
+ }
+});
+
+qwebirc.ui.UglyUI.Window = new Class({
+ Extends: qwebirc.ui.Window,
initialize: function(parentObject, client, type, name) {
this.parent(parentObject, client, type, name);
parentObject.container.appendChild(this.outerContainer);
- if(type == WINDOW_CHANNEL) {
+ if(type == qwebirc.ui.WINDOW_CHANNEL) {
this.nicklist = new Element("div");
this.nicklist.addClass("nicklist");
innerContainer.addClass("innercontainer");
this.outerContainer.appendChild(innerContainer);
- if(type == WINDOW_CHANNEL) {
+ if(type == qwebirc.ui.WINDOW_CHANNEL) {
this.topic = new Element("div");
this.topic.addClass("topic");
innerContainer.appendChild(this.topic);
parentObject.tabs.appendChild(this.tab);
- if(type != WINDOW_STATUS && type != WINDOW_CONNECT) {
+ if(type != qwebirc.ui.WINDOW_STATUS && type != qwebirc.ui.WINDOW_CONNECT) {
tabclose = new Element("span");
tabclose.addClass("tabclose");
tabclose.addEvent("click", function(e) {
new Event(e).stop();
- if(type == WINDOW_CHANNEL)
+ if(type == qwebirc.ui.WINDOW_CHANNEL)
this.client.exec("/PART " + name);
this.close();
this.outerContainer.removeClass("tab-invisible");
this.tab.removeClass("tab-unselected");
this.tab.addClass("tab-selected");
- this.parentObject.showInput(this.type != WINDOW_CONNECT && this.type != WINDOW_CUSTOM);
+ this.parentObject.showInput(this.type != qwebirc.ui.WINDOW_CONNECT && this.type != qwebirc.ui.WINDOW_CUSTOM);
},
deselect: function() {
this.parent();
}
});
-var UglyUI = new Class({
- Extends: NewLoginUI,
- initialize: function(parentElement, theme) {
- this.parent(parentElement, UglyUIWindow, "uglyui");
- this.theme = theme;
- this.parentElement = parentElement;
- },
- postInitialize: function() {
- this.tabs = new Element("div");
- this.tabs.addClass("tabbar");
-
- this.parentElement.appendChild(this.tabs);
-
- this.container = new Element("div");
- this.container.addClass("container");
-
- this.parentElement.appendChild(this.container);
-
- var form = new Element("form");
- this.form = form;
-
- var inputbox = new Element("input");
- inputbox.addClass("input");
-
- form.addEvent("submit", function(e) {
- new Event(e).stop();
-
- this.getActiveWindow().client.exec(inputbox.value);
- inputbox.value = "";
- }.bind(this));
- this.parentElement.appendChild(form);
- form.appendChild(inputbox);
- inputbox.focus();
- },
- showInput: function(state) {
- this.form.setStyle("display", state?"block":"none");
- }
-});
-
-function urlificate(element, text, execfn, cmdfn) {
+qwebirc.ui.urlificate = function(element, text, execfn, cmdfn) {
var punct_re = /(\.*|\,|;)$/;
var txtprocess = function(text, regex, appendfn, matchfn) {
-QWEBIRC_VERSION = "0.10"
+qwebirc.VERSION = "0.10"
<script type="text/javascript" src="js/qwebirc.js"></script>
<script type="text/javascript" src="js/mochaui.js"></script>
<script type="text/javascript">
- new QWebIRCInterface("ircui", QMochaUI);
+ var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.QMochaUI);
</script>
</head>
<body scroll="no">
<script type="text/javascript" src="js/mootools-1.2-core.js"></script>
<script type="text/javascript" src="js/mootools-1.2-more.js"></script>
<script type="text/javascript" src="js/mochaui/mocha.js"></script>
+ <script type="text/javascript" src="js/debug/qwebirc.js"></script>
<script type="text/javascript" src="js/debug/version.js"></script>
<script type="text/javascript" src="js/debug/jslib.js"></script>
<script type="text/javascript" src="js/debug/irc/ircconnection.js"></script>
<script type="text/javascript" src="js/debug/ui/mochaui.js"></script>
<script type="text/javascript" src="js/debug/qwebircinterface.js"></script>
<script type="text/javascript">
- new QWebIRCInterface("ircui", QMochaUI);
+ var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.MochaUI);
</script>
</head>
<body scroll="no">
<script type="text/javascript" src="js/qwebirc.js"></script>
<script type="text/javascript" src="js/qui.js"></script>
<script type="text/javascript">
- new QWebIRCInterface("ircui", QUI);
+ var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.QUI);
</script>
</head>
<body height="100%">
<link rel="stylesheet" href="css/colours.css" type="text/css">
<link rel="stylesheet" href="css/qui.css" type="text/css">
<script type="text/javascript" src="js/mootools-1.2-core.js"></script>
+ <script type="text/javascript" src="js/debug/qwebirc.js"></script>
<script type="text/javascript" src="js/debug/version.js"></script>
<script type="text/javascript" src="js/debug/jslib.js"></script>
<script type="text/javascript" src="js/debug/irc/ircconnection.js"></script>
<script type="text/javascript" src="js/debug/ui/qui.js"></script>
<script type="text/javascript" src="js/debug/qwebircinterface.js"></script>
<script type="text/javascript">
- new QWebIRCInterface("ircui", QUI);
+ var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.QUI);
</script>
</head>
<body style="height: 100%; margin: 0; overflow: hidden;">
<script type="text/javascript" src="js/qwebirc.js"></script>
<script type="text/javascript" src="js/swmui.js"></script>
<script type="text/javascript">
- new QWebIRCInterface("ircui", SWMUI);
+ var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.SWMUI);
</script>
</head>
<body>
<link rel="stylesheet" href="css/colours.css" type="text/css">
<link rel="stylesheet" href="css/swmui.css" type="text/css">
<script type="text/javascript" src="js/mootools-1.2-core.js"></script>
+ <script type="text/javascript" src="js/debug/qwebirc.js"></script>
<script type="text/javascript" src="js/debug/version.js"></script>
<script type="text/javascript" src="js/debug/jslib.js"></script>
<script type="text/javascript" src="js/debug/irc/ircconnection.js"></script>
<script type="text/javascript" src="js/debug/ui/theme.js"></script>
<script type="text/javascript" src="js/debug/ui/genericlogin.js"></script>
<script type="text/javascript" src="js/debug/ui/embedwizard.js"></script>
- <script type="text/javascript" src="js/debug/ui/swmlayout.js"></script>
<script type="text/javascript" src="js/debug/ui/swmui.js"></script>
+ <script type="text/javascript" src="js/debug/ui/swmlayout.js"></script>
<script type="text/javascript" src="js/debug/qwebircinterface.js"></script>
<script type="text/javascript">
- new QWebIRCInterface("ircui", SWMUI);
+ var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.SWMUI);
</script>
</head>
<body>
<script type="text/javascript" src="js/qwebirc.js"></script>
<script type="text/javascript" src="js/uglyui.js"></script>
<script type="text/javascript">
- new QWebIRCInterface("ircui", UglyUI);
+ var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.UglyUI);
</script>
</head>
<body>
<link rel="stylesheet" href="css/colours.css" type="text/css">
<link rel="stylesheet" href="css/uglyui.css" type="text/css">
<script type="text/javascript" src="js/mootools-1.2-core.js"></script>
+ <script type="text/javascript" src="js/debug/qwebirc.js"></script>
<script type="text/javascript" src="js/debug/version.js"></script>
<script type="text/javascript" src="js/debug/jslib.js"></script>
<script type="text/javascript" src="js/debug/irc/ircconnection.js"></script>
<script type="text/javascript" src="js/debug/ui/uglyui.js"></script>
<script type="text/javascript" src="js/debug/qwebircinterface.js"></script>
<script type="text/javascript">
- new QWebIRCInterface("ircui", UglyUI);
+ var ui = new qwebirc.ui.Interface("ircui", qwebirc.ui.UglyUI);
</script>
</head>
<body>