]> jfr.im git - irc/quakenet/qwebirc.git/blobdiff - js/ui/frontends/qui.js
Merge.
[irc/quakenet/qwebirc.git] / js / ui / frontends / qui.js
index b0553dc0cc155600331be73563a65c863bc1eff6..5e3255e62e56fd233a4075cefcd47d254822ad66 100644 (file)
@@ -1,5 +1,5 @@
 qwebirc.ui.QUI = new Class({
-  Extends: qwebirc.ui.NewLoginUI,
+  Extends: qwebirc.ui.RootUI,
   initialize: function(parentElement, theme, options) {
     this.parent(parentElement, qwebirc.ui.QUI.Window, "qui", options);
     this.theme = theme;
@@ -284,20 +284,20 @@ qwebirc.ui.QUI.JSUI = new Class({
     var mheight = (docsize.y - topsize.y - bottomsize.y - topicsize.y);
     var mwidth = (docsize.x - rightsize.x);
 
-    topic.setStyle("top", topsize.y + "px");
+    topic.setStyle("top", topsize.y);
     
-    middle.setStyle("top", (topsize.y + topicsize.y) + "px");
+    middle.setStyle("top", (topsize.y + topicsize.y));
     if(mheight > 0) {
-      middle.setStyle("height", mheight + "px");
-      right.setStyle("height", mheight + "px");
+      middle.setStyle("height", mheight);
+      right.setStyle("height", mheight);
     }
     
     if(mwidth > 0)
-      middle.setStyle("width", mwidth + "px");
-    right.setStyle("top", (topsize.y + topicsize.y) + "px");
-    right.setStyle("left", mwidth + "px");
+      middle.setStyle("width", mwidth);
+    right.setStyle("top", (topsize.y + topicsize.y));
+    right.setStyle("left", mwidth);
     
-    bottom.setStyle("top", (docsize.y - bottomsize.y) + "px");
+    bottom.setStyle("top", (docsize.y - bottomsize.y));
     this.fireEvent("reflow");
   },
   showChannel: function(state) {
@@ -423,15 +423,19 @@ qwebirc.ui.QUI.Window = new Class({
     parent.appendChild(e);
     e.addClass("menu");
     
+    var nickArray = [nick];
     qwebirc.ui.MENU_ITEMS.forEach(function(x) {
+      if(!x.predicate || x.predicate !== true && !x.predicate.apply(this, nickArray))
+        return;
+      
       var e2 = new Element("a");
       e.appendChild(e2);
-      
+
       e2.href = "#";
-      e2.set("text", "- " + x[0]);
-      
+      e2.set("text", "- " + x.text);
+
       e2.addEvent("focus", function() { this.blur() }.bind(e2));
-      e2.addEvent("click", function(ev) { new Event(ev.stop()); this.menuClick(x[1]); }.bind(this));
+      e2.addEvent("click", function(ev) { new Event(ev.stop()); this.menuClick(x.fn); }.bind(this));
     }.bind(this));
     return e;
   },
@@ -481,12 +485,8 @@ qwebirc.ui.QUI.Window = new Class({
       this.prevNick = e;
       e.addClass("selected");
       this.moveMenuClass();
-      e.menu = this.createMenu(x.realNick, e);
-      new Event(x).stop();
-    }.bind(this));
-    e.addEvent("dblclick", function(x) {
+      e.menu = this.createMenu(e.realNick, e);
       new Event(x).stop();
-      this.client.exec("/QUERY " + e.realNick);
     }.bind(this));
     
     e.addEvent("focus", function() { this.blur() }.bind(e));
@@ -557,7 +557,7 @@ qwebirc.ui.QUI.Window = new Class({
     this.parent(type, line, colourClass, e);
   },
   setHilighted: function(state) {
-    laststate = this.hilighted;
+    var laststate = this.hilighted;
     
     this.parent(state);