rdfification of help system per bug 124273, sr=waterson, r=hewitt, r=oeschger, authors=pwilson@gorge.net and oeschger

This commit is contained in:
oeschger%netscape.com 2002-02-08 01:45:36 +00:00
Родитель fa64508953
Коммит 5a71730a3b
20 изменённых файлов: 6093 добавлений и 2873 удалений

Просмотреть файл

@ -10,7 +10,7 @@
chrome:displayName="Mozilla Help Viewer"
chrome:author="netscape.com"
chrome:name="help"
chrome:localeVersion="0.9.8">
chrome:localeVersion="0.9.8">
</RDF:Description>
<!-- Declare overlay points used in this package -->

Просмотреть файл

@ -0,0 +1,65 @@
const MOZ_HELP_URI = "chrome://help/content/help.xul";
const MOZILLA_HELP = "chrome://help/locale/mozillahelp.rdf";
var defaultHelpFile = MOZILLA_HELP;
// Call this function to display a help topic.
// uri: [chrome uri of rdf help file][?topic]
function openHelp(uri) {
var URI = normalizeURI(uri); // Unpacks helpFileURI and initialTopic;
var topWindow = locateHelpWindow(URI.helpFileURI);
if ( topWindow ) {
topWindow.focus();
topWindow.displayTopic(URI.topic);
} else {
var encodedURI = encodeURIComponent(URI.uri);
window.open(MOZ_HELP_URI + "?" + encodedURI, "_blank", "chrome,menubar,toolbar,dialog=no,resizable,scrollbars");
}
}
function setDefaultHelpFile(rdfURI) {
defaultHelpFile = rdfURI;
}
// Locate mozilla:help window (if any) opened for this help file uri.
function locateHelpWindow(helpFileURI) {
var windowManager = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService();
var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
var iterator = windowManagerInterface.getEnumerator( "mozilla:help");
var topWindow = null;
while (iterator.hasMoreElements()) {
var aWindow = iterator.getNext();
if (aWindow.getHelpFileURI() == helpFileURI) {
topWindow = aWindow;
break;
}
}
return topWindow;
}
function normalizeURI(uri) {
// uri in format [uri of help rdf file][?initial topic]
// if the whole uri or help file uri is ommitted then the default help is assumed.
// unpack uri
var URI = {};
URI.helpFileURI = defaultHelpFile;
URI.topic = null;
// Case: No help uri at all.
if (uri) {
// Case: Just the search parameter.
if (uri.substr(0,1) == "?")
URI.topic = uri.substr(1);
else {
// Case: Full uri with optional topic.
var i = uri.indexOf("?");
if ( i != -1) {
URI.helpFileURI = uri.substr(0,i);
URI.topic = uri.substr(i+1);
}
else
URI.helpFileURI = uri;
}
}
URI.uri = URI.helpFileURI + ((URI.topic)? "?" + URI.topic : "");
return URI;
}

Просмотреть файл

@ -1,182 +1,303 @@
//-------- global variables
var gBrowser;
var gRDF = null;
var gBuilder = null;
const kRDFContractID = "@mozilla.org/rdf/rdf-service;1";
const kRDFIID = Components.interfaces.nsIRDFService;
// The key object is used to define special context strings that, when appended to
// the url for the help window itself, load specific content. For example, the uri:
// chrome://help/content/help.xul?mail
// loads the document at:
// chrome://help/locale/mail_help.html into the window on initialization.
var key = {
"?mail": "chrome://help/locale/mail_help.html",
"?nav": "chrome://help/locale/nav_help.html",
"?im": "chrome://help/locale/im_help.html",
"?sec": "chrome://help/locale/security_help.html",
"?cust": "chrome://help/locale/customize_help.html",
"?comp": "chrome://help/locale/composer_help.html",
"?prefs": "chrome://help/locale/prefs_help.html#prefs_first",
"?mail_prefs_general": "chrome://help/locale/mail_help.html#PREFERENCES_MAILNEWS_MAIN_PANE",
"?mail_prefs_display": "chrome://help/locale/mail_help.html#PREFERENCES_MAILNEWS_DISPLAY",
"?mail_prefs_messages": "chrome://help/locale/mail_help.html#PREFERENCES_MAILNEWS_MESSAGES",
"?mail_prefs_formatting": "chrome://help/locale/mail_help.html#PREFERENCES_MAILNEWS_FORMATTING",
"?mail_prefs_addressing": "chrome://help/locale/mail_help.html#PREFERENCES_MAILNEWS_ADDRESSING",
"?mail_prefs_offline": "chrome://help/locale/mail_help.html#PREFERENCES_MAILNEWS_OFFLINE",
"?composer_prefs_general": "chrome://help/locale/composer_help.html#PREFERENCES_EDITOR_GENERAL",
"?composer_prefs_newpage": "chrome://help/locale/composer_help.html#PREFERENCES_NEWPAGE",
"?appearance_pref": "chrome://help/locale/cs_nav_prefs_appearance.html",
"?appearance_pref_appearance": "chrome://help/locale/cs_nav_prefs_appearance.html#appearance",
"?appearance_pref_fonts": "chrome://help/locale/cs_nav_prefs_appearance.html#fonts",
"?appearance_pref_colors": "chrome://help/locale/cs_nav_prefs_appearance.html#colors",
"?appearance_pref_fonts": "chrome://help/locale/cs_nav_prefs_appearance.html#fonts",
"?appearance_pref_themes": "chrome://help/locale/cs_nav_prefs_appearance.html#themes",
"?appearance_pref_content_packs": "chrome://help/locale/cs_nav_prefs_appearance.html#content",
"?navigator_pref": "chrome://help/locale/cs_nav_prefs_navigator.html",
"?navigator_pref_navigator": "chrome://help/locale/cs_nav_prefs_navigator.html#Navigator",
"?navigator_pref_history": "chrome://help/locale/cs_nav_prefs_navigator.html#History",
"?navigator_pref_languages": "chrome://help/locale/cs_nav_prefs_navigator.html#Languages",
"?navigator_pref_helper_applications": "chrome://help/locale/cs_nav_prefs_navigator.html#Helper",
"?navigator_pref_internet_searching": "chrome://help/locale/cs_nav_prefs_navigator.html#Internet",
"?navigator_pref_smart_browsing": "chrome://help/locale/cs_nav_prefs_navigator.html#Smart",
"?advanced_pref": "chrome://help/locale/cs_nav_prefs_advanced.html",
"?advanced_pref_advanced": "chrome://help/locale/cs_nav_prefs_advanced.html#Advanced",
"?advanced_pref_cache": "chrome://help/locale/cs_nav_prefs_advanced.html#Cache",
"?advanced_pref_installation": "chrome://help/locale/cs_nav_prefs_advanced.html#Software_Installation",
"?advanced_pref_mouse_wheel": "chrome://help/locale/cs_nav_prefs_advanced.html#Mouse_Wheel",
"?advanced_pref_system": "chrome://help/locale/cs_nav_prefs_advanced.html#system",
"?advanced_pref_proxies": "chrome://help/locale/cs_nav_prefs_advanced.html#Proxies",
"?nover_noencrypt": "chrome://help/locale/ssl_page_info_help.html#Not_Verified_Not Encrypted",
"?ver_encrypt": "chrome://help/locale/ssl_page_info_help.html#Verified_Encrypted",
"?conver_encrypt": "chrome://help/locale/ssl_page_info_help.html#Conditionally_Verified_Encrypted",
"?ver_noencrypt": "chrome://help/locale/ssl_page_info_help.html#Verified_Not Encrypted",
"?conver_noencrypt": "chrome://help/locale/ssl_page_info_help.html#Conditionally_Verified_Not_Encrypted",
"?cookies_stored": "chrome://help/locale/using_priv_help.html#cookies_stored",
"?cookie_sites": "chrome://help/locale/using_priv_help.html#cookie_sites",
"?privacy_levels": "chrome://help/locale/using_priv_help.html#privacy_levels_window",
"?my_certs": "chrome://help/locale/certs_help.html#My_Certificates",
"?cert_backup_pwd": "chrome://help/locale/certs_help.html#Choose_a_Certificate_Backup_Password",
"?delete_my_certs": "chrome://help/locale/certs_help.html#Delete_My_Certificate",
"?change_pwd": "chrome://help/locale/passwords_help.html#Change_Master_Password",
"?reset_pwd": "chrome://help/locale/passwords_help.html#Reset_Master_Password",
"?web_certs": "chrome://help/locale/certs_help.html#Web_Site_Certificates",
"?edit_web_certs": "chrome://help/locale/certs_help.html#Edit_Web_Site_Certificate_Settings",
"?delete_web_certs": "chrome://help/locale/certs_help.html#Delete_Web_Site_Certificate",
"?ca_certs": "chrome://help/locale/certs_help.html#CA_Certificates",
"?edit_ca_certs": "chrome://help/locale/certs_help.html#Edit_CA_Certificate_Settings",
"?delete_ca_certs": "chrome://help/locale/certs_help.html#Delete_CA_Certificate",
"?sec_devices": "chrome://help/locale/certs_help.html#Security_Devices",
"?cert_details": "chrome://help/locale/cert_dialog_help.html#Certificate_Details",
"?which_token": "chrome://help/locale/cert_dialog_help.html#Choose_Security_Device",
"?priv_key_copy": "chrome://help/locale/cert_dialog_help.html#Encryption_Key_Copy",
"?backup_your_cert": "chrome://help/locale/cert_dialog_help.html#Certificate_Backup",
"?which_cert": "chrome://help/locale/cert_dialog_help.html#User_Identification_Request",
"?no_cert": "chrome://help/locale/cert_dialog_help.html#No_Acceptable_Identification",
"?new_ca": "chrome://help/locale/cert_dialog_help.html#New_Certificate_Authority",
"?exp_crl": "chrome://help/locale/cert_dialog_help.html#old_next_update_crl",
"?new_web_cert": "chrome://help/locale/cert_dialog_help.html#New_Web_Site_Certificate",
"?exp_web_cert": "chrome://help/locale/cert_dialog_help.html#Expired_Web_Site_Certificate",
"?not_yet_web_cert": "chrome://help/locale/cert_dialog_help.html#Web_Site_Certificate_Not_Yet_Valid",
"?bad_name_web_cert": "chrome://help/locale/cert_dialog_help.html#Unexpected_Certificate_Name",
"?sec_gen": "chrome://help/locale/privsec_help.html#privsec_help_first",
"?ssl_prefs": "chrome://help/locale/ssl_help.html#ssl_first",
"?validation_prefs": "chrome://help/locale/validation_help.html",
"?passwords_prefs": "chrome://help/locale/passwords_help.html#passwords_first",
"?passwords_master": "chrome://help/locale/passwords_help.html#Master_Password_Timeout",
"?forms_prefs": "chrome://help/locale/using_priv_help.html#forms_prefs",
"?cookies_prefs": "chrome://help/locale/using_priv_help.html#cookie_prefs",
"?images_prefs": "chrome://help/locale/using_priv_help.html#using_images",
"?certs_prefs": "chrome://help/locale/certs_prefs_help.html#certs_prefs_help_first",
"?im_prefs_general": "chrome://help/locale/im_help.html#im_gen",
"?im_prefs_privacy": "chrome://help/locale/im_help.html#im_privacy",
"?im_prefs_notification": "chrome://help/locale/im_help.html#im_notif",
"?im_prefs_away": "chrome://help/locale/im_help.html#im_awaypref",
"?im_prefs_connection": "chrome://help/locale/im_help.html#im_connect",
/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is Mozilla Communicator client code, released
* March 31, 1998.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998-1999 Netscape Communications Corporation. All
* Rights Reserved.
* Contributor(s):
* Original author: oeschger@netscape.com
* amended by: Peter Wilson (added sidebar tabs) */
"?image_properties": "chrome://help/locale/composer_help.html#PROPERTIES_IMAGE",
"?imagemap_properties": "chrome://help/locale/composer_help.html#IMAGE_MAPS",
"?link_properties": "chrome://help/locale/composer_help.html#page_link",
"?table_properties": "chrome://help/locale/composer_help.html#Setting_table_properties",
"?advanced_property_editor": "chrome://help/locale/composer_help.html#PROPERTY_EDITOR",
//-------- global variables
var helpBrowser;
var helpWindow;
var helpSearchPanel;
var helpTocPanel;
var helpIndexPanel;
var helpGlossaryPanel;
// Mailnews account settings tag mappings.
"?mail_account_identity": "chrome://help/locale/mail_help.html#PREFERENCES_MAILNEWS_IDENTITY",
"?mail_server_imap": "chrome://help/locale/mail_help.html#IMAP_SERVER",
"?mail_server_pop3": "chrome://help/locale/mail_help.html#POP_SERVER",
"?mail_server_nntp": "chrome://help/locale/mail_help.html#DISCUSSION_HOST_PROPERTIES",
"?mail_copies": "chrome://help/locale/mail_help.html#PREFERENCES_MAILNEWS_COPIES",
"?mail_addressing_settings": "chrome://help/locale/mail_help.html#addressing_settings",
"?mail_offline_imap": "chrome://help/locale/mail_help.html#OFFLINE_IMAP",
"?mail_offline_pop3": "chrome://help/locale/mail_help.html#OFFLINE_POP",
"?mail_offline_nntp": "chrome://help/locale/mail_help.html#OFFLINE_NEWS",
"?mail_smtp": "chrome://help/locale/mail_help.html#PREFERENCES_MAILNEWS_SMTP"
// Namespaces
const NC = "http://home.netscape.com/NC-rdf#";
const SN = "rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#";
const XML = "http://www.w3.org/XML/1998/namespace#"
// Resources
var RDF = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var RDF_ROOT = RDF.GetResource("urn:root");
var NC_PANELLIST = RDF.GetResource(NC + "panellist");
var NC_PANELID = RDF.GetResource(NC + "panelid");
var NC_DATASOURCES = RDF.GetResource(NC + "datasources");
var NC_SUBHEADINGS = RDF.GetResource(NC + "subheadings");
var NC_NAME = RDF.GetResource(NC + "name");
var NC_LINK = RDF.GetResource(NC + "link");
var NC_TITLE = RDF.GetResource(NC + "title");
var NC_BASE = RDF.GetResource(NC + "base");
var NC_DEFAULTTOPIC = RDF.GetResource(NC + "defaulttopic");
var RDFCUtils = Components.classes["@mozilla.org/rdf/container-utils;1"].getService().
QueryInterface(Components.interfaces.nsIRDFContainerUtils);
var RDFContainer = Components.classes["@mozilla.org/rdf/container;1"].getService(Components.interfaces.nsIRDFContainer);
var CONSOLE_SERVICE = Components.classes['@mozilla.org/consoleservice;1'].getService(Components.interfaces.nsIConsoleService);
var urnID = 0;
var RE;
var helpFileURI;
var helpFileDS;
// Set from nc:base attribute on help rdf file. It may be used for prefix reduction on all links within
// the current help set.
var helpBaseURI;
const defaultHelpFile = "chrome://help/locale/mozillahelp.rdf";
// Set from nc:defaulttopic. It is used when the requested uri has no topic specified.
var defaultTopic = "welcome";
const NSRESULT_RDF_SYNTAX_ERROR = 0x804e03f7;
// This function is called by dialogs/windows that want to display context-sensitive help
// These dialogs/windows should include scrip chrome://help/content/contectHelp.js
function displayTopic(topic) {
if (!topic)
topic = defaultTopic;
var uri = getLink(topic);
loadURI(uri);
}
// This function is called by dialogs that want to display context-sensitive help
function openHelp(uri)
{
var windowManager = Components.classes['@mozilla.org/rdf/datasource;1?name=window-mediator'].getService();
var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
var topWindow = windowManagerInterface.getMostRecentWindow( "mozilla:help" );
if ( topWindow ) {
topWindow.focus();
} else {
window.open(uri, "_blank", "chrome,menubar,toolbar,dialog=no,resizable,scrollbars");
}
}
// Initialize the Help window
function init() {
//cache panel references.
helpWindow = document.getElementById("help");
helpSearchPanel = document.getElementById("help-search-panel");
helpTocPanel = document.getElementById("help-toc-outliner");
helpIndexPanel = document.getElementById("help-index-outliner");
helpGlossaryPanel = document.getElementById("help-glossary-outliner");
helpBrowser = document.getElementById("help-content");
function init()
{
// Initialize the Help window
var URI = normalizeURI(decodeURIComponent(window.location.search));
helpFileURI = URI.helpFileURI;
var helpTopic = URI.topic;
helpBaseURI = helpFileURI.substring(0, helpFileURI.lastIndexOf("/")+1); // trailing "/" included.
loadHelpRDF();
displayTopic(helpTopic);
// move to right end of screen
var width = document.documentElement.getAttribute("width");
var height = document.documentElement.getAttribute("height");
window.moveTo(screen.availWidth-width, (screen.availHeight-height)/2);
gBrowser = document.getElementById("help-content");
var sessionHistory = Components.classes["@mozilla.org/browser/shistory;1"]
.createInstance(Components.interfaces.nsISHistory);
.createInstance(Components.interfaces.nsISHistory);
getWebNavigation().sessionHistory = sessionHistory;
// if this is context-sensitive,
// then window.location.search contains the "key" (from the top of this file)
// that resolves to a particular html document or target
if (key[window.location.search]) {
dump("loading help content: " + key[window.location.search] + "\n");
loadURI(key[window.location.search]);
} else {
goHome();
}
window.XULBrowserWindow = new nsHelpStatusHandler();
// hook up UI through progress listener
var browser = document.getElementById("help-content");
var interfaceRequestor = browser.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor);
var interfaceRequestor = helpBrowser.docShell.QueryInterface(Components.interfaces.nsIInterfaceRequestor);
var webProgress = interfaceRequestor.getInterface(Components.interfaces.nsIWebProgress);
webProgress.addProgressListener(window.XULBrowserWindow);
}
function getWebNavigation()
{
return gBrowser.webNavigation;
function normalizeURI(uri) {
// uri in format [uri of help rdf file][?initial topic]
// if the whole uri or help file uri is omitted then the default help is assumed.
// unpack uri
var URI = {};
URI.helpFileURI = defaultHelpFile;
URI.topic = null;
// Case: No help uri at all.
if (uri) {
// remove leading ?
if (uri.substr(0,1) == "?")
uri = uri.substr(1);
var i = uri.indexOf("?");
// Case: Full uri with topic.
if ( i != -1) {
URI.helpFileURI = uri.substr(0,i);
URI.topic = uri.substr(i+1);
}
else {
// Case: uri with no topic.
if (uri.substr(0,7) == "chrome:")
URI.helpFileURI = uri;
else {
// Case: uri with topic only.
URI.topic = uri;
}
}
}
URI.uri = URI.helpFileURI + ((URI.topic)? "?" + URI.topic : "");
return URI;
}
function loadURI(aURI)
function loadHelpRDF() {
if (!helpFileDS) {
try {
helpFileDS = RDF.GetDataSourceBlocking(helpFileURI);
}
catch (e if (e.result == NSRESULT_RDF_SYNTAX_ERROR)) {
log("Help file: " + helpFileURI + " contains a syntax error.");
}
catch (e) {
log("Help file: " + helpFileURI + " was not found.");
}
try {
helpWindow.setAttribute("title", getAttribute(helpFileDS, RDF_ROOT, NC_TITLE, ""));
helpBaseURI = getAttribute(helpFileDS, RDF_ROOT, NC_BASE, helpBaseURI);
defaultTopic = getAttribute(helpFileDS, RDF_ROOT, NC_DEFAULTTOPIC, "welcome");
var panelDefs = helpFileDS.GetTarget(RDF_ROOT, NC_PANELLIST, true);
RDFContainer.Init(helpFileDS, panelDefs);
var iterator = RDFContainer.GetElements();
while (iterator.hasMoreElements()) {
var panelDef = iterator.getNext();
var panelID = getAttribute(helpFileDS, panelDef, NC_PANELID, null);
var datasources = getAttribute(helpFileDS, panelDef, NC_DATASOURCES, "rdf:none");
datasources = normalizeLinks(helpBaseURI, datasources);
// cache toc datasources for use by ID lookup.
var outliner = document.getElementById("help-" + panelID + "-outliner");
outliner.setAttribute("datasources", datasources);
//if (panelID == "toc") {
if (outliner.database) {
loadDatabases(outliner.database, datasources);
outliner.builder.rebuild();
}
//}
}
}
catch (e) {
log(e + "");
}
}
}
function loadDatabases(compositeDatabase, datasources) {
var ds = datasources.split(/\s+/);
for (var i=0; i < ds.length; i++) {
if (ds[i] == "rdf:null" || ds[i] == "")
continue;
try {
// we need blocking here to ensure the database is loaded so getLink(topic) works.
var datasource = RDF.GetDataSourceBlocking(ds[i]);
if (datasource)
compositeDatabase.AddDataSource(datasource);
}
catch (e) {
log("Datasource: " + ds[i] + " was not found.");
}
}
}
// prepend helpBaseURI to list of space separated links if the don't start with "chrome:"
function normalizeLinks(helpBaseURI, links) {
if (!helpBaseURI)
return links;
var ls = links.split(/\s+/);
if (ls.length == 0)
return links;
for (var i=0; i < ls.length; i++) {
if (ls[i] == "")
continue;
if (ls[i].substr(0,7) != "chrome:" && ls[i].substr(0,4) != "rdf:")
ls[i] = helpBaseURI + ls[i];
}
return ls.join(" ");
}
function getLink(ID) {
if (!ID)
return null;
// Note resources are stored in fileURL#ID format.
// We have one possible source for an ID for each datasource in the composite datasource.
// The first ID which matches is returned.
var tocOutliner = document.getElementById("help-toc-outliner");
tocDS = tocOutliner.database;
if (tocDS == null)
return null;
var tocDatasources = tocOutliner.getAttribute("datasources");
var ds = tocDatasources.split(/\s+/);
for (var i=0; i < ds.length; i++) {
if (ds[i] == "rdf:null" || ds[i] == "")
continue;
try {
var rdfID = ds[i] + "#" + ID;
var resource = RDF.GetResource(rdfID);
if (resource) {
var link = tocDS.GetTarget(resource, NC_LINK, true);
if (link) {
link = link.QueryInterface(Components.interfaces.nsIRDFLiteral);
if (link)
return link.Value;
else
return null;
}
}
}
catch (e) { log(rdfID + " " + e);}
}
return null;
}
// Called by contextHelp.js to determine if this window is displaying the requested help file.
function getHelpFileURI() {
return helpFileURI;
}
// select the item in the tree called "Dialog Help" if the window was loaded from a dialog
function setContext() {
var items = document.getElementsByAttribute("helplink", "chrome://help/locale/context_help.html");
if (items.length) {
var tree = document.getElementById("help-toc-tree");
try { tree.selectItem(items[0].parentNode.parentNode); } catch(ex) { dump("can't select in toc: " + ex + "\n"); }
}
}
function selectTOC(link_attr) {
var items = document.getElementsByAttribute("helplink", link_attr);
if (items.length) {
openTwistyTo(items[0]);
var tree = document.getElementById("help-toc-tree");
try { tree.selectItem(items[0].parentNode.parentNode); } catch(ex) { dump("can't select in toc: " + ex + "\n"); }
}
}
// open parent nodes for the selected node
// until you get to the top of the tree
function openTwistyTo(selectedURINode)
{
var parent = selectedURINode.parentNode;
var tree = document.getElementById("help-toc-tree");
if (parent == tree)
return;
parent.setAttribute("open", "true");
openTwistyTo(parent);
}
function getWebNavigation()
{
return helpBrowser.webNavigation;
}
function loadURI(uri)
{
if (uri.substr(0,7) != "chrome:")
uri = helpBaseURI + uri;
const nsIWebNavigation = Components.interfaces.nsIWebNavigation;
getWebNavigation().loadURI(aURI, nsIWebNavigation.LOAD_FLAGS_NONE, null ,null, null);
getWebNavigation().loadURI(uri, nsIWebNavigation.LOAD_FLAGS_NONE, null, null, null);
}
function goBack()
@ -195,24 +316,7 @@ function goForward()
function goHome() {
// load "Welcome" page
loadURI("chrome://help/locale/welcome_help.html");
}
function selectItem() {
var outliner = document.getElementById("help-toc-outliner");
if (!gBuilder)
gBuilder = outliner.builder.QueryInterface(Components.interfaces.nsIXULOutlinerBuilder);
var source = gBuilder.getResourceAtIndex(outliner.outlinerBoxObject.selection.currentIndex);
if (!gRDF)
gRDF = Components.classes[kRDFContractID].getService(kRDFIID);
var property = gRDF.GetResource("http://home.netscape.com/NC-rdf#link");
var target = outliner.database.GetTarget(source, property, true);
if (target)
target = target.QueryInterface(Components.interfaces.nsIRDFLiteral).Value;
loadURI(target);
displayTopic(defaultTopic);
}
function print()
@ -319,18 +423,17 @@ function UpdateBackForwardButtons()
function find(again)
{
var focusedWindow = document.commandDispatcher.focusedWindow;
var browser = document.getElementById("help-content");
if (!focusedWindow || focusedWindow == window)
focusedWindow = window._content;
if (again)
findAgainInPage(browser, window._content, focusedWindow);
findAgainInPage(helpBrowser, window._content, focusedWindow);
else
findInPage(browser, window._content, focusedWindow)
}
function getMarkupDocumentViewer()
{
return document.getElementById("help-content").markupDocumentViewer;
return helpBrowser.markupDocumentViewer;
}
function BrowserReload()
@ -384,6 +487,182 @@ function BrowserViewSourceOfURL(url, charset)
url, charset);
}
function getBrowser() {
return document.getElementById("help-content");
//Show the selected sidebar panel
function showPanel(panelId) {
helpSearchPanel.setAttribute("hidden", "true");
helpTocPanel.setAttribute("hidden", "true");
helpIndexPanel.setAttribute("hidden", "true");
helpGlossaryPanel.setAttribute("hidden", "true");
var thePanel = document.getElementById(panelId);
thePanel.setAttribute("hidden","false");
}
function onselect_loadURI(outliner, columnName) {
try {
var row = outliner.outlinerBoxObject.view.selection.currentIndex;
var properties = Components.classes["@mozilla.org/supports-array;1"].createInstance(Components.interfaces.nsISupportsArray);
outliner.outlinerBoxObject.view.getCellProperties(row, columnName, properties);
if (!properties) return;
var uri = getPropertyValue(properties, "link-");
if (uri)
loadURI(uri);
}
catch (e) {}// when switching between tabs a spurious row number is returned.
}
/** Search properties nsISupportsArray for an nsIAtom which starts with the given property name. **/
function getPropertyValue(properties, propName) {
for (var i=0; i< properties.Count(); i++) {
var atom = properties.GetElementAt(i).QueryInterface(Components.interfaces.nsIAtom);
var atomValue = atom.GetUnicode();
if (atomValue.substr(0, propName.length) == propName)
return atomValue.substr(propName.length);
}
return null;
}
function doFind() {
var searchOutliner = document.getElementById("help-search-outliner");
var findText = document.getElementById("findText");
// clear any previous results.
clearDatabases(searchOutliner.database);
// split search string into separate terms and compile into regexp's
RE = findText.value.split(/\s+/);
for (var i=0; i < RE.length; i++) {
if (RE[i] == "")
continue;
RE[i] = new RegExp(RE[i], "i");
}
var resultsDS = Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"].createInstance(Components.interfaces.nsIRDFDataSource);
var outliner = document.getElementById("help-toc-outliner");
var sourceDS = outliner.database;
doFindOnDatasource(resultsDS, sourceDS, RDF_ROOT, 0);
// search index.
outliner = document.getElementById("help-index-outliner");
sourceDS = outliner.database;
if (!sourceDS) // If the index has never been displayed this will be null (sigh!).
sourceDS = loadCompositeDS(outliner.datasources);
doFindOnDatasource(resultsDS, sourceDS, RDF_ROOT, 0);
// search glossary.
outliner = document.getElementById("help-glossary-outliner");
sourceDS = outliner.database;
if (!sourceDS) // If the glossary has never been displayed this will be null (sigh!).
sourceDS = loadCompositeDS(outliner.datasources);
doFindOnDatasource(resultsDS, sourceDS, RDF_ROOT, 0);
// Add the datasource to the search outliner
searchOutliner.database.AddDataSource(resultsDS);
searchOutliner.builder.rebuild();
}
function clearDatabases(compositeDataSource) {
var enumDS = compositeDataSource.GetDataSources()
while (enumDS.hasMoreElements()) {
var ds = enumDS.getNext();
compositeDataSource.RemoveDataSource(ds);
}
}
function doFindOnDatasource(resultsDS, sourceDS, resource, level) {
// find all SUBHEADING children of current resource.
var targets = sourceDS.GetTargets(resource, NC_SUBHEADINGS, true);
while (targets.hasMoreElements()) {
var target = targets.getNext();
target = target.QueryInterface(Components.interfaces.nsIRDFResource);
// The first child of a rdf:subheading should (must) be a rdf:seq.
// Should we test for a SEQ here?
doFindOnSeq(resultsDS, sourceDS, target, level+1);
}
}
function doFindOnSeq(resultsDS, sourceDS, resource, level) {
// load up an RDFContainer so we can access the contents of the current rdf:seq.
RDFContainer.Init(sourceDS, resource);
var targets = RDFContainer.GetElements();
while (targets.hasMoreElements()) {
var target = targets.getNext();
target = target.QueryInterface(Components.interfaces.nsIRDFResource);
var name = sourceDS.GetTarget(target, NC_NAME, true);
name = name.QueryInterface(Components.interfaces.nsIRDFLiteral);
if (isMatch(name.Value)) {
// we have found a search entry - add it to the results datasource.
// Get URL of html for this entry.
var link = sourceDS.GetTarget(target, NC_LINK, true);
link = link.QueryInterface(Components.interfaces.nsIRDFLiteral);
urnID++;
resultsDS.Assert(RDF_ROOT,
RDF.GetResource("http://home.netscape.com/NC-rdf#child"),
RDF.GetResource("urn:" + urnID),
true);
resultsDS.Assert(RDF.GetResource("urn:" + urnID),
RDF.GetResource("http://home.netscape.com/NC-rdf#name"),
name,
true);
resultsDS.Assert(RDF.GetResource("urn:" + urnID),
RDF.GetResource("http://home.netscape.com/NC-rdf#link"),
link,
true);
}
// process any nested rdf:seq elements.
doFindOnDatasource(resultsDS, sourceDS, target, level+1);
}
}
function isMatch(text) {
for (var i=0; i < RE.length; i++ ) {
if (!RE[i].test(text))
return false;
}
return true;
}
function loadCompositeDS(datasources) {
// We can't search on each individual datasource's - only the aggregate (for each sidebar tab)
// has the appropriate structure.
var compositeDS = Components.classes["@mozilla.org/rdf/datasource;1?name=composite-datasource"]
.createInstance(Components.interfaces.nsIRDFCompositeDataSource);
var ds = datasources.split(/\s+/);
for (var i=0; i < ds.length; i++) {
if (ds[i] == "rdf:null" || ds[i] == "")
continue;
try {
// we need blocking here to ensure the database is loaded.
var sourceDS = RDF.GetDataSourceBlocking(ds[i]);
compositeDS.AddDataSource(sourceDS);
}
catch (e) {
log("Datasource: " + ds[i] + " was not found.");
}
}
return compositeDS;
}
function getAttribute(datasource, resource, attributeResourceName, defaultValue) {
var literal = datasource.GetTarget(resource, attributeResourceName, true);
if (!literal)
return defaultValue;
return getLiteralValue(literal, defaultValue);
}
function getLiteralValue(literal, defaultValue) {
if (literal) {
literal = literal.QueryInterface(Components.interfaces.nsIRDFLiteral);
if (literal)
return literal.Value;
}
if (defaultValue)
return defaultValue;
return null;
}
// Write debug string to javascript console.
function log(aText) {
CONSOLE_SERVICE.logStringMessage(aText);
}

Просмотреть файл

@ -1,11 +1,11 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://communicator/skin/help.css" type="text/css"?>
<?xml-stylesheet href="chrome://navigator/skin" type="text/css"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/contentAreaContextOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/viewZoomOverlay.xul"?>
<?xul-overlay href="chrome://navigator/content/platformNavigationBindings.xul"?>
<!DOCTYPE window [
@ -19,13 +19,13 @@
<window id="help"
windowtype="mozilla:help"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
title="&helpWin.ttl;"
width="640"
height="650"
persist="width height screenX screenY"
onload="init();" >
windowtype="mozilla:help"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
width="640"
height="650"
persist="width height screenX screenY"
onload="init();" >
<script type="application/x-javascript" src="chrome://help/content/help.js"/>
<script type="application/x-javascript" src="chrome://navigator/content/sessionHistoryUI.js"/>
@ -37,9 +37,10 @@
<script type="application/x-javascript" src="chrome://communicator/content/findUtils.js"/>
<script type="application/x-javascript" src="chrome://global/content/nsJSSupportsUtils.js"/>
<popup id="backMenu" position="after_start" onpopupshowing="return createBackMenu(event);" oncommand="gotoHistoryIndex(event);"/>
<popup id="forwardMenu" position="after_start" onpopupshowing="return createForwardMenu(event);" oncommand="gotoHistoryIndex(event);"/>
<menupopup id="backMenu" position="after_start"
onpopupshowing="return createBackMenu(event);" oncommand="gotoHistoryIndex(event);"/>
<menupopup id="forwardMenu" position="after_start"
onpopupshowing="return createForwardMenu(event);" oncommand="gotoHistoryIndex(event);"/>
<popupset id="contentAreaContextSet"/>
<broadcasterset id="helpBroadcasters">
<broadcaster id="canGoBack" disabled="true"/>
@ -69,127 +70,279 @@
<key id="printKb" key="&printCmd.commandkey;" oncommand="print();" modifiers="accel"/>
<keyset id="viewZoomKeys"/>
<keyset id="navigationKeys"/>
<key id="key_find" key="&findOnCmd.commandkey;" oncommand="find(false);" modifiers="accel"/>
<key id="key_findAgain" key="&findAgainCmd.commandkey;" oncommand="find(true);" modifiers="accel"/>
<key id="key_viewSource" key="&pageSourceCmd.commandkey;" oncommand="BrowserViewSource();" modifiers="accel"/>
<key id="key_viewInfo" key="&pageInfoCmd.commandkey;" oncommand="BrowserPageInfo();" modifiers="accel"/>
<key id="key_find"
key="&findOnCmd.commandkey;" oncommand="find(false);" modifiers="accel"/>
<key id="key_findAgain"
key="&findAgainCmd.commandkey;" oncommand="find(true);" modifiers="accel"/>
<key id="key_viewSource" key="&pageSourceCmd.commandkey;"
oncommand="BrowserViewSource();" modifiers="accel"/>
<key id="key_viewInfo" key="&pageInfoCmd.commandkey;"
oncommand="BrowserPageInfo();" modifiers="accel"/>
</keyset>
<stringbundle id="bundle_viewZoom"/>
<stringbundle id="findBundle" src="chrome://global/locale/finddialog.properties"/>
<vbox flex="1">
<!-- button bar -->
<toolbox id="help-toolbox" class="toolbox-top" deferattached="true">
<toolbar id="helpToolbar" class="toolbar-primary"
grippytooltiptext="&toolbar.tooltip;"
tbalign="stretch" persist="collapsed">
<!-- button bar -->
<toolbox id="help-toolbox" class="toolbox-top" deferattached="true">
<toolbar id="helpToolbar" class="toolbar-primary"
tooltiptext="The Help Toolbar"
tbalign="stretch" persist="collapsed">
<toolbarbutton id="helpBackButton" type="menu-button" class="toolbarbutton-1"
label="&backBtn.label;" crop="right"
oncommand="if (event.target==this) goBack(); else gotoHistoryIndex(event);"
observes="canGoBack" context="backMenu"
tooltiptext="&backButton.tooltip;">
label="&backBtn.label;"
oncommand="if (event.target==this) goBack(); else gotoHistoryIndex(event);"
observes="canGoBack" context="backMenu"
tooltiptext="&backButton.tooltip;">
<menupopup context="" onpopupshowing="createBackMenu(event);"/>
</toolbarbutton>
<toolbarbutton id="helpForwardButton" type="menu-button" class="toolbarbutton-1"
label="&fwdBtn.label;" crop="right"
tooltiptext="&forwardButton.tooltip;"
oncommand="if (event.target==this) goForward(); else gotoHistoryIndex(event);"
observes="canGoForward" context="forwardMenu">
label="&fwdBtn.label;"
tooltiptext="&forwardButton.tooltip;"
oncommand="if (event.target==this) goForward(); else gotoHistoryIndex(event);"
observes="canGoForward" context="forwardMenu">
<menupopup context="" onpopupshowing="createForwardMenu(event);"/>
</toolbarbutton>
<toolbarbutton id="helpHomeButton" class="toolbarbutton-1"
label="&homeBtn.label;" oncommand="goHome();"
tooltiptext="&homeBtn.tooltip;"/>
label="&homeBtn.label;" oncommand="goHome();"
tooltiptext="&homeBtn.tooltip;"/>
<spacer flex="1"/>
<toolbarbutton id="print" class="toolbarbutton-1"
label="&printButton.label;" oncommand="print();"
tooltiptext="&printButton.tooltip;"/>
label="&printButton.label;" oncommand="print();"
tooltiptext="&printButton.tooltip;"/>
</toolbar>
</toolbox>
<!-- the two help panes (sidebar & content) -->
<hbox flex="1">
<vbox id="helpsidebar-box" persist="width">
<button id="help-search-btn" class="box-texttab texttab-sidebar"
label="&searchtab.label;" oncommand="showPanel('help-search-panel')"/>
<vbox id="help-search-panel" hidden="true" flex="1">
<hbox>
<label value="&searchbtn.label;" align="end" flex="0"/>
<textbox id="findText" flex="1"/>
<button id="findButton" label="&gobtn.label;" oncommand="doFind()" flex="0"/>
</hbox>
<outliner id="help-search-outliner"
flex="1" hidecolumnpicker="true"
datasources="rdf:null"
containment="http://home.netscape.com/NC-rdf#child"
ref="urn:root"
flags="dont-build-content"
onselect="onselect_loadURI(this, 'ResultsColumn')">
<template>
<rule>
<conditions>
<outlineritem uri="?uri"/>
<member container="?uri" child="?subheading" />
</conditions>
<vbox id="helpsidebar-box" flex="10">
<separator class="thin"/>
<tabbox flex="1">
<tabs>
<tab label="&tab1.label;"/>
<tab label="&tab2.label;"/>
</tabs>
<tabpanels flex="1">
<hbox id="help-toc">
<outliner id="help-toc-outliner" flex="1"
datasources="chrome://help/locale/help-toc.rdf"
ref="urn:root" flags="dont-build-content"
containment="http://home.netscape.com/NC-rdf#subheadings"
onselect="selectItem();">
<template>
<rule>
<conditions>
<outlineritem uri="?uri"/>
<triple subject="?uri"
predicate="http://home.netscape.com/NC-rdf#subheadings"
object="?subheadings" />
<member container="?subheadings" child="?subheading"/>
</conditions>
<bindings>
<binding subject="?subheading"
predicate="http://home.netscape.com/NC-rdf#name"
object="?name" />
</bindings>
<action>
<outlinerchildren>
<outlineritem uri="?subheading">
<outlinerrow>
<outlinercell ref="Column" label="?name"/>
</outlinerrow>
</outlineritem>
</outlinerchildren>
</action>
</rule>
</template>
<outlinercols>
<outlinercol flex="1" id="Column" primary="true"/>
</outlinercols>
</outliner>
</hbox>
<bindings>
<binding subject="?subheading"
predicate="http://home.netscape.com/NC-rdf#name"
object="?name" />
<binding subject="?subheading"
predicate="http://home.netscape.com/NC-rdf#link"
object="?link" />
</bindings>
<hbox id="help-index">
<!-- right now this makes the toc as wide as the content area -->
<iframe flex="1" style="min-width: 0px; width: 0px;"
src="chrome://help/locale/help_index.html" />
</hbox>
<action>
<outlinerchildren>
<outlineritem uri="?subheading">
<outlinerrow>
<outlinercell label="?name"
properties="link-?link"/>
</outlinerrow>
</outlineritem>
</outlinerchildren>
</action>
</rule>
</template>
<outlinercols>
<outlinercol id="ResultsColumn" flex="1"
label="&name.label;" ignoreincolumnpicker="true"
primary="true"/>
</outlinercols>
</outliner>
</vbox>
<button id="help-toc-btn" class="box-texttab texttab-sidebar"
label="&toctab.label;" oncommand="showPanel('help-toc-outliner')"/>
<outliner id="help-toc-outliner" flex="1" hidecolumnpicker="true"
datasources="rdf:null"
containment="http://home.netscape.com/NC-rdf#subheadings"
ref="urn:root"
flags="dont-build-content"
onselect="onselect_loadURI(this, 'NameColumn')">
<template>
<rule>
<conditions>
<outlineritem uri="?uri"/>
<triple subject="?uri"
predicate="http://home.netscape.com/NC-rdf#subheadings"
object="?subheadings" />
<member container="?subheadings" child="?subheading"/>
</conditions>
<bindings>
<binding subject="?subheading"
predicate="http://home.netscape.com/NC-rdf#name"
object="?name" />
<binding subject="?subheading"
predicate="http://home.netscape.com/NC-rdf#link"
object="?link" />
</bindings>
<action>
<outlinerchildren>
<outlineritem uri="?subheading">
<outlinerrow>
<outlinercell label="?name"
properties="link-?link"/>
</outlinerrow>
</outlineritem>
</outlinerchildren>
</action>
</rule>
</template>
<outlinercols>
<outlinercol id="NameColumn" flex="1"
label="&name.label;" ignoreincolumnpicker="true"
primary="true"/>
</outlinercols>
</outliner>
<button id="help-index-btn" class="box-texttab texttab-sidebar"
label="&indextab.label;" oncommand="showPanel('help-index-outliner')"/>
<outliner id="help-index-outliner" flex="1" hidecolumnpicker="true" hidden="true"
datasources="rdf:null"
containment="http://home.netscape.com/NC-rdf#subheadings"
ref="urn:root"
flags="dont-build-content dont-test-empty"
onselect="onselect_loadURI(this, 'IndexNameColumn')">
<template>
<rule>
<conditions>
<outlineritem uri="?uri"/>
<triple subject="?uri"
predicate="http://home.netscape.com/NC-rdf#subheadings"
object="?subheadings" />
<member container="?subheadings" child="?subheading"/>
</conditions>
<bindings>
<binding subject="?subheading"
predicate="http://home.netscape.com/NC-rdf#name"
object="?name" />
<binding subject="?subheading"
predicate="http://home.netscape.com/NC-rdf#link"
object="?link" />
</bindings>
<action>
<outlinerchildren>
<outlineritem uri="?subheading">
<outlinerrow>
<outlinercell ref="IndexNameColumn" label="?name"
properties="link-?link"/>
</outlinerrow>
</outlineritem>
</outlinerchildren>
</action>
</rule>
</template>
<outlinercols>
<outlinercol id="IndexNameColumn" flex="1"
label="&name.label;" ignoreincolumnpicker="true"
primary="true"
sortActive="true"
sortDirection="ascending"
sort="?name"/>
</outlinercols>
</outliner>
<button id="help-glossary-btn" class="box-texttab texttab-sidebar"
label="&glossarytab.label;" oncommand="showPanel('help-glossary-outliner')"/>
<outliner id="help-glossary-outliner" flex="1" hidecolumnpicker="true" hidden="true"
datasources="rdf:null"
containment="http://home.netscape.com/NC-rdf#subheadings"
ref="urn:root"
flags="dont-build-content"
onselect="onselect_loadURI(this, 'GlossaryNameColumn')">
<template>
<rule>
<conditions>
<outlineritem uri="?uri"/>
<triple subject="?uri"
predicate="http://home.netscape.com/NC-rdf#subheadings"
object="?subheadings" />
<member container="?subheadings" child="?subheading"/>
</conditions>
<bindings>
<binding subject="?subheading"
predicate="http://home.netscape.com/NC-rdf#name"
object="?name" />
<binding subject="?subheading"
predicate="http://home.netscape.com/NC-rdf#link"
object="?link" />
</bindings>
<action>
<outlinerchildren>
<outlineritem uri="?subheading">
<outlinerrow>
<outlinercell label="?name"
properties="link-?link"/>
</outlinerrow>
</outlineritem>
</outlinerchildren>
</action>
</rule>
</template>
<outlinercols>
<outlinercol id="GlossaryNameColumn" flex="1"
label="&name.label;" ignoreincolumnpicker="true"
primary="true"
sortActive="true"
sortDirection="ascending"
sort="?name"/>
</outlinercols>
</outliner>
</tabpanels>
</tabbox>
</vbox>
<splitter id="helpsidebar-splitter"
collapse="before"
persist="state hidden"
state="open">
<grippy/>
collapse="before"
persist="state hidden"
autostretch="never"
state="open">
<grippy/>
</splitter>
<!-- this stuff lifted from navigator.xul -->
<vbox id="appcontent" flex="5">
<vbox id="appcontent" flex="3">
<!-- this box is temporary, pending XBLified <browser> -->
<hbox id="browser" flex="1">
<!-- type attribute is used by frame construction to locate iframes
intended to hold (html) content -->
<browser context="contentAreaContextMenu" type="content-primary" id="help-content"
src="about:blank" flex="1"
ondraggesture="nsDragAndDrop.startDrag(event, contentAreaDNDObserver);"
onclick="return contentAreaClick(event);"/>
src="about:blank" flex="1"
ondraggesture="nsDragAndDrop.startDrag(event, contentAreaDNDObserver);"
onclick="return contentAreaClick(event);"/>
</hbox>
</vbox>
</hbox>
</vbox>
</window>

Просмотреть файл

@ -10,7 +10,7 @@
<menupopup id="helpPopup">
<menuitem label="&helpContents.label;" accesskey="&helpContents.accesskey;" position="1" id="help"
oncommand="toOpenWindowByType('mozilla:help', 'chrome://help/content/help.xul');" />
oncommand="toOpenWindowByType('mozilla:help', 'chrome://help/content/help.xul');" />
</menupopup>

Просмотреть файл

@ -0,0 +1,31 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="main" orient="vertical" title="Test RelaxNG" persist="screenX screenY width height sizemode">
<script type="application/x-javascript" src="chrome://help/content/contextHelp.js"/>
<popupset id="aTooltipSet" />
<hbox>
<button label="Mozilla Help"
onclick="openHelp('chrome://help/locale/mozillahelp.rdf')"
tooltip="aTooltip"
tooltiptext="Mozilla Help"/>
<button label="Mozilla Mail Help"
onclick="openHelp('chrome://help/locale/mozillahelp.rdf?mail-doc')"
tooltip="aTooltip"
tooltiptext="Mail Help"/>
<button label="Mozilla Mail Help (shortcut)"
onclick="openHelp('?mail-doc')"
tooltip="aTooltip"
tooltiptext="Mail Help (shortcut)"/>
<button label="Test Help"
onclick="openHelp('chrome://help/locale/testhelp.rdf')"
tooltip="aTooltip"
tooltiptext="Test Help"/>
<button label="Test Mail Help"
onclick="openHelp('chrome://help/locale/testhelp.rdf?mail-doc')"
tooltip="aTooltip"
tooltiptext="Test Mail Help"/>
</hbox>
</window>

Просмотреть файл

@ -1,14 +1,20 @@
help.jar:
content/help/help.xul (content/help.xul)
content/help/contextHelp.js (content/contextHelp.js)
content/help/help.js (content/help.js)
content/help/contents.rdf (content/contents.rdf)
content/help/helpMenuOverlay.xul (content/helpMenuOverlay.xul)
content/help/test.xul (content/test.xul)
en-US.jar:
locale/en-US/help/mozillahelp.rdf (locale/en-US/mozillahelp.rdf)
locale/en-US/help/testhelp.rdf (locale/en-US/testhelp.rdf)
locale/en-US/help/help-glossary.rdf (locale/en-US/help-glossary.rdf)
locale/en-US/help/contents.rdf (locale/en-US/contents.rdf)
locale/en-US/help/welcome_help.html (locale/en-US/welcome_help.html)
locale/en-US/help/help-toc.rdf (locale/en-US/help-toc.rdf)
locale/en-US/help/help_index.html (locale/en-US/help_index.html)
locale/en-US/help/help-index1.rdf (locale/en-US/help-index1.rdf)
locale/en-US/help/help-indexAZ.rdf (locale/en-US/help-indexAZ.rdf)
locale/en-US/help/nav_help.html (locale/en-US/nav_help.html)
locale/en-US/help/mail_help.html (locale/en-US/mail_help.html)
locale/en-US/help/composer_help.html (locale/en-US/composer_help.html)
@ -21,7 +27,6 @@ en-US.jar:
locale/en-US/help/cs_nav_prefs_appearance.html (locale/en-US/cs_nav_prefs_appearance.html)
locale/en-US/help/cs_nav_prefs_navigator.html (locale/en-US/cs_nav_prefs_navigator.html)
locale/en-US/help/cs_nav_sidebar.html (locale/en-US/cs_nav_sidebar.html)
locale/en-US/help/glossary.html (locale/en-US/glossary.html)
locale/en-US/help/passwords_help.html (locale/en-US/passwords_help.html)
locale/en-US/help/prefs_help.html (locale/en-US/prefs_help.html)
locale/en-US/help/privacy_help.html (locale/en-US/privacy_help.html)

Просмотреть файл

@ -131,81 +131,82 @@ HR { border-top: solid } /* 'border-bottom' could also have been used */
.keyword {
font-family: helvetica, arial;
font-size: 12px;
text-decoration: none;
margin-top: 0;
margin-bottom: 0;
}
font-family: helvetica, arial;
font-size: 12px;
text-decoration: none;
margin-top: 0;
margin-bottom: 0;
}
.lookfor {
font-family: helvetica, arial;
font-size: 12px;
text-decoration: none;
margin-top: -6;
margin-bottom: 0;
}
font-family: helvetica, arial;
font-size: 12px;
text-decoration: none;
margin-top: -6;
margin-bottom: 0;
}
.label {
font-family: helvetica, arial;
font-size: 12px;
color: #000066;
}
font-family: helvetica, arial;
font-size: 12px;
color: #000066;
}
.container {
font-family: helvetica, arial;
font-size: 10px;
margin-top: 12;
margin-bottom: 4;
color: 000000;
font-weight:bold;
}
font-family: helvetica, arial;
font-size: 10px;
margin-top: 12;
margin-bottom: 4;
color: 000000;
font-weight:bold;
}
.unselectedItem {
font-family: helvetica, arial;
font-size: 12px;
margin-left: 4;
margin-top: 8;
margin-bottom: 4;
color: 6600ff;
}
font-family: helvetica, arial;
font-size: 12px;
margin-left: 4;
margin-top: 8;
margin-bottom: 4;
color: 6600ff;
}
.selectedItem {
font-family: helvetica, arial;
font-size: 12px;
margin-left: 4;
margin-top: 8;
margin-bottom: 4;
color: 6600ff;
font-weight: bold;
}
font-family: helvetica, arial;
font-size: 12px;
margin-left: 4;
margin-top: 8;
margin-bottom: 4;
color: 6600ff;
font-weight: bold;
}
.tocintrotext {
font-family: helvetica, arial;
font-size: 12px;
margin-top: 0;
margin-bottom: 4;
color: 000000;
}
font-family: helvetica, arial;
font-size: 12px;
margin-top: 0;
margin-bottom: 4;
color: 000000;
}
.inthissection {
font-family: arial, helvetica, sans-serif;
font-size: 12px;
line-height: .7;
}
line-height: .7;
}
.inthissections {
font-family: arial, helvetica, sans-serif;
font-size: 12px;
line-height: 1;
margin-top: 0;
margin-bottom: 4;
}
line-height: 1;
margin-top: 0;
margin-bottom: 4;
}
.banner {
font-family: arial, helvetica, sans-serif;
font-size: 24px
}
font-family: arial, helvetica, sans-serif;
font-size: 24px
}

Просмотреть файл

@ -19,5 +19,5 @@
<!-- Version Information. State that we work only with major version of this
package. -->
<RDF:Description about="urn:mozilla:locale:en-US:help"
chrome:localeVersion="0.9.8"/>
chrome:localeVersion="0.9.8"/>
</RDF:RDF>

Просмотреть файл

@ -9,7 +9,7 @@
</head>
<body bgcolor="white">
<a NAME="appearance_pref"></a>
<a NAME="nav_pref"></a>
<h1>Navigator Preferences</h1>
<p>This section describes how to use the Navigator preference panel. If you are
not already viewing the panel, follow these steps:</p>
@ -47,7 +47,7 @@
the following buttons to appear on your toolbar: Bookmarks, Search, My Netscape,
Go, Toolbar Search, Net2Phone, Home, Print, Shop.
</ul>
<p> [&nbsp;<A HREF="#appearance_pref">Return to beginning of section</A>&nbsp;]
<p> [&nbsp;<A HREF="#nav_pref">Return to beginning of section</A>&nbsp;]
</p>
<p>&nbsp;</p>
<a name="preferences:historyIDX"></a>
@ -66,7 +66,7 @@
of via the Back and Forward buttons.<br>
</li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]
<p>&nbsp;</p>
<a name="preferences:languagesIDX"></a>
<a name="Languages"></a>
@ -81,7 +81,7 @@
<li><b>Character Coding</b>: Use the drop-down list to select the character
coding you want for displaying web pages. </li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]
</p>
<p>&nbsp; </p>
<a name="preferences:helper_applicationsIDX"></a>
@ -98,7 +98,7 @@
<li><b>File Type Details</b>: Displays the file extension, MIME type, and program
that will be used to open each file of the selected filetype.</li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]
</p>
<p>&nbsp; </p>
<a name="preferences:smart_browsingIDX"></a>
@ -119,7 +119,7 @@
<li><b>Location Bar Autocomplete</b>: Click &quot;Enable Location bar autocomplete&quot;
to automatically complete text you previously entered into the Location bar.</li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]
</p>
<p>&nbsp;</p>
<a name="preferences:internet_searchIDX"></a>
@ -137,7 +137,7 @@
engine from a list when searching in Netscape. Select Advanced to select one
or more search engines from a list when searching in Netscape.</li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]</p>
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]</p>
<p>&nbsp; </p>
<hr>
<p> <i>

Просмотреть файл

@ -9,7 +9,7 @@
</head>
<body bgcolor="white">
<a NAME="appearance_pref"></a>
<a NAME="nav_pref"></a>
<h1>Navigator Preferences</h1>
<p>This section describes how to use the Navigator preference panel. If you are
not already viewing the panel, follow these steps:</p>
@ -47,7 +47,7 @@
the following buttons to appear on your toolbar: Bookmarks, Search, My Netscape,
Go, Toolbar Search, Net2Phone, Home, Print, Shop.
</ul>
<p> [&nbsp;<A HREF="#appearance_pref">Return to beginning of section</A>&nbsp;]
<p> [&nbsp;<A HREF="#nav_pref">Return to beginning of section</A>&nbsp;]
</p>
<p>&nbsp;</p>
<a name="preferences:historyIDX"></a>
@ -66,7 +66,7 @@
of via the Back and Forward buttons.<br>
</li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]
<p>&nbsp;</p>
<a name="preferences:languagesIDX"></a>
<a name="Languages"></a>
@ -81,7 +81,7 @@
<li><b>Character Coding</b>: Use the drop-down list to select the character
coding you want for displaying web pages. </li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]
</p>
<p>&nbsp; </p>
<a name="preferences:helper_applicationsIDX"></a>
@ -98,7 +98,7 @@
<li><b>File Type Details</b>: Displays the file extension, MIME type, and program
that will be used to open each file of the selected filetype.</li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]
</p>
<p>&nbsp; </p>
<a name="preferences:smart_browsingIDX"></a>
@ -119,7 +119,7 @@
<li><b>Location Bar Autocomplete</b>: Click &quot;Enable Location bar autocomplete&quot;
to automatically complete text you previously entered into the Location bar.</li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]
</p>
<p>&nbsp;</p>
<a name="preferences:internet_searchIDX"></a>
@ -137,7 +137,7 @@
engine from a list when searching in Netscape. Select Advanced to select one
or more search engines from a list when searching in Netscape.</li>
</ul>
<p>[&nbsp;<a href="#appearance_pref">Return to beginning of section</a>&nbsp;]</p>
<p>[&nbsp;<a href="#nav_pref">Return to beginning of section</a>&nbsp;]</p>
<p>&nbsp; </p>
<hr>
<p> <i>

Просмотреть файл

@ -0,0 +1,88 @@
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:nc="http://home.netscape.com/NC-rdf#">
<!-- HELP Glossary SECTION -->
<rdf:Description about="urn:root" nc:base="chrome://help/locale/glossary.html">
<nc:subheadings>
<rdf:Seq>
<rdf:li> <rdf:Description nc:name="authentication" nc:link="#998782"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="CA" nc:link="#1021395"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="CA certificate" nc:link="#1017503"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="certificate" nc:link="#1018895"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="certificate authority (CA)" nc:link="#1020903"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="certificate backup password" nc:link="#1024655"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="certificate-based authentication" nc:link="#1018581"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="certificate chain" nc:link="#1018500"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="certificate fingerprint" nc:link="#1020297"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="Certificate Manager" nc:link="#1020326"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="certificate renewal" nc:link="#1031319"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="certificate revocation list (CRL)" nc:link="#1019940"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="certificate verification" nc:link="#1025527"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="cipher" nc:link="#1021048"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="client" nc:link="#1029510"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="client authentication" nc:link="#1021054"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="client SSL certificate" nc:link="#1014561"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="cryptographic algorithm" nc:link="#1019976"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="cryptography" nc:link="#1026002"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="decryption" nc:link="#998999"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="digital ID" nc:link="#999011"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="digital signature" nc:link="#1013995"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="distinguished name (DN)" nc:link="#1022191"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="dual key pairs" nc:link="#1020489"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="eavesdropping" nc:link="#1020620"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="encryption" nc:link="#999078"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="encryption certificate" nc:link="#1024953"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="encryption key" nc:link="#1021254"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="fingerprint" nc:link="#1020434"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="FIPS PUBS 140-1" nc:link="#1025742"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="key" nc:link="#999203"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="Lightweight Directory Access Protocol (LDAP)" nc:link="#1022286"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="master key" nc:link="#1032598"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="master password" nc:link="#1032744"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="misrepresentation" nc:link="#1014057"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="nonrepudiation" nc:link="#999248"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="object signing" nc:link="#1014095"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="object-signing certificate" nc:link="#1014097"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="Online Certificate Status Protocol (OCSP)" nc:link="#1029304"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="password-based authentication" nc:link="#1014123"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="PKCS #11" nc:link="#1025194"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="PKCS #11 module" nc:link="#1025197"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="private key" nc:link="#1015387"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="public key" nc:link="#1019172"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="public-key cryptography" nc:link="#1019178"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="public-key infrastructure (PKI)" nc:link="#999412"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="root CA" nc:link="#1015631"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="Secure Sockets Layer (SSL)" nc:link="#999463"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="security certificate" nc:link="#1028900"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="security device" nc:link="#1028962"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="security module" nc:link="#1029083"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="security token" nc:link="#1028905"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="server" nc:link="#1029749"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="server authentication" nc:link="#1031070"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="server SSL certificate" nc:link="#1029874"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="signing certificate" nc:link="#999493"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="signing key" nc:link="#1021282"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="slot" nc:link="#1025218"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="smart card" nc:link="#1027625"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="software security device" nc:link="#1032045"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="spoofing" nc:link="#1014366"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="SSL" nc:link="#999533"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="subject" nc:link="#1013880"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="subject name" nc:link="#1021328"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="subordinate CA" nc:link="#999541"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="symmetric encryption" nc:link="#999604"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="tamper detection" nc:link="#999618"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="TLS" nc:link="#1027427"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="token" nc:link="#1024528"/> </rdf:li>
<rdf:li> <rdf:Description nc:name="trust" nc:link="#1019748"/> </rdf:li>
</rdf:Seq>
</nc:subheadings>
</rdf:Description>
</rdf:RDF>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,44 @@
<?xml version="1.0"?>
<!--PW?? Nodes that are not referenced at a lower level do not need an ID-->
<!--PW?? But - what about see also's i.e. xrefs within the index?'-->
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:nc="http://home.netscape.com/NC-rdf#">
<!-- NAVIGATOR HELP SECTION -->
<rdf:Description about="urn:root">
<nc:subheadings>
<rdf:Seq>
<rdf:li> <rdf:Description ID="a" nc:name="A" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="b" nc:name="B" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="c" nc:name="C" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="d" nc:name="D" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="e" nc:name="E" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="f" nc:name="F" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="g" nc:name="G" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="h" nc:name="H" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="i" nc:name="I" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="j" nc:name="J" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="k" nc:name="K" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="l" nc:name="L" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="m" nc:name="M" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="n" nc:name="N" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="o" nc:name="O" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="p" nc:name="P" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="q" nc:name="Q" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="r" nc:name="R" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="s" nc:name="S" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="t" nc:name="T" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="u" nc:name="U" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="v" nc:name="V" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="w" nc:name="W" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="x" nc:name="X" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="y" nc:name="Y" nc:link=""/> </rdf:li>
<rdf:li> <rdf:Description ID="z" nc:name="Z" nc:link=""/> </rdf:li>
</rdf:Seq>
</nc:subheadings>
</rdf:Description>
</rdf:RDF>

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,17 +1,25 @@
<!ENTITY helpWin.ttl "&brandShortName; Help" >
<!ENTITY toolbar.tooltip "Help Toolbar" >
<!ENTITY backBtn.label "Back" >
<!ENTITY fwdBtn.label "Forward" >
<!ENTITY homeBtn.label "Home" >
<!ENTITY backBtn.tooltip "Back" >
<!ENTITY fwdBtn.tooltip "Forward" >
<!ENTITY homeBtn.tooltip "Help Home Page" >
<!ENTITY t1.label "What part of &brandShortName;" >
<!ENTITY t2.label "do you need help with?" >
<!ENTITY t3.label "Click one:" >
<!ENTITY tab1.label "Contents">
<!ENTITY tab2.label "Index">
<!ENTITY helpWin.ttl "&brandShortName; Help" >
<!ENTITY toolbar.tooltip "Help Toolbar" >
<!ENTITY backBtn.label "Back" >
<!ENTITY fwdBtn.label "Forward" >
<!ENTITY homeBtn.label "Home" >
<!ENTITY backBtn.tooltip "Back" >
<!ENTITY fwdBtn.tooltip "Forward" >
<!ENTITY homeBtn.tooltip "Help Home Page" >
<!ENTITY tab1.label "Contents">
<!ENTITY tab2.label "Index">
<!-- added bt PW 1/29/02- please check for correctness-->
<!ENTITY searchtab.label "Search">
<!ENTITY searchbtn.label "Find">
<!ENTITY toctab.label "Contents">
<!ENTITY indextab.label "Index">
<!ENTITY ixname.label "Name">
<!ENTITY glossarytab.label "Glossary">
<!ENTITY glossname.label "Name">
<!-- added IO 2/7/01 -->
<!ENTITY gobtn.label "Go">
<!ENTITY name.label "Item">

Просмотреть файл

@ -0,0 +1,22 @@
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:nc="http://home.netscape.com/NC-rdf#">
<!-- MOZILLA MASTER HELP DOCUMENT -->
<rdf:Description about="urn:root"
nc:title="Mozilla Help"
nc:defaulttopic="welcome"
nc:base="chrome://help/locale/">
<nc:panellist>
<rdf:Seq>
<rdf:li> <rdf:Description nc:panelid="search" nc:datasources="rdf:null"/> </rdf:li>
<rdf:li> <rdf:Description nc:panelid="toc" nc:datasources="help-toc.rdf"/> </rdf:li>
<rdf:li> <rdf:Description nc:panelid="index" nc:datasources="help-indexAZ.rdf help-index1.rdf"/> </rdf:li>
<rdf:li> <rdf:Description nc:panelid="glossary" nc:datasources="help-glossary.rdf"/> </rdf:li>
</rdf:Seq>
</nc:panellist>
</rdf:Description>
</rdf:RDF>

Просмотреть файл

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:nc="http://home.netscape.com/NC-rdf#">
<!-- MOZILLA MASTER HELP DOCUMENT -->
<rdf:Description about="urn:root"
nc:title="Test Help."
nc:base="chrome://help/locale/"
nc:defaulttopic="nav-doc"
>
<nc:panellist>
<rdf:Seq>
<rdf:li> <rdf:Description nc:panelid="search" nc:datasources="rdf:null"/> </rdf:li>
<!-- dummy.rdf is used to test missing datasource handling-->
<rdf:li> <rdf:Description nc:panelid="toc" nc:datasources="help-toc.rdf"/> </rdf:li>
<rdf:li> <rdf:Description nc:panelid="index" nc:datasources="help-indexAZ.rdf help-index1.rdf"/> </rdf:li>
<rdf:li> <rdf:Description nc:panelid="glossary" nc:datasources="help-glossary.rdf"/> </rdf:li>
</rdf:Seq>
</nc:panellist>
</rdf:Description>
</rdf:RDF>

Просмотреть файл

@ -105,3 +105,9 @@
#helpHomeButton:hover:active {
list-style-image: url("chrome://communicator/skin/bookmarks/home-active.gif");
}
outlinercol-header
{
border : 0px;
max-height : 0px;
}

Просмотреть файл

@ -138,3 +138,9 @@
#print[disabled="true"] {
-moz-image-region: rect(0, 199px, 33px, 150px) !important;
}
outlinercol-header
{
border : 0px;
max-height : 0px;
}