From d2a43d1596cea43945ea175be724809e4d3d911e Mon Sep 17 00:00:00 2001 From: "bienvenu%nventure.com" Date: Wed, 19 Jan 2005 16:29:13 +0000 Subject: [PATCH] auto save of drafts, seamonkey fe changes, sr=mscott 16360 git-svn-id: svn://10.0.0.236/trunk@167990 18797224-902f-48f8-a5cc-f745e15eee43 --- .../resources/content/MsgComposeCommands.js | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/mozilla/mailnews/compose/resources/content/MsgComposeCommands.js b/mozilla/mailnews/compose/resources/content/MsgComposeCommands.js index a49a7227faa..a77949f4bd4 100644 --- a/mozilla/mailnews/compose/resources/content/MsgComposeCommands.js +++ b/mozilla/mailnews/compose/resources/content/MsgComposeCommands.js @@ -117,6 +117,8 @@ var gReceiptOptionChanged; var gAttachVCardOptionChanged; var gMailSession; +var gAutoSaveInterval; +var gAutoSaveTimeout; const kComposeAttachDirPrefName = "mail.compose.attach.dir"; @@ -249,6 +251,8 @@ var gComposeRecyclingListener = { var event = document.createEvent('Events'); event.initEvent('compose-window-close', false, true); document.getElementById("msgcomposeWindow").dispatchEvent(event); + if (gAutoSaveTimeout) + clearTimeout(gAutoSaveTimeout); }, onReopen: function(params) { @@ -1374,6 +1378,12 @@ function ComposeStartup(recycled, aParams) } } } + gAutoSaveInterval = sPrefs.getBoolPref("mail.compose.autosave") + ? sPrefs.getIntPref("mail.compose.autosaveinterval") * 60000 + : 0; + + if (gAutoSaveInterval) + gAutoSaveTimeout = setTimeout("AutoSave()", gAutoSaveInterval); } // The new, nice, simple way of getting notified when a new editor has been created @@ -1489,6 +1499,8 @@ function ComposeUnload() RemoveDirectorySettingsObserver(gCurrentAutocompleteDirectory); if (gMsgCompose) gMsgCompose.UnregisterStateListener(stateListener); + if (gAutoSaveTimeout) + clearTimeout(gAutoSaveTimeout); } function SetDocumentCharacterSet(aCharset) @@ -1749,6 +1761,7 @@ function GenericSendMessage( msgType ) msgType == nsIMsgCompDeliverMode.Later || msgType == nsIMsgCompDeliverMode.Save || msgType == nsIMsgCompDeliverMode.SaveAsDraft || + msgType == nsIMsgCompDeliverMode.AutoSaveAsDraft || msgType == nsIMsgCompDeliverMode.SaveAsTemplate) { var fallbackCharset = new Object; @@ -3020,3 +3033,12 @@ function loadHTMLMsgPrefs() { } +function AutoSave() +{ + dump("in autosave\n"); + if (gMsgCompose.editor && (gContentChanged || gMsgCompose.bodyModified)) + GenericSendMessage(nsIMsgCompDeliverMode.AutoSaveAsDraft); + + gAutoSaveTimeout = setTimeout("AutoSave()", gAutoSaveInterval); +} +