]> jfr.im git - irc/quakenet/qwebirc.git/commitdiff
connectwizard -> embedwizard
authorChris Porter <redacted>
Sat, 18 Oct 2008 17:23:44 +0000 (18:23 +0100)
committerChris Porter <redacted>
Sat, 18 Oct 2008 17:23:44 +0000 (18:23 +0100)
Add custom window types.
Embed the embedwizard.

js/ui/baseui.js
js/ui/baseuiwindow.js
js/ui/embedwizard.js [moved from js/ui/connectwizard.js with 99% similarity]
static/mochauidebug.html
static/quidebug.html
static/swmuidebug.html
static/uglyuidebug.html

index 1aadf51645cda569a38c65890761401e56df9981..f90b9b6de2ec8709abefce023453d12d6260ce5c 100644 (file)
@@ -1,6 +1,9 @@
 var WINDOW_STATUS = 1;
 var WINDOW_QUERY = 2;
 var WINDOW_CHANNEL = 3;
+var WINDOW_CUSTOM = 4;
+var WINDOW_CONNECT = 5;
+var CUSTOM_CLIENT = "custom";
 
 var BaseUI = new Class({
   Implements: [Events, Options],
@@ -12,6 +15,7 @@ var BaseUI = new Class({
     this.setOptions(options);
     
     this.windows = {};
+    this.windows[CUSTOM_CLIENT] = {};
     this.windowArray = [];
     this.windowClass = windowClass;
     this.parentElement = parentElement;
@@ -149,12 +153,40 @@ var UI = new Class({
       }
     }.bind(this));
   },
-  urlDispatcher: function(name) {
-    if(name == "embedded") {
-      return function() {
-        alert("embedded!");
-      };
+  newCustomWindow: function(name, select, type) {
+    if(!type)
+      type = WINDOW_CUSTOM;
+      
+    var w = this.newWindow(CUSTOM_CLIENT, type, name);
+    w.addEvent("close", function(w) {
+      delete this.windows[name];
+    }.bind(this));
+    
+    if(select)
+      this.selectWindow(w);  
+      
+    return w;
+  },
+  embeddedWindow: function() {
+    if(this.embedded) {
+      this.selectWindow(this.embedded)
+      return;
     }
-    return null;
+    
+    this.embedded = this.newCustomWindow("Embedded wizard", true);
+    this.embedded.addEvent("close", function() {
+      this.embedded = null;
+    }.bind(this));
+        
+    var ew = new WebmasterGuide({parent: this.embedded.lines});
+    ew.addEvent("close", function() {
+      this.embedded.close();
+    }.bind(this));
   },
+  urlDispatcher: function(name) {
+    if(name == "embedded")
+      return this.embeddedWindow.bind(this);
+
+    return null;
+  }
 });
index 29a23e7daf459e5d5372098a8158d6bc3cf967d8..6cdeb8775ab8e7903bdbc647781588483f795cc0 100644 (file)
@@ -50,7 +50,7 @@ var UIWindow = new Class({
     if(type)
       line = this.parentObject.theme.message(type, line);
     
-    Colourise(IRCTimestamp(new Date()) + " " + line, element, this.client.exec, this.parentObject.urlDispatcher);
+    Colourise(IRCTimestamp(new Date()) + " " + line, element, this.client.exec, this.parentObject.urlDispatcher.bind(this.parentObject));
     
     this.scrollAdd(element);
   },
similarity index 99%
rename from js/ui/connectwizard.js
rename to js/ui/embedwizard.js
index b423d313e0e2b4f4034b2ad8a49666ac602f1c82..b7d94651aaaab01be7040ff0dd1e0c0d4b4c33bd 100644 (file)
@@ -169,6 +169,7 @@ var WebmasterGuide = new Class({
       var url = this.generateURL();
       
       alink.href = url;
+      alink.target = "new";
       alink.appendChild(document.createTextNode(url));
       abox.value = "<iframe src=\"" + url + "\"></iframe>";
       
index edc6708757059cbcda893a0788b187f4ecbec6ab..e69f05df10670faeb5f3ece5dadaebc9c2298bd7 100644 (file)
@@ -27,7 +27,7 @@
   <script type="text/javascript" src="js/debug/ui/url.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/connectwizard.js"></script>
+  <script type="text/javascript" src="js/debug/ui/embedwizard.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">
index 473b1314e1a30d6bddae70788fca50a9ce8a4811..7c945f155df99e4407634136c7ee0e3bce46ac8d 100644 (file)
@@ -21,7 +21,7 @@
   <script type="text/javascript" src="js/debug/ui/url.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/connectwizard.js"></script>
+  <script type="text/javascript" src="js/debug/ui/embedwizard.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">
index 76df8d2fcdb852dd0809b668e7c2616f8dae6415..f7d996f7c6d0ce421e9bfb13584af8f74de34ee5 100644 (file)
@@ -20,7 +20,7 @@
   <script type="text/javascript" src="js/debug/ui/url.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/connectwizard.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/qwebircinterface.js"></script>
index bb572bf47359ef91e76a3613da7761993a5e6542..ac5c562871095a9a412687ba66f019ff0d1654e7 100644 (file)
@@ -20,7 +20,7 @@
   <script type="text/javascript" src="js/debug/ui/url.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/connectwizard.js"></script>
+  <script type="text/javascript" src="js/debug/ui/embedwizard.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">