Did some cleanup, Implement menu Exit command. Initialize Editor in HTML or plain text mode depending of parameter received. Set wrap column.

This commit is contained in:
ducarroz%netscape.com 1999-05-14 18:52:04 +00:00
Родитель e4610e1b8a
Коммит 5f44a40f05
2 изменённых файлов: 72 добавлений и 39 удалений

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

@ -33,6 +33,33 @@ function ComposeStartup()
var date = new Date();
sessionID = date.getTime() + Math.random();
//Creating or Getting the Compose AppCore
if (args.name)
{
appCoreName = args.name;
dump("Compose: get composeAppCore=" + args.name + "\n");
}
else
appCoreName = "ComposeAppCore:" + sessionID;
composeAppCore = XPAppCoresManager.Find(appCoreName);
if (! composeAppCore)
{
dump("creating ComposeAppCore...\n");
composeAppCore = new ComposeAppCore();
if (composeAppCore)
{
composeAppCore.Init(appCoreName);
dump("compose app core (" + sessionID + ") correctly added to app cores manager\n");
}
}
if (composeAppCore)
{
dump("initalizing the compose app core\n");
composeAppCore.SetWindow(window);
composeAppCore.CompleteCallback("MessageSent();");
}
//Creating a Editor AppCore
appCoreName = "EditorAppCore:" + sessionID;
editorAppCore = XPAppCoresManager.Find(appCoreName);
dump("Looking up EditorAppCore...\n");
@ -54,7 +81,28 @@ function ComposeStartup()
editorName = appCoreName; //Very important to set this variable used by Editor js
// setEditorType MUST be call before setContentWindow
if (args.editorType && args.editorType.toLowerCase() == "html")
var useHtml;
if (args.editorType)
{
switch(args.editorType.toLowerCase())
{
case "text": useHtml = false; break;
case "html": useHtml = true; break;
case "default":
default:
if (composeAppCore)
useHtml = composeAppCore.useHtml;
break;
}
}
else
{
if (composeAppCore)
useHtml = composeAppCore.useHtml;
}
if (useHtml)
{
editorAppCore.setEditorType("html");
dump("editor initialized in HTML mode\n");
@ -67,51 +115,35 @@ function ComposeStartup()
editorAppCore.setContentWindow(window.frames[0]);
editorAppCore.setWebShellWindow(window);
editorAppCore.setToolbarWindow(window);
if (useHtml)
editorAppCore.loadUrl("chrome://messengercompose/content/defaultHtmlBody.html");
else
editorAppCore.loadUrl("chrome://messengercompose/content/defaultTextBody.html");
editorAppCore.loadUrl("resource:/res/mailnews/compose/msgcomposeBody.html");
}
if (args.name)
{
appCoreName = args.name;
dump("Compose: get composeAppCore=" + args.name + "\n");
}
else
appCoreName = "ComposeAppCore:" + sessionID;
composeAppCore = XPAppCoresManager.Find(appCoreName);
if (! composeAppCore)
{
dump("creating ComposeAppCore...\n");
composeAppCore = new ComposeAppCore();
// Now that we have an Editor AppCore, we can finish to initialize the Compose AppCore
if (composeAppCore)
{
composeAppCore.Init(appCoreName);
dump("compose app core (" + sessionID + ") correctly added to app cores manager\n");
dump("Finish Initialization of the compose appcore\n");
editorAppCore.wrapColumn = composeAppCore.wrapColumn;
composeAppCore.SetEditor(editorAppCore);
composeAppCore.useHtml = useHtml;
}
}
if(composeAppCore)
{
dump("initalizing the compose app core\n");
composeAppCore.SetWindow(window);
composeAppCore.SetEditor(editorAppCore);
composeAppCore.CompleteCallback("MessageSent();");
}
}
function ComposeUnload(calledFromExit)
{
dump("\nPage Unloaded from XUL\n");
//Don't use it now because it's called at the wrong time!
}
function ComposeExit()
{
dump("\nPage Unloaded from XUL\n");
dump("\nApplication Exit from XUL\n");
//editor appcore knows how to shutdown the application, just use it...
if (editorAppCore)
{
dump("\nClosing editor app core\n");
//editorAppCore.exit();
}
if (composeAppCore)
{
dump("\nClosing compose app core\n");
// composeAppCore.exit();
dump("composeAppCore.exit() not yet implemented!\n");
}
editorAppCore.exit();
}
function SetDocumentCharacterSet(aCharset)

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

@ -1,4 +1,5 @@
<?xml version="1.0"?>
<?xml-stylesheet href="resource:/res/samples/xul.css" type="text/css"?>
<?xml-stylesheet href="chrome://messengercompose/skin/" type="text/css"?>
<!DOCTYPE window
@ -29,7 +30,7 @@
<!ENTITY printPreviewCmd.label ".Print Preview">
<!ENTITY printCmd.label ".Print">
<!ENTITY closeCmd.label ".Close">
<!ENTITY exitCmd.label ".Exit">
<!ENTITY exitCmd.label "Exit">
<!-- Edit menu items -->
<!ENTITY editMenu.label ".Edit">
@ -81,7 +82,7 @@
<window xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="ComposeStartup()"
onunload="ComposeExit()"
onunload="ComposeUnload()"
title="&msgComposeWindow.title;"
style="width:100%;height:100%">
@ -89,7 +90,7 @@
<html:script language="JavaScript" src="chrome://editor/content/EditorCommands.js"> </html:script>
<html:script language="JavaScript" src="MsgComposeCommands.js"> </html:script>
<broadcaster id="args" value="editorType=html"/>
<broadcaster id="args" value="editorType=default"/>
<!-- The Following broadcasters have been imported from editorAppShell.xul -->
<broadcaster id="Editor:Style:IsBold" bold="false"/>