this.parent(parentElement, qwebirc.ui.QUI.Window, "qui", options);
this.theme = theme;
this.parentElement = parentElement;
+ this.setModifiableStylesheet("qui");
},
postInitialize: function() {
this.qjsui = new qwebirc.ui.QUI.JSUI("qwebirc-qui", this.parentElement);
var dropdown = new Element("div");
dropdown.addClass("dropdown-tab");
- dropdown.appendChild(new Element("img", {src: "images/favicon.png", title: "menu", alt: "menu"}));
+ dropdown.appendChild(new Element("img", {src: qwebirc.global.staticBaseURL + "images/icon.png", title: "menu", alt: "menu"}));
dropdown.setStyle("opacity", 1);
var dropdownEffect = new Fx.Tween(dropdown, {duration: "long", property: "opacity", link: "chain"});
this.tab = new Element("a", {"href": "#"});
this.tab.addClass("tab");
this.tab.addEvent("focus", function() { this.blur() }.bind(this.tab));;
-
+
+ this.spaceNode = document.createTextNode(" ");
parentObject.tabs.appendChild(this.tab);
+ parentObject.tabs.appendChild(this.spaceNode);
this.tab.appendText(name);
this.tab.addEvent("click", function(e) {
this.topic.addClass("topic");
this.topic.addClass("tab-invisible");
this.topic.set("html", " ");
- this.topic.addEvent("click", this.editTopic.bind(this));
+ this.topic.addEvent("dblclick", this.editTopic.bind(this));
this.parentObject.qjsui.applyClasses("topic", this.topic);
this.prevNick = null;
this.parentObject.qjsui.applyClasses("nicklist", this.nicklist);
}
- if(type == qwebirc.ui.WINDOW_CHANNEL) {
+ if(type == qwebirc.ui.WINDOW_CHANNEL)
this.updateTopic("");
- } else {
- this.reflow();
- }
+
+ this.nicksColoured = this.parentObject.uiOptions.NICK_COLOURS;
+ this.reflow();
},
editTopic: function() {
if(!this.client.nickOnChanHasPrefix(this.client.nickname, this.name, "@")) {
/* var cmodes = this.client.getChannelModes(channel);
if(cmodes.indexOf("t")) {*/
- alert("Sorry, you need to be opped to change the topic!");
+ alert("Sorry, you need to be a channel operator to change the topic!");
return;
/*}*/
}
this.prevNick = null;
},
nickListAdd: function(nick, position) {
+ var realNick = this.client.stripPrefix(nick);
+
var e = new Element("a");
qwebirc.ui.insertAt(position, this.nicklist, e);
e.href = "#";
- e.appendChild(document.createTextNode(nick));
+ var span = new Element("span");
+ if(this.parentObject.uiOptions.NICK_COLOURS) {
+ var colour = realNick.toHSBColour(this.client);
+ if($defined(colour))
+ span.setStyle("color", colour.rgbToHex());
+ }
+ span.set("text", nick);
+ e.appendChild(span);
- e.realNick = this.client.stripPrefix(nick);
+ e.realNick = realNick;
e.addEvent("click", function(x) {
if(this.prevNick == e) {
if(inputVisible)
this.parentObject.inputbox.focus();
+
+ if(this.type == qwebirc.ui.WINDOW_CHANNEL && this.nicksColoured != this.parentObject.uiOptions.NICK_COLOURS) {
+ this.nicksColoured = this.parentObject.uiOptions.NICK_COLOURS;
+
+ var nodes = this.nicklist.childNodes;
+ if(this.parentObject.uiOptions.NICK_COLOURS) {
+ for(var i=0;i<nodes.length;i++) {
+ var e = nodes[i], span = e.firstChild;
+ var colour = e.realNick.toHSBColour(this.client);
+ if($defined(colour))
+ span.setStyle("color", colour.rgbToHex());
+ };
+ } else {
+ for(var i=0;i<nodes.length;i++) {
+ var span = nodes[i].firstChild;
+ span.setStyle("color", null);
+ };
+ }
+ }
},
deselect: function() {
this.parent();
this.parent();
this.parentObject.tabs.removeChild(this.tab);
+ this.parentObject.tabs.removeChild(this.spaceNode);
+ this.reflow();
},
addLine: function(type, line, colourClass) {
var e = new Element("div");