зеркало из https://github.com/mozilla/gecko-dev.git
begin series of checkins containing partial fixes for 32347, 30536, 41120
This commit is contained in:
Родитель
7e5991d58e
Коммит
e8f0278010
|
@ -2,3 +2,7 @@ communicatorOverlay.xul
|
|||
utilityOverlay.xul
|
||||
utilityOverlay.js
|
||||
utilityOverlay.css
|
||||
taskbarOverlay.xul
|
||||
tasksOverlay.js
|
||||
tasksOverlay.xul
|
||||
dialogBindings.xml
|
||||
|
|
|
@ -40,6 +40,10 @@ CHROME_CONTENT = \
|
|||
utilityOverlay.xul \
|
||||
utilityOverlay.js \
|
||||
utilityOverlay.css \
|
||||
taskbarOverlay.xul \
|
||||
tasksOverlay.js \
|
||||
tasksOverlay.xul \
|
||||
dialogBindings.xml \
|
||||
$(NULL)
|
||||
|
||||
DIRS = unix
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<bindings id="dialogBindings"
|
||||
xmlns="http://www.mozilla.org/xbl"
|
||||
xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<binding id="smallheader">
|
||||
<content>
|
||||
<xul:box class="toolbar-primary" autostretch="never" flex="1">
|
||||
<xul:text class="box-smallheader-left" inherits="title:value"/>
|
||||
<xul:spring flex="1"/>
|
||||
<xul:text class="box-smallheader-right" inherits="description:value"/>
|
||||
</xul:box>
|
||||
</content>
|
||||
<interface>
|
||||
<property name="title" onset="this.setAttribute('title',val); return val;"
|
||||
onget="return this.getAttribute('title');"/>
|
||||
<property name="description" onset="this.setAttribute('description',val); return val;"
|
||||
onget="return this.getAttribute('description');"/>
|
||||
</interface>
|
||||
</binding>
|
||||
|
||||
<binding id="largeheader">
|
||||
<content>
|
||||
<xul:box class="box-header-header toolbar-primary" flex="1" autostretch="never">
|
||||
<xul:image inherits="src" class="box-header-circle"/>
|
||||
<xul:box autostretch="never" class="box-header-text-box">
|
||||
<xul:text class="box-header-text" inherits="value"/>
|
||||
</xul:box>
|
||||
<xul:spring flex="1"/>
|
||||
</xul:box>
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
<binding id="status">
|
||||
<content>
|
||||
<xul:box class="box-status-bg toolbar-standard" flex="1">
|
||||
<xul:text class="box-status-text" inherits="value"/>
|
||||
<xul:spring flex="1"/>
|
||||
<xul:text class="box-status-progress" inherits="progress:value"/>
|
||||
</xul:box>
|
||||
</content>
|
||||
</binding>
|
||||
|
||||
</bindings>
|
|
@ -37,6 +37,10 @@ CHROME_CONTENT = \
|
|||
.\utilityOverlay.xul \
|
||||
.\utilityOverlay.js \
|
||||
.\utilityOverlay.css \
|
||||
.\taskbarOverlay.xul \
|
||||
.\tasksOverlay.js \
|
||||
.\tasksOverlay.xul \
|
||||
.\dialogBindings.xml \
|
||||
$(NULL)
|
||||
|
||||
include <$(DEPTH)\config\rules.mak>
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
<?xml version="1.0"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
|
||||
%brandDTD;
|
||||
<!ENTITY % taskbarDTD SYSTEM "chrome://communicator/locale/taskbarOverlay.dtd" >
|
||||
%taskbarDTD;
|
||||
]>
|
||||
|
||||
<overlay id="taskbarOverlay"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<box id="taskbarMenuBox" flex="10" datasources="chrome://communicator/locale/taskbar.rdf"
|
||||
ref="chrome://communicator/locale/taskbar.rdf#root"
|
||||
rdf:containment="http://home.netscape.com/NC-rdf#entry http://home.netscape.com/NC-rdf#child">
|
||||
|
||||
<spring flex="1"/>
|
||||
|
||||
<template>
|
||||
<!-- Rules for content hanging _directly_ off the toolbar -->
|
||||
<rule parent="box" iscontainer="true">
|
||||
<menubutton class="button-toolbar-4 plain"
|
||||
uri="..." tooltip="aTooltip"
|
||||
tooltiptext="rdf:http://home.netscape.com/NC-rdf#tooltip"
|
||||
value="rdf:http://home.netscape.com/NC-rdf#title">
|
||||
<menupopup popupalign="bottomleft" popupanchor="topleft"/>
|
||||
</menubutton>
|
||||
<spring uri="rdf:*" class="taskbarspacer" flex="1"/>
|
||||
</rule>
|
||||
|
||||
<rule parent="box">
|
||||
<button class="button-toolbar-4 plain" uri="rdf:*" value="rdf:http://home.netscape.com/NC-rdf#title"
|
||||
crop="right"/>
|
||||
</rule>
|
||||
|
||||
<!-- Recursive rules for nested folders -->
|
||||
<rule iscontainer="true">
|
||||
<menupopup>
|
||||
<menu uri="rdf:*" value="rdf:http://home.netscape.com/NC-rdf#title" >
|
||||
<menupopup/>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</rule>
|
||||
|
||||
<!-- second level folders -->
|
||||
<rule iscontainer="true">
|
||||
<menupopup popupalign="bottomleft" popupanchor="topleft">
|
||||
<menu uri="..." value="rdf:http://home.netscape.com/NC-rdf#title">
|
||||
<menupopup/>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</rule>
|
||||
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="..." value="rdf:http://home.netscape.com/NC-rdf#title"
|
||||
oncommand="rdf:http://home.netscape.com/NC-rdf#content"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
|
||||
</template>
|
||||
<spring class="taskbarspacer" flex="9"/>
|
||||
</box>
|
||||
|
||||
<box id="taskbarGotoMenuBox" align="right" flex="1">
|
||||
<!-- The "Open Windows" menu uses the window mediator
|
||||
to display all of the open windows -->
|
||||
<menubutton oncommand="ShowWindowFromResource(event.target)"
|
||||
datasources="rdf:window-mediator" ref="NC:WindowMediatorRoot"
|
||||
tooltip="aTooltip" tooltiptext="&taskWindowList.tooltip;"
|
||||
value="&openWinButton.label;" class="button-toolbar-4 plain">
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem uri="rdf:*" value="rdf:http://home.netscape.com/NC-rdf#Name"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
<menupopup popupalign="bottomleft" popupanchor="topleft" />
|
||||
</menubutton>
|
||||
|
||||
<!-- spacer to accommodate mac resize box -->
|
||||
<spring style="width: 20px;"/>
|
||||
</box>
|
||||
|
||||
</overlay>
|
|
@ -0,0 +1,395 @@
|
|||
|
||||
function toNavigator()
|
||||
{
|
||||
CycleWindow('navigator:browser', getBrowserURL());
|
||||
}
|
||||
|
||||
// Set up a lame hack to avoid opening two bookmarks.
|
||||
// Could otherwise happen with two Ctrl-B's in a row.
|
||||
var gDisableHistory = false;
|
||||
function enableHistory() {
|
||||
gDisableHistory = false;
|
||||
}
|
||||
|
||||
function toHistory()
|
||||
{
|
||||
// Use a single sidebar history dialog
|
||||
|
||||
var cwindowManager = Components.classes['component://netscape/rdf/datasource?name=window-mediator'].getService();
|
||||
var iwindowManager = Components.interfaces.nsIWindowMediator;
|
||||
var windowManager = cwindowManager.QueryInterface(iwindowManager);
|
||||
|
||||
var historyWindow = windowManager.getMostRecentWindow('history:manager');
|
||||
|
||||
if (historyWindow) {
|
||||
//debug("Reuse existing history window");
|
||||
historyWindow.focus();
|
||||
} else {
|
||||
//debug("Open a new history dialog");
|
||||
|
||||
if (true == gDisableHistory) {
|
||||
//debug("Recently opened one. Wait a little bit.");
|
||||
return;
|
||||
}
|
||||
gDisableHistory = true;
|
||||
|
||||
window.open( "chrome://communicator/content/history/history.xul", "_blank", "chrome,menubar,resizable,scrollbars" );
|
||||
setTimeout(enableHistory, 2000);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function toJavaScriptConsole()
|
||||
{
|
||||
toOpenWindowByType("global:console", "chrome://global/content/console.xul");
|
||||
}
|
||||
|
||||
function toJavaConsole()
|
||||
{
|
||||
try{
|
||||
var cid =
|
||||
Components.classes['component://netscape/oji/jvm-mgr'];
|
||||
var iid = Components.interfaces.nsIJVMManager;
|
||||
var jvmMgr = cid.getService(iid);
|
||||
jvmMgr.ShowJavaConsole();
|
||||
} catch(e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function toOpenWindowByType( inType, uri )
|
||||
{
|
||||
var windowManager = Components.classes['component://netscape/rdf/datasource?name=window-mediator'].getService();
|
||||
|
||||
var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
|
||||
|
||||
var topWindow = windowManagerInterface.getMostRecentWindow( inType );
|
||||
|
||||
if ( topWindow )
|
||||
topWindow.focus();
|
||||
else
|
||||
window.open(uri, "_blank", "chrome,menubar,toolbar,resizable");
|
||||
}
|
||||
|
||||
|
||||
function OpenBrowserWindow()
|
||||
{
|
||||
dump("In OpenBrowserWindw()...\n");
|
||||
var charsetArg = new String();
|
||||
var handler = Components.classes['component://netscape/commandlinehandler/general-startup-browser'];
|
||||
handler = handler.getService();
|
||||
handler = handler.QueryInterface(Components.interfaces.nsICmdLineHandler);
|
||||
var startpage = handler.defaultArgs;
|
||||
var url = handler.chromeUrlForTask;
|
||||
|
||||
// if and only if the current window is a browser window and it has a document with a character
|
||||
// set, then extract the current charset menu setting from the current document and use it to
|
||||
// initialize the new browser window...
|
||||
if (window && (window.windowtype == "navigator:browser") && window.content && window.content.document)
|
||||
{
|
||||
var DocCharset = window.content.document.characterSet;
|
||||
charsetArg = "charset="+DocCharset;
|
||||
dump("*** Current document charset: " + DocCharset + "\n");
|
||||
|
||||
//we should "inherit" the charset menu setting in a new window
|
||||
window.openDialog(url, "_blank", "chrome,all,dialog=no", startpage, charsetArg);
|
||||
}
|
||||
else // forget about the charset information.
|
||||
{
|
||||
window.openDialog(url, "_blank", "chrome,all,dialog=no", startpage);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function CycleWindow( inType, inChromeURL )
|
||||
{
|
||||
var windowManager = Components.classes['component://netscape/rdf/datasource?name=window-mediator'].getService();
|
||||
dump("got window Manager \n");
|
||||
var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
|
||||
dump("got interface \n");
|
||||
|
||||
var desiredWindow = null;
|
||||
|
||||
var topWindowOfType = windowManagerInterface.getMostRecentWindow( inType );
|
||||
var topWindow = windowManagerInterface.getMostRecentWindow( null );
|
||||
dump( "got windows \n");
|
||||
|
||||
dump( "topWindowOfType = " + topWindowOfType + "\n");
|
||||
if ( topWindowOfType == null )
|
||||
{
|
||||
if ( inType == "navigator:browser" )
|
||||
OpenBrowserWindow();
|
||||
else if ( inType == "composer:html" ) /* open editor window */
|
||||
NewEditorWindow();
|
||||
else
|
||||
{
|
||||
/* what to do here? */
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if ( topWindowOfType != topWindow )
|
||||
{
|
||||
dump( "first not top so give focus \n");
|
||||
topWindowOfType.focus();
|
||||
return;
|
||||
}
|
||||
|
||||
var enumerator = windowManagerInterface.getEnumerator( inType );
|
||||
firstWindow = windowManagerInterface.convertISupportsToDOMWindow ( enumerator.getNext() );
|
||||
if ( firstWindow == topWindowOfType )
|
||||
{
|
||||
dump( "top most window is first window \n");
|
||||
firstWindow = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
dump("find topmost window \n");
|
||||
while ( enumerator.hasMoreElements() )
|
||||
{
|
||||
var nextWindow = windowManagerInterface.convertISupportsToDOMWindow ( enumerator.getNext() );
|
||||
if ( nextWindow == topWindowOfType )
|
||||
break;
|
||||
}
|
||||
}
|
||||
desiredWindow = firstWindow;
|
||||
if ( enumerator.hasMoreElements() )
|
||||
{
|
||||
dump( "Give focus to next window in the list \n");
|
||||
desiredWindow = windowManagerInterface.convertISupportsToDOMWindow ( enumerator.getNext() );
|
||||
}
|
||||
|
||||
if ( desiredWindow )
|
||||
{
|
||||
desiredWindow.focus();
|
||||
dump("focusing window \n");
|
||||
}
|
||||
else
|
||||
{
|
||||
dump("open window \n");
|
||||
if ( inType == "navigator:browser" )
|
||||
window.OpenBrowserWindow();
|
||||
else if ( inType == "composer:html" ) /* open editor window */
|
||||
NewEditorWindow();
|
||||
else
|
||||
{
|
||||
/* what to do here? */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function toEditor()
|
||||
{
|
||||
CycleWindow('composer:html', 'chrome://editor/content/editor.xul');
|
||||
}
|
||||
|
||||
function ShowWindowFromResource( node )
|
||||
{
|
||||
var windowManager = Components.classes['component://netscape/rdf/datasource?name=window-mediator'].getService();
|
||||
dump("got window Manager \n");
|
||||
var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator);
|
||||
dump("got interface \n");
|
||||
|
||||
var desiredWindow = null;
|
||||
var url = node.getAttribute('id');
|
||||
dump( url +" finding \n" );
|
||||
desiredWindow = windowManagerInterface.getWindowForResource( url );
|
||||
dump( "got window \n");
|
||||
if ( desiredWindow )
|
||||
{
|
||||
dump("focusing \n");
|
||||
desiredWindow.focus();
|
||||
}
|
||||
}
|
||||
|
||||
function OpenTaskURL( inURL )
|
||||
{
|
||||
dump("loading "+inURL+"\n");
|
||||
|
||||
window.open( inURL );
|
||||
}
|
||||
|
||||
function ShowUpdateFromResource( node )
|
||||
{
|
||||
var url = node.getAttribute('url');
|
||||
dump( url +" finding \n" );
|
||||
// hack until I get a new interface on xpiflash to do a
|
||||
// look up on the name/url pair.
|
||||
OpenTaskURL( "http://www.mozilla.org/binaries.html");
|
||||
}
|
||||
/**
|
||||
* WALLET submenu
|
||||
*/
|
||||
function HideWallet() {
|
||||
var element;
|
||||
element = document.getElementById("wallet");
|
||||
element.setAttribute("style","display: none;" );
|
||||
element.setAttribute("disabled","true" );
|
||||
}
|
||||
|
||||
function HideImage() {
|
||||
var element;
|
||||
element = document.getElementById("image");
|
||||
element.setAttribute("style","display: none;" );
|
||||
element.setAttribute("disabled","true" );
|
||||
}
|
||||
|
||||
function HideImage() {
|
||||
var element;
|
||||
element = document.getElementById("image");
|
||||
element.setAttribute("style","display: none;" );
|
||||
element.setAttribute("disabled","true" );
|
||||
}
|
||||
|
||||
function HideEncryptOrObscure() {
|
||||
var elementOn, elementOff;
|
||||
if (this.pref.GetBoolPref("wallet.crypto")) {
|
||||
elementOn = document.getElementById("obscure");
|
||||
elementOff = document.getElementById("encrypt");
|
||||
} else {
|
||||
elementOn = document.getElementById("encrypt");
|
||||
elementOff = document.getElementById("obscure");
|
||||
}
|
||||
elementOn.setAttribute("disabled","false");
|
||||
elementOff.setAttribute("disabled","true");
|
||||
}
|
||||
|
||||
function CheckForWalletAndImage()
|
||||
{
|
||||
// remove either encrypt or obscure depending on pref setting
|
||||
HideEncryptOrObscure();
|
||||
|
||||
// remove wallet functions if not in browser
|
||||
try {
|
||||
if (!appCore) {
|
||||
HideWallet();
|
||||
}
|
||||
} catch(e) {
|
||||
HideWallet();
|
||||
}
|
||||
|
||||
// remove wallet functions (unless overruled by the "wallet.enabled" pref)
|
||||
try {
|
||||
if (!this.pref.GetBoolPref("wallet.enabled")) {
|
||||
HideWallet();
|
||||
}
|
||||
} catch(e) {
|
||||
dump("wallet.enabled pref is missing from all.js\n");
|
||||
}
|
||||
|
||||
// remove image functions (unless overruled by the "imageblocker.enabled" pref)
|
||||
try {
|
||||
if (!this.pref.GetBoolPref("imageblocker.enabled")) {
|
||||
HideImage();
|
||||
}
|
||||
} catch(e) {
|
||||
dump("imageblocker.enabled pref is missing from all.js\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// perform a wallet action
|
||||
function WalletAction( action )
|
||||
{
|
||||
if (action == "password" || action == "expire") {
|
||||
wallet = Components.classes['component://netscape/wallet/wallet-service'];
|
||||
wallet = wallet.getService();
|
||||
wallet = wallet.QueryInterface(Components.interfaces.nsIWalletService);
|
||||
|
||||
if (action == "password") {
|
||||
wallet.WALLET_ChangePassword();
|
||||
} else if (action == "expire") {
|
||||
wallet.WALLET_ExpirePassword();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (action == "encrypt" || action == "obscure") {
|
||||
if (action == "encrypt") {
|
||||
this.pref.SetBoolPref("wallet.crypto", true);
|
||||
} else if (action == "obscure") {
|
||||
this.pref.SetBoolPref("wallet.crypto", false);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (action == "cookieAllow" || action == "cookieBlock" ||
|
||||
action == "imageAllow" || action == "imageBlock") {
|
||||
|
||||
var cookieViewer =
|
||||
Components.classes["component://netscape/cookieviewer/cookieviewer-world"]
|
||||
.createInstance(Components.interfaces["nsICookieViewer"]);
|
||||
|
||||
COOKIEPERMISSION = 0;
|
||||
IMAGEPERMISSION = 1;
|
||||
|
||||
var element;
|
||||
if (action == "cookieAllow") {
|
||||
cookieViewer.AddPermission(window.content, true, COOKIEPERMISSION);
|
||||
element = document.getElementById("AllowCookies");
|
||||
alert(element.getAttribute("msg"));
|
||||
} else if (action == "cookieBlock") {
|
||||
cookieViewer.AddPermission(window.content, false, COOKIEPERMISSION);
|
||||
element = document.getElementById("BlockCookies");
|
||||
alert(element.getAttribute("msg"));
|
||||
} else if (action == "imageAllow") {
|
||||
cookieViewer.AddPermission(window.content, true, IMAGEPERMISSION);
|
||||
element = document.getElementById("AllowImages");
|
||||
alert(element.getAttribute("msg"));
|
||||
} else if (action == "imageBlock") {
|
||||
cookieViewer.AddPermission(window.content, false, IMAGEPERMISSION);
|
||||
element = document.getElementById("BlockImages");
|
||||
alert(element.getAttribute("msg"));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if( appCore ) {
|
||||
switch( action ) {
|
||||
case "safefill":
|
||||
appCore.walletPreview(window, window.content);
|
||||
break;
|
||||
// case "password":
|
||||
// appCore.walletChangePassword();
|
||||
// break;
|
||||
case "quickfill":
|
||||
appCore.walletQuickFillin(window.content);
|
||||
break;
|
||||
case "capture":
|
||||
default:
|
||||
appCore.walletRequestToCapture(window.content);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// display a Wallet Dialog
|
||||
function WalletDialog( which )
|
||||
{
|
||||
switch( which ) {
|
||||
case "signon":
|
||||
window.openDialog("chrome://communicator/content/wallet/SignonViewer.xul","SSViewer","modal=yes,chrome,resizable=no");
|
||||
break;
|
||||
case "cookie":
|
||||
this.pref.SetBoolPref("cookieviewer.cookieTab", true);
|
||||
window.openDialog("chrome://communicator/content/wallet/CookieViewer.xul","CookieViewer","modal=yes,chrome,resizable=no");
|
||||
break;
|
||||
case "image":
|
||||
this.pref.SetBoolPref("cookieviewer.cookieTab", false);
|
||||
window.openDialog("chrome://communicator/content/wallet/CookieViewer.xul","CookieViewer","modal=yes,chrome,resizable=no");
|
||||
break;
|
||||
case "samples":
|
||||
window.content.location.href= 'http://www.mozilla.org/wallet/samples/';
|
||||
break;
|
||||
case "interview":
|
||||
window.content.location.href= 'http://www.mozilla.org/wallet/samples/INTERVIEW.HTML';
|
||||
break;
|
||||
case "wallet":
|
||||
default:
|
||||
window.openDialog("chrome://communicator/content/wallet/WalletEditor.xul","walletEditor","modal=yes,chrome,resizable=no");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
<?xml version="1.0"?>
|
||||
<?xml-stylesheet href="chrome://communicator/skin/tasksOverlay.css" type="text/css"?>
|
||||
<?xul-overlay href="chrome://communicator/content/PSMTaskMenu.xul"?>
|
||||
|
||||
<!DOCTYPE window [
|
||||
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
|
||||
%brandDTD;
|
||||
<!ENTITY % tasksDTD SYSTEM "chrome://communicator/locale/tasksOverlay.dtd" >
|
||||
%tasksDTD;
|
||||
]>
|
||||
|
||||
<?xul-overlay href="chrome://communicator/content/taskbarOverlay.xul"?>
|
||||
|
||||
<overlay id="tasksOverlay"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<script language="JavaScript" src="chrome://communicator/content/tasksOverlay.js"/>
|
||||
|
||||
<broadcasterset id="broadcasterset"/>
|
||||
|
||||
<!-- Tasks Menu -->
|
||||
<menu id="tasksMenu" value="&tasksMenu.label;" datasources="rdf:window-mediator" ref="NC:WindowMediatorRoot">
|
||||
<template>
|
||||
<rule>
|
||||
<menupopup>
|
||||
<menuitem uri="rdf:*" value="rdf:http://home.netscape.com/NC-rdf#Name" oncommand="ShowWindowFromResource(event.target)"/>
|
||||
</menupopup>
|
||||
</rule>
|
||||
</template>
|
||||
|
||||
<menupopup id="taskPopup">
|
||||
<menuitem value="&navigatorCmd.label;" oncommand="toNavigator()"/>
|
||||
<menuitem value="&editorCmd.label;" oncommand="toEditor();" />
|
||||
<menuseparator/>
|
||||
|
||||
<menuitem value="&addressBookCmd.label;" oncommand="toAddressBook()"/>
|
||||
<menuitem value="&newsgroupsCmd.label;" disabled="true" oncommand="toNewsgroups()"/>
|
||||
<menuseparator/>
|
||||
|
||||
<menu value="&walletMenu.label;">
|
||||
<menupopup id="personalManagers" oncreate="CheckForWalletAndImage()">
|
||||
<menu value="&walletPasswordManager.label;">
|
||||
<menupopup>
|
||||
<menuitem value="&walletDisplaySignonsCmd.label;" oncommand="WalletDialog('signon');"/>
|
||||
<menuitem value="&walletChangePasswordCmd.label;" oncommand="WalletAction('password');"/>
|
||||
<menuitem value="&walletExpirePasswordCmd.label;" oncommand="WalletAction('expire');"/>
|
||||
<menuseparator/>
|
||||
<menuitem value="&walletEncryptCmd.label;" id="encrypt"
|
||||
oncommand="WalletAction('encrypt');"/>
|
||||
<menuitem value="&walletObscureCmd.label;" id="obscure"
|
||||
oncommand="WalletAction('obscure');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu value="&walletCookieManager.label;">
|
||||
<menupopup>
|
||||
<menuitem value="&walletDisplayCookiesCmd.label;"
|
||||
oncommand="WalletDialog('cookie');"/>
|
||||
<menuitem id="AllowCookies" value="&walletAllowCookiesCmd.label;"
|
||||
msg="&walletAllowCookiesMsg.label;"
|
||||
oncommand="WalletAction('cookieAllow');"/>
|
||||
<menuitem id="BlockCookies" value="&walletBlockCookiesCmd.label;"
|
||||
msg="&walletBlockCookiesMsg.label;"
|
||||
oncommand="WalletAction('cookieBlock');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu value="&walletImageManager.label;" id="image">
|
||||
<menupopup>
|
||||
<menuitem value="&walletDisplayImagesCmd.label;"
|
||||
oncommand="WalletDialog('image');"/>
|
||||
<menuitem id="AllowImages" value="&walletAllowImagesCmd.label;"
|
||||
msg="&walletAllowImagesMsg.label;"
|
||||
oncommand="WalletAction('imageAllow');"/>
|
||||
<menuitem id="BlockImages" value="&walletBlockImagesCmd.label;"
|
||||
msg="&walletBlockImagesMsg.label;"
|
||||
oncommand="WalletAction('imageBlock');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu value="&walletFormManager.label;" id="wallet">
|
||||
<menupopup>
|
||||
<menuitem id="walleteditor" value="&walletContentsCmd.label;" oncommand="WalletDialog('wallet');"/>
|
||||
<menuitem value="&walletSafeFillCmd.label;" id="walletSafeFill" oncommand="WalletAction('safefill');"/>
|
||||
<menuitem value="&walletQuickFillCmd.label;" id="walletQuickFill" oncommand="WalletAction('quickfill');"/>
|
||||
<menuitem value="&walletRequestToCaptureCmd.label;" id="walletCapture" oncommand="WalletAction('capture');"/>
|
||||
<menuitem value="&walletInterviewCmd.label;" id="walletInterview" oncommand="WalletDialog('interview');"/>
|
||||
<menuitem value="&walletSamplesCmd.label;" id="walletSamples" oncommand="WalletDialog('samples');"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
|
||||
<menu value="&toolsMenu.label;">
|
||||
<menupopup id="toolsPopup">
|
||||
<menuitem value="&historyCmd.label;" oncommand="toHistory()"/>
|
||||
<menuitem value="&importUtilCmd.label;" oncommand="toImport()"/>
|
||||
<menuitem value="&javaConsoleCmd.label;" oncommand="toJavaConsole()"/>
|
||||
<menuitem value="&javaScriptConsoleCmd.label;" oncommand="toJavaScriptConsole();"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
||||
<toolbox id="taskbar">
|
||||
<toolbar class="toolbar-standard chromeclass-status" persist="collapsed" style="min-width: 1px;"
|
||||
grippytooltip="aTooltip" grippytooltiptext="&taskBar.tooltip;">
|
||||
<box id="taskButtons">
|
||||
<button class="button-toolbar-4 plain taskbutton" id="mini-nav" onclick="toNavigator();"
|
||||
tooltip="aTooltip" tooltiptext="&taskNavigator.tooltip;"/>
|
||||
<button class="button-toolbar-4 plain taskbutton" id="mini-comp" onclick="toEditor();"
|
||||
tooltip="aTooltip" tooltiptext="&taskComposer.tooltip;"/>
|
||||
<button class="button-toolbar-4 plain taskbutton" id="mini-addr" onclick="toAddressBook()"
|
||||
tooltip="aTooltip" tooltiptext="&taskAddressBook.tooltip;"/>
|
||||
</box>
|
||||
<box id="taskbarMenuBox"/>
|
||||
<box id="taskbarGotoMenuBox" align="right"/>
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
|
||||
</overlay>
|
|
@ -55,29 +55,6 @@ function goPageSetup()
|
|||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
function goOpenNewMessage()
|
||||
{
|
||||
var msgComposeService = Components.classes["component://netscape/messengercompose"].getService();
|
||||
msgComposeService = msgComposeService.QueryInterface(Components.interfaces.nsIMsgComposeService);
|
||||
|
||||
msgComposeService.OpenComposeWindow(null,
|
||||
null,
|
||||
Components.interfaces.nsIMsgCompType.New,
|
||||
Components.interfaces.nsIMsgCompFormat.Default,
|
||||
null);
|
||||
}
|
||||
|
||||
function goNewCardDialog(selectedAB)
|
||||
{
|
||||
window.openDialog("chrome://messenger/content/addressbook/abNewCardDialog.xul",
|
||||
"",
|
||||
"chrome,resizeable=no,modal",
|
||||
{selectedAB:selectedAB});
|
||||
}
|
||||
|
||||
|
||||
function goEditCardDialog(abURI, card, okCallback)
|
||||
{
|
||||
window.openDialog("chrome://messenger/content/addressbook/abEditCardDialog.xul",
|
||||
|
@ -287,13 +264,3 @@ function helpMenuCreate()
|
|||
relItem.setAttribute("oncommand", relCommand);
|
||||
}
|
||||
|
||||
function SendPage()
|
||||
{
|
||||
var pageUrl = window.content.location.href;
|
||||
var pageTitle = window.content.document.title;
|
||||
window.openDialog( "chrome://messenger/content/messengercompose/messengercompose.xul", "_blank",
|
||||
"chrome,all,dialog=no",
|
||||
"attachment='" + pageUrl + "',body='" + pageUrl +
|
||||
"',subject='" + pageTitle + "',bodyislink=true");
|
||||
}
|
||||
|
||||
|
|
|
@ -30,9 +30,7 @@
|
|||
|
||||
<!-- New SubMenu (Under File Menu) -->
|
||||
<broadcaster id="cmd_newNavigator" oncommand="OpenBrowserWindow()"/>
|
||||
<broadcaster id="cmd_newMessage" oncommand="goOpenNewMessage()"/>
|
||||
<broadcaster id="cmd_newEditor" oncommand="NewEditorWindow();"/>
|
||||
<broadcaster id="cmd_sendPage" oncommand="SendPage();"/>
|
||||
<!-- NOT IMPLEMENTED, so temporarily disabled -->
|
||||
<broadcaster id="cmd_newEditorTemplate" disabled="true" oncommand="NewEditorFromTemplate();"/>
|
||||
<broadcaster id="cmd_newEditorDraft" disabled="true" oncommand="NewEditorFromDraft();"/>
|
||||
|
@ -44,14 +42,9 @@
|
|||
|
||||
<menu id="menu_New" value="&newMenu.label;" accesskey="&newMenu.accesskey;"/>
|
||||
<menuitem id="menu_newNavigator" value="&newNavigatorCmd.label;" accesskey="&newNavigatorCmd.accesskey;" key="key_newNavigator" observes="cmd_newNavigator"/>
|
||||
<menuitem id="menu_newMessage" value="&newMessageCmd.label;" accesskey="&newMessageCmd.accesskey;" key="key_newMessage" observes="cmd_newMessage"/>
|
||||
<menuitem id="cmd_newCard" value="&newCardCmd.label;" accesskey="&newCardCmd.accesskey;" oncommand="goNewCardDialog(0)"/>
|
||||
<menuitem id="menu_sendPage" value="&sendPage.label;" accesskey="&sendPage.accesskey;" key="key_sendPage" observes="cmd_sendPage"/>
|
||||
|
||||
|
||||
<key id="key_newBlankPage" xulkey="true" shift="true" key="&newBlankPageCmd.key;" observes="cmd_newEditor"/>
|
||||
<key id="key_newNavigator" xulkey="true" shift="false" key="&newNavigatorCmd.key;" observes="cmd_newNavigator"/>
|
||||
<key id="key_newMessage" xulkey="true" key="&newMessageCmd.key;" observes="cmd_newMessage"/>
|
||||
|
||||
<!-- Edit Menu -->
|
||||
<menu id="menu_Edit" value="&editMenu.label;" accesskey="&editMenu.accesskey;"/>
|
||||
|
|
Загрузка…
Ссылка в новой задаче