Files
Mozilla/mozilla/xpfe/global/resources/content/tasksOverlay.js
morse%netscape.com 2eddf8bbe7 fix bugs 30043, 29842, 29846, 29848, wallet items reappeared on task menu, r=dp, a=jevering
git-svn-id: svn://10.0.0.236/trunk@62089 18797224-902f-48f8-a5cc-f745e15eee43
2000-03-02 23:55:08 +00:00

302 lines
7.9 KiB
JavaScript

function toNavigator()
{
CycleWindow('navigator:browser', 'chrome://navigator/content/');
}
function toMessengerWindow()
{
toOpenWindowByType("mail:3pane", "chrome://messenger/content/");
}
function toAddressBook()
{
toOpenWindowByType("mail:addressbook", "chrome://addressbook/content/addressbook.xul");
}
function toNewsgroups()
{
dump ("Sorry, command not implemented.\n");
}
// 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://history/content/", "_blank", "chrome,menubar,resizable,scrollbars" );
setTimeout(enableHistory, 2000);
}
}
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 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;
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/');
}
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 CheckForWallet()
{
// remove wallet functions (unless overruled by the "wallet.enabled" pref)
try {
if (!this.pref.GetBoolPref("wallet.enabled")) {
var element;
element = document.getElementById("wallet");
element.setAttribute("style","display: none;" );
element.setAttribute("disabled","true" );
element = document.getElementById("walleteditor");
element.setAttribute("style","display: none;" );
element.setAttribute("disabled","true" );
element = document.getElementById("walletSamples");
element.setAttribute("style","display: none;" );
element.setAttribute("disabled","true" );
}
} catch(e) {
dump("wallet.enabled pref is missing from all.js");
}
}
// perform a wallet action
function WalletAction( action )
{
if (action == "password") {
/* process "password" independent of appcore so it can be called from mail */
wallet = Components.classes['component://netscape/wallet'];
wallet = wallet.getService();
wallet = wallet.QueryInterface(Components.interfaces.nsIWalletService);
wallet.WALLET_ChangePassword();
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://wallet/content/SignonViewer.xul","SSViewer","modal,chrome,height=504,width=436");
break;
case "cookie":
window.openDialog("chrome://wallet/content/CookieViewer.xul","CookieViewer","modal,chrome,height=504,width=436");
break;
case "samples":
window.content.location.href= 'http://www.mozilla.org/wallet/samples/';
break;
case "wallet":
default:
window.openDialog("chrome://wallet/content/WalletEditor.xul","walletEditor","modal,chrome,height=504,width=436");
break;
}
}
function toImport()
{
window.openDialog( "chrome://messenger/content/importDialog.xul",
"importDialog",
"chrome, modal",
{importType: "addressbook"});
}