var goPrefWindow = 0; function goPageSetup() { } function goQuitApplication() { var windowManager = Components.classes['component://netscape/rdf/datasource?name=window-mediator'].getService(); var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator); var enumerator = windowManagerInterface.getEnumerator( null ); while ( enumerator.HasMoreElements() ) { var windowToClose = enumerator.GetNext(); var domWindow = windowManagerInterface.convertISupportsToDOMWindow( windowToClose ); domWindow.focus(); if ( domWindow.tryToClose == null ) { // dump(" window.close \n"); domWindow.close(); } else { // dump(" try to close \n" ); if ( !domWindow.tryToClose() ) return false; } }; // call appshell exit var appShell = Components.classes['component://netscape/appshell/appShellService'].getService(); appShell = appShell.QueryInterface( Components.interfaces.nsIAppShellService ); appShell.Quit(); return true; } 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://addressbook/content/abNewCardDialog.xul", "", "chrome,resizeable=no,modal", {selectedAB:selectedAB}); } function goEditCardDialog(abURI, card, okCallback) { window.openDialog("chrome://addressbook/content/abEditCardDialog.xul", "", "chrome,resizeable=no,modal", {abURI:abURI, card:card, okCallback:okCallback}); } function goPreferences(id, pane) { var prefWindow = window.openDialog("chrome://pref/content/pref.xul","PrefWindow", "chrome,modal=yes,resizable=yes", pane); } function goToggleToolbar( id, elementID ) { dump( "toggling toolbar "+id+"\n"); var toolbar = document.getElementById( id ); var element = document.getElementById( elementID ); if ( toolbar ) { var attribValue = toolbar.getAttribute("hidden") ; //dump("set hidden to "+!attribValue+"\n"); if ( attribValue != false ) { // dump( "Show \n"); toolbar.setAttribute("hidden", "" ); if ( element ) element.setAttribute("checked","true") } else { // dump("hide \n"); toolbar.setAttribute("hidden", true ); if ( element ) element.setAttribute("checked","false") } document.persist(id, 'hidden'); document.persist(elementID, 'checked'); } } //No longer needed. Rip this out since we are using openTopWin function goHelpMenu( url ) { /* note that this chrome url should probably change to not have all of the navigator controls */ /* also, do we want to limit the number of help windows that can be spawned? */ window.openDialog( "chrome://navigator/content/navigator.xul", "_blank", "chrome,all,dialog=no", url ); } function openTopWin( url ) { /* note that this chrome url should probably change to not have all of the navigator controls */ /* also, do we want to limit the number of help windows that can be spawned? */ dump("SetPrefToCurrentPage("+ url +") \n "); if ((url == null) || (url == "")) return; var windowManager = Components.classes['component://netscape/rdf/datasource?name=window-mediator'].getService(); var windowManagerInterface = windowManager.QueryInterface( Components.interfaces.nsIWindowMediator); var topWindowOfType = windowManagerInterface.getMostRecentWindow( "navigator:browser" ); if ( topWindowOfType ) { dump("setting page: " + topWindowOfType.content.location.href + "\n"); topWindowOfType.content.location.href = url; } else { dump(" No browser window. Should be disabling this button \n"); window.openDialog( "chrome://navigator/content/navigator.xul", "_blank", "chrome,all,dialog=no", url ); } } function goAboutDialog() { var defaultAboutState = false; try { var pref = Components.classes["component://netscape/preferences"].getService(); if( pref ) pref = pref.QueryInterface( Components.interfaces.nsIPref ); defaultAboutState = pref.GetBoolPref("browser.show_about_as_stupid_modal_window"); } catch(e) { defaultAboutState = false; } if( defaultAboutState ) window.openDialog("chrome:global/content/about.xul", "About", "modal,chrome,resizable=yes,height=450,width=550"); else window.openDialog( "chrome://navigator/content/navigator.xul", "_blank", "chrome,all,dialog=no", 'chrome://global/content/about.html' ); } // // Command Updater functions // function goUpdateCommand(command) { var controller = top.document.commandDispatcher.getControllerForCommand(command); var enabled = false; if ( controller ) enabled = controller.isCommandEnabled(command); goSetCommandEnabled(command, enabled); } function goDoCommand(command) { var controller = top.document.commandDispatcher.getControllerForCommand(command); if ( controller ) controller.doCommand(command); } function goSetCommandEnabled(id, enabled) { var node = top.document.getElementById(id); if ( node ) { if ( enabled ) node.removeAttribute("disabled"); else node.setAttribute('disabled', 'true'); } } function goSetMenuValue(command, valueAttribute) { var commandNode = top.document.getElementById(command); if ( commandNode ) { var value = commandNode.getAttribute(valueAttribute); if ( value ) commandNode.setAttribute('value', value); } } function goUpdateGlobalEditMenuItems() { //dump("Updating edit menu items\n"); goUpdateCommand('cmd_undo'); goUpdateCommand('cmd_redo'); goUpdateCommand('cmd_cut'); goUpdateCommand('cmd_copy'); goUpdateCommand('cmd_paste'); goUpdateCommand('cmd_pasteQuote'); goUpdateCommand('cmd_selectAll'); goUpdateCommand('cmd_delete'); } // update menu items that rely on the current selection function goUpdateSelectEditMenuItems() { //dump("Updating select menu items\n"); goUpdateCommand('cmd_cut'); goUpdateCommand('cmd_copy'); goUpdateCommand('cmd_delete'); } // update menu items that relate to undo/redo function goUpdateUndoEditMenuItems() { //dump("Updating undo/redo menu items\n"); goUpdateCommand('cmd_undo'); goUpdateCommand('cmd_redo'); // we shouldn't really do this here, but we don't get the right notifications now goUpdateCommand('cmd_paste'); goUpdateCommand('cmd_pasteQuote'); } // this function is used to inform all the controllers attached to a node that an event has occurred // (e.g. the tree controllers need to be informed of blur events so that they can change some of the // menu items back to their default values) function goOnEvent(node, event) { var numControllers = node.controllers.getControllerCount(); var controller; for ( var controllerIndex = 0; controllerIndex < numControllers; controllerIndex++ ) { controller = node.controllers.getControllerAt(controllerIndex); if ( controller ) controller.onEvent(event); } } // This used to be BrowserNewEditorWindow in navigator.js function NewEditorWindow() { dump("In NewEditorWindow()...\n"); // Open editor window with blank page // Kludge to leverage openDialog non-modal! window.openDialog( "chrome://editor/content", "_blank", "chrome,all,dialog=no", "about:blank"); } function NewEditorFromTemplate() { dump("NOT IMPLEMENTED: Write NewEditorFromTemplate()!\n") } function NewEditorFromDraft() { dump("NOT IMPLEMENTED: Write NewEditorFromDraft()!\n") } function SendPage() { var pageUrl = window.content.location.href; var pageTitle = window.content.document.title; window.openDialog( "chrome://messengercompose/content/", "_blank", "chrome,all,dialog=no", "attachment='" + pageUrl + "',body='" + pageUrl + "',subject='" + pageTitle + "',bodyislink=true"); }