зеркало из https://github.com/mozilla/pjs.git
Fixing bugscape bug 6684. Adding context sensitive help system for Account Manager dialog. r=oeschger, sr=sspitzer
This commit is contained in:
Родитель
8852aa51ad
Коммит
e81b30d1bb
|
@ -17,6 +17,8 @@
|
|||
<script type="application/x-javascript" src="chrome://messenger/content/accountUtils.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/am-prefs.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/AccountManager.js"/>
|
||||
<script type="application/x-javascript" src="chrome://messenger/content/am-help.js"/>
|
||||
<script type="application/x-javascript" src="chrome://help/content/help.js"/>
|
||||
|
||||
<keyset id="dialogKeys"/>
|
||||
|
||||
|
@ -70,6 +72,6 @@
|
|||
|
||||
<separator/>
|
||||
|
||||
<box id="okCancelButtonsRight"/>
|
||||
<box id="okCancelHelpButtonsRight"/>
|
||||
|
||||
</window>
|
||||
|
|
|
@ -0,0 +1,97 @@
|
|||
/* -*- 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.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Global help XUL document from which the URI corresponding to
|
||||
* the help tag passed is extracted.
|
||||
*/
|
||||
var gHelpURL = 'chrome://help/content/help.xul';
|
||||
|
||||
/**
|
||||
* Key value pairs to derive the tag based on the page loaded.
|
||||
* Each key is the page loaded when user clicks on one of the items on
|
||||
* the accounttree of the AccountManager window.
|
||||
* Value is a tag that is preset which will be used to display
|
||||
* context sensitive help.
|
||||
*/
|
||||
var pageTagPairs = {
|
||||
"chrome://messenger/content/am-main.xul": "?mail_account_identity",
|
||||
"chrome://messenger/content/am-server.xul": "?mail",
|
||||
"chrome://messenger/content/am-copies.xul": "?mail_copies",
|
||||
"chrome://messenger/content/am-addressing.xul": "?mail_addressing_settings",
|
||||
"chrome://messenger/content/am-offline.xul": "?mail",
|
||||
"chrome://messenger/content/am-smtp.xul": "?mail_smtp"
|
||||
}
|
||||
|
||||
function doHelpButton()
|
||||
{
|
||||
// Get the URI of the page loaded in the AccountManager's content frame.
|
||||
var pageSourceURI = document.getElementById("contentFrame").getAttribute("src");
|
||||
// Get the help tag corresponding to the page loaded.
|
||||
var helpTag = pageTagPairs[pageSourceURI];
|
||||
|
||||
// If the help tag is generic, check if there is a need to set tags per server type
|
||||
if (helpTag == "?mail") {
|
||||
// Get server type, as we may need to set help tags per server type for some pages
|
||||
var serverType = GetServerType();
|
||||
|
||||
/**
|
||||
* Check the page to be loaded. Following pages needed to be presented with the
|
||||
* help content that is based on server type. For any pages with such requirement
|
||||
* do add comments here about the page and a new case statement for pageSourceURI
|
||||
* switch.
|
||||
* - server settings ("chrome://messenger/content/am-server.xul")
|
||||
* - offline/diskspace settings ("chrome://messenger/content/am-offline.xul")
|
||||
*/
|
||||
switch (pageSourceURI) {
|
||||
case "chrome://messenger/content/am-server.xul":
|
||||
helpTag = "?mail_server_" + serverType;
|
||||
break;
|
||||
|
||||
case "chrome://messenger/content/am-offline.xul":
|
||||
helpTag = "?mail_offline_" + serverType;
|
||||
break;
|
||||
|
||||
default :
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ( helpTag )
|
||||
openHelp(gHelpURL + helpTag);
|
||||
else
|
||||
openHelp(gHelpURL + '?mail');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get server type of the seleted item
|
||||
*/
|
||||
function GetServerType()
|
||||
{
|
||||
var serverType = null;
|
||||
var idStruct = getServerIdAndPageIdFromTree(accounttree);
|
||||
if (idStruct) {
|
||||
var account = getAccountFromServerId(idStruct.serverId);
|
||||
if (account) {
|
||||
serverType = account.incomingServer.type;
|
||||
}
|
||||
}
|
||||
return serverType;
|
||||
}
|
|
@ -31,6 +31,7 @@ messenger.jar:
|
|||
content/messenger/AccountManager.js (base/prefs/resources/content/AccountManager.js)
|
||||
content/messenger/am-main.xul (base/prefs/resources/content/am-main.xul)
|
||||
content/messenger/am-main.js (base/prefs/resources/content/am-main.js)
|
||||
content/messenger/am-help.js (base/prefs/resources/content/am-help.js)
|
||||
content/messenger/am-identity-advanced.xul (base/prefs/resources/content/am-identity-advanced.xul)
|
||||
content/messenger/am-identity-advanced.js (base/prefs/resources/content/am-identity-advanced.js)
|
||||
content/messenger/am-server.xul (base/prefs/resources/content/am-server.xul)
|
||||
|
|
Загрузка…
Ссылка в новой задаче