Browse Source

b=473526, r=mfinkle, Mechanism for adding a webapp-specific pane to the preferences dialog

matthew@allpeers.com 15 years ago
parent
commit
9482113f3a

+ 1 - 3
runtime/chrome/content/preferences/content.xul

@@ -1,7 +1,5 @@
 <?xml version="1.0"?>
 
-<?xml-stylesheet href="chrome://webrunner/skin/preferences/content.css" type="text/css"?>
-
 <!DOCTYPE overlay SYSTEM "chrome://webrunner/locale/preferences/content.dtd">
 
 <overlay id="ContentPaneOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
@@ -16,7 +14,7 @@
                   onchange="WebRunnerContentPrefs._rebuildFonts();"/>
     </preferences>
     
-    <script type="application/x-javascript" src="chrome://webrunner/content/content.js"/>
+    <script type="application/x-javascript" src="chrome://webrunner/content/preferences/content.js"/>
     <script type="application/x-javascript" src="chrome://mozapps/content/preferences/fontbuilder.js"/>
 
     <!-- Fonts and Colors -->

+ 21 - 0
runtime/chrome/content/preferences/preferences.js

@@ -0,0 +1,21 @@
+Components.utils.import("resource://prism-runtime/modules/WebAppProperties.jsm");
+
+var WebRunnerPrefs =
+{
+  init : function() {
+    var prefXUL = WebAppProperties.getAppRoot();
+    prefXUL.append("preferences");
+    prefXUL.append("prefs.xul");
+
+    if (prefXUL.exists()) {
+      var prefPane = document.createElement("prefpane");
+      prefPane.id = "paneWebApp";
+      prefPane.setAttribute("label", WebAppProperties.name);
+      prefPane.src = "resource://webapp/preferences/prefs.xul";
+      prefPane.image = "resource://webapp/preferences/prefs.png";
+      
+      var prefWindow = document.getElementById("BrowserPreferences");
+      prefWindow.addPane(prefPane);
+    }
+  }
+};

+ 4 - 4
runtime/chrome/content/preferences/preferences.xul

@@ -52,9 +52,9 @@
 <?xml-stylesheet href="chrome://browser/skin/preferences/applications.css"?> -->
 
 <!DOCTYPE prefwindow [
-<!-- <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd"> -->
+<!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd">
 <!ENTITY % preferencesDTD SYSTEM "chrome://webrunner/locale/preferences/preferences.dtd">
-<!-- %brandDTD; -->
+%brandDTD;
 %preferencesDTD;
 ]>
 
@@ -68,6 +68,7 @@
 <prefwindow type="prefwindow"
             id="BrowserPreferences"
             windowtype="Browser:Preferences"
+            onload="WebRunnerPrefs.init()"
             ondialoghelp="openPrefsHelp()"
 #ifdef USE_WIN_TITLE_STYLE
             title="&prefWindow.titleWin;"
@@ -89,9 +90,8 @@
 #endif
 #endif
 
-<!--  <script type="application/javascript" src="chrome://browser/content/utilityOverlay.js"/> -->
+<script type="application/javascript" src="chrome://webrunner/content/preferences/preferences.js"/>
 
-<!--  <stringbundle id="bundleBrand" src="chrome://branding/locale/brand.properties"/> -->
     <stringbundle id="bundlePreferences"
                   src="chrome://webrunner/locale/preferences/preferences.properties"/>
 

+ 1 - 1
runtime/chrome/content/webrunner.js

@@ -825,7 +825,7 @@ var WebRunner = {
         goDoCommand(aCmd);
         break;
       case "cmd_prefs":
-        window.openDialog("chrome://webrunner/content/preferences/preferences.xul", "preferences", "chrome,extrachrome,dialog=no,centerscreen,toolbar,modal", WebAppProperties);
+        window.openDialog("chrome://webrunner/content/preferences/preferences.xul", "preferences", "chrome,extrachrome,dialog=no,centerscreen,toolbar");
         break;
       case "cmd_print":
         PrintUtils.print();

+ 1 - 0
runtime/chrome/jar.mn

@@ -18,6 +18,7 @@ webrunner.jar:
 * content/preferences/connection.xul   (content/preferences/connection.xul)
 * content/preferences/connection.js    (content/preferences/connection.js)
 * content/preferences/preferences.xul  (content/preferences/preferences.xul)
+  content/preferences/preferences.js   (content/preferences/preferences.js)
   content/unknownContentType.xul       (content/unknownContentType.xul)
   branding/brand.dtd                   (locale/@AB_CD@/brand/brand.dtd)
   branding/brand.properties            (locale/@AB_CD@/brand/brand.properties)