From 7e9b48a4d7fd6b8eae853cfeaa00a40e26e10ae6 Mon Sep 17 00:00:00 2001 From: "mnyromyr%tprac.de" Date: Tue, 28 Mar 2006 21:21:59 +0000 Subject: [PATCH] Bug 216426: always on top behaviour of help window; p=R.J. Keller /, r=IanN, sr=neil, a=IanN git-svn-id: svn://10.0.0.236/branches/MOZILLA_1_8_BRANCH@193156 18797224-902f-48f8-a5cc-f745e15eee43 --- .../extensions/help/resources/content/help.js | 34 +++++++++++++++++++ .../help/resources/content/help.xul | 2 +- .../resources/content/helpContextOverlay.xul | 15 +++++++- .../help/resources/locale/en-US/help.dtd | 4 +++ 4 files changed, 53 insertions(+), 2 deletions(-) diff --git a/mozilla/extensions/help/resources/content/help.js b/mozilla/extensions/help/resources/content/help.js index 68f49f0b48c..1e3bdd16023 100644 --- a/mozilla/extensions/help/resources/content/help.js +++ b/mozilla/extensions/help/resources/content/help.js @@ -174,6 +174,14 @@ function init() { //Always show the Table of Contents sidebar at startup. showPanel('help-toc'); + + // alwaysRaised only works on Mac & Win. + if (!/Win|Mac/.test(navigator.platform)) { + var toggleSeparator = document.getElementById("context-sep-selectall"); + var toggleOnTop = document.getElementById("context-zlevel"); + toggleOnTop.hidden = true; + toggleSeparator.hidden = true; + } } function contentClick(event) { @@ -709,3 +717,29 @@ function showRelativePanel(goForward) { selectedIndex = sidebarButtons.length - 1; sidebarButtons[selectedIndex].doCommand(); } + +// getXulWin - Returns the current Help window as a nsIXULWindow. +function getXulWin() { + window.QueryInterface(Components.interfaces.nsIInterfaceRequestor); + var webnav = window.getInterface(Components.interfaces.nsIWebNavigation); + var dsti = webnav.QueryInterface(Components.interfaces.nsIDocShellTreeItem); + var treeowner = dsti.treeOwner; + var ifreq = treeowner.QueryInterface(Components.interfaces.nsIInterfaceRequestor); + + return ifreq.getInterface(Components.interfaces.nsIXULWindow); +} + +// toggleZLevel - Toggles whether or not the window will always appear on top. +// element is the DOM node that persists the checked state +function toggleZLevel(element) { + var xulwin = getXulWin(); + + // Now we can flip the zLevel, and set the attribute so that it persists correctly + if (xulwin.zLevel > xulwin.normalZ) { + xulwin.zLevel = xulwin.normalZ; + element.setAttribute("checked", "false"); + } else { + xulwin.zLevel = xulwin.raisedZ; + element.setAttribute("checked", "true"); + } +} diff --git a/mozilla/extensions/help/resources/content/help.xul b/mozilla/extensions/help/resources/content/help.xul index 5ca6ecc494e..8e4d4a75925 100644 --- a/mozilla/extensions/help/resources/content/help.xul +++ b/mozilla/extensions/help/resources/content/help.xul @@ -17,7 +17,7 @@ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" width="480" height="360" - persist="width height screenX screenY" + persist="width height screenX screenY zlevel" onload="init();" onunload="window.XULBrowserWindow.destroy();"> diff --git a/mozilla/extensions/help/resources/content/helpContextOverlay.xul b/mozilla/extensions/help/resources/content/helpContextOverlay.xul index dbc71a4b36b..df91c66f5e1 100755 --- a/mozilla/extensions/help/resources/content/helpContextOverlay.xul +++ b/mozilla/extensions/help/resources/content/helpContextOverlay.xul @@ -35,7 +35,12 @@ - - ***** END LICENSE BLOCK ***** --> - + + %helpDTD; + + %communicatorDTD; +]> @@ -70,6 +75,14 @@ label="&selectAllCmd.label;" accesskey="&selectAllCmd.accesskey;" command="cmd_selectAll"/> + + diff --git a/mozilla/extensions/help/resources/locale/en-US/help.dtd b/mozilla/extensions/help/resources/locale/en-US/help.dtd index e95f2f6203a..5ce482cac93 100644 --- a/mozilla/extensions/help/resources/locale/en-US/help.dtd +++ b/mozilla/extensions/help/resources/locale/en-US/help.dtd @@ -27,3 +27,7 @@ + + + +