]>
Commit | Line | Data |
---|---|---|
e20e5a6b | 1 | qwebirc.ui.Interface = new Class({ |
d65fe45f CP |
2 | Implements: [Options], |
3 | options: { | |
4 | initialNickname: "qwebirc" + Math.ceil(Math.random() * 100000), | |
5 | initialChannels: "", | |
66de775f | 6 | searchURL: true, |
d65fe45f CP |
7 | theme: undefined |
8 | }, | |
9 | initialize: function(element, ui, options) { | |
10 | this.setOptions(options); | |
11 | ||
12 | window.addEvent("domready", function() { | |
e20e5a6b | 13 | var ui_ = new ui($(element), new qwebirc.ui.Theme(this.options.theme)); |
66de775f CP |
14 | var inick = this.options.initialNickname; |
15 | var ichans = this.options.initialChannels; | |
16 | var autoNick = true; | |
17 | ||
18 | var callback = function(options) { | |
e20e5a6b | 19 | var IRC = new qwebirc.irc.IRCClient(options, ui_); |
d65fe45f CP |
20 | IRC.connect(); |
21 | window.addEvent("beforeunload", function() { | |
22 | IRC.quit("Page closed"); | |
23 | }); | |
66de775f CP |
24 | }; |
25 | ||
26 | var supplied = false; | |
27 | if(this.options.searchURL) { | |
e20e5a6b | 28 | var args = qwebirc.util.parseURI(String(document.location)); |
66de775f CP |
29 | |
30 | var chans = args["channels"]; | |
31 | var nick = args["nick"]; | |
32 | ||
33 | if(chans) { | |
34 | chans = chans.split(","); | |
35 | var chans2 = []; | |
36 | ||
37 | for(i=0;i<chans.length;i++) { | |
38 | chans2[i] = chans[i]; | |
39 | ||
40 | if(chans[i].charAt(0) != '#') | |
41 | chans2[i] = "#" + chans2[i] | |
42 | } | |
43 | ichans = chans2.join(","); | |
44 | supplied = true; | |
45 | } | |
46 | ||
bede573a | 47 | if($defined(nick)) { |
66de775f CP |
48 | inick = nick; |
49 | autoNick = false; | |
50 | } | |
bede573a CP |
51 | |
52 | if(supplied && args["prompt"]) | |
53 | supplied = false; | |
66de775f | 54 | } |
bede573a | 55 | |
66de775f | 56 | var details = ui_.loginBox(callback, inick, ichans, supplied, autoNick); |
d65fe45f CP |
57 | }.bind(this)); |
58 | } | |
59 | }); |