diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/suite/components/helpviewer/content/contextHelp.js | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/suite/components/helpviewer/content/contextHelp.js')
-rw-r--r-- | comm/suite/components/helpviewer/content/contextHelp.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/comm/suite/components/helpviewer/content/contextHelp.js b/comm/suite/components/helpviewer/content/contextHelp.js new file mode 100644 index 0000000000..151cd777a9 --- /dev/null +++ b/comm/suite/components/helpviewer/content/contextHelp.js @@ -0,0 +1,68 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); +var { AppConstants } = + ChromeUtils.import("resource://gre/modules/AppConstants.jsm"); + +// Set the default content pack to the Mozilla content pack. Use the +// setHelpFileURI function to set this value. +var helpFileURI; + +// openHelp - Opens up the Mozilla Help Viewer with the specified +// topic and content pack. +// see http://www.mozilla.org/projects/help-viewer/content_packs.html +function openHelp(topic, contentPack) +{ + // helpFileURI is the content pack to use in this function. If contentPack is defined, + // use that and set the helpFileURI to that value so that it will be the default. + helpFileURI = contentPack || helpFileURI; + + // Try to find previously opened help. + var topWindow = locateHelpWindow(helpFileURI); + + if ( topWindow ) { + // Open topic in existing window. + topWindow.focus(); + topWindow.displayTopic(topic); + } else { + // Open topic in new window. + const params = Cc["@mozilla.org/embedcomp/dialogparam;1"] + .createInstance(Ci.nsIDialogParamBlock); + params.SetNumberStrings(2); + params.SetString(0, helpFileURI); + params.SetString(1, topic); + + let openFeatures = "chrome,all,dialog=no"; + + if (AppConstants.platform == "win") { + openFeatures += ",alwaysRaised"; + } + Services.ww.openWindow(null, "chrome://help/content/help.xul", "_blank", + openFeatures, params); + } +} + +// setHelpFileURI - Sets the default content pack to use in the Help Viewer +function setHelpFileURI(rdfURI) +{ + helpFileURI = rdfURI; +} + +// Locate existing help window for this content pack. +function locateHelpWindow(contentPack) { + const iterator = Services.wm.getEnumerator("suite:help"); + var topWindow = null; + var aWindow; + + // Loop through help windows looking for one with selected content + // pack. + while (iterator.hasMoreElements()) { + aWindow = iterator.getNext(); + if (!aWindow.closed && aWindow.getHelpFileURI() == contentPack) { + topWindow = aWindow; + } + } + return topWindow; +} |