146 строки
6.7 KiB
Plaintext
146 строки
6.7 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsISupports.idl"
|
|
#include "nsrootidl.idl"
|
|
#include "nsIMsgWindow.idl"
|
|
#include "nsIMsgIdentity.idl"
|
|
|
|
interface nsIMsgDBHdr;
|
|
interface mozIDOMWindowProxy;
|
|
interface nsITransactionManager;
|
|
interface nsIMsgMessageService;
|
|
interface nsIFile;
|
|
interface nsIUrlListener;
|
|
|
|
[scriptable, uuid(01b967c8-b289-4e32-ad46-6eb7c89d4106)]
|
|
interface nsIMessenger : nsISupports {
|
|
|
|
const long eUnknown = 0;
|
|
const long eDeleteMsg = 1;
|
|
const long eMoveMsg = 2;
|
|
const long eCopyMsg = 3;
|
|
const long eMarkAllMsg = 4;
|
|
|
|
void setDisplayCharset(in ACString aCharset);
|
|
|
|
readonly attribute nsITransactionManager transactionManager;
|
|
|
|
void setWindow(in mozIDOMWindowProxy ptr, in nsIMsgWindow msgWindow);
|
|
|
|
void addMsgUrlToNavigateHistory(in ACString aURL);
|
|
void openURL(in ACString aURL);
|
|
|
|
/**
|
|
* Load a custom message by url, e.g load a attachment as a email
|
|
*/
|
|
void loadURL(in mozIDOMWindowProxy ptr, in ACString aURL);
|
|
|
|
void launchExternalURL(in ACString aURL);
|
|
|
|
boolean canUndo();
|
|
boolean canRedo();
|
|
unsigned long getUndoTransactionType();
|
|
unsigned long getRedoTransactionType();
|
|
void undo(in nsIMsgWindow msgWindow);
|
|
void redo(in nsIMsgWindow msgWindow);
|
|
void setDocumentCharset(in ACString characterSet);
|
|
/**
|
|
* Saves a given message to a file or template.
|
|
*
|
|
* @param aURI The URI of the message to save
|
|
* @param aAsFile If true, save as file, otherwise save as a template
|
|
* @param aIdentity When saving as a template, this is used to determine
|
|
* the location to save the template to.
|
|
* @param aMsgFilename When saving as a file, the filename to save the
|
|
* message as, or the default filename for the file
|
|
* picker.
|
|
* @param aBypassFilePicker
|
|
* If not specified or false, this function will show
|
|
* a file picker when saving as a file. If true, no
|
|
* file picker will be shown.
|
|
*/
|
|
void saveAs(in ACString aURI, in boolean aAsFile,
|
|
in nsIMsgIdentity aIdentity, in AString aMsgFilename,
|
|
[optional] in boolean aBypassFilePicker);
|
|
|
|
/**
|
|
* Save the given messages as files in a folder - the user will be prompted
|
|
* for which folder to use.
|
|
* @param count message count
|
|
* @param filenameArray the filenames to use
|
|
* @param messageUriArray uris of the messages to save
|
|
*/
|
|
void saveMessages(in Array<AString> filenameArray,
|
|
in Array<ACString> messageUriArray);
|
|
|
|
void openAttachment(in ACString contentTpe, in ACString url, in ACString displayName, in ACString messageUri, in boolean isExternalAttachment);
|
|
void saveAttachment(in ACString contentTpe, in ACString url, in ACString displayName, in ACString messageUri, in boolean isExternalAttachment);
|
|
void saveAllAttachments(in Array<ACString> contentTypeArray,
|
|
in Array<ACString> urlArray,
|
|
in Array<ACString> displayNameArray,
|
|
in Array<ACString> messageUriArray);
|
|
|
|
void saveAttachmentToFile(in nsIFile aFile, in ACString aUrl, in ACString aMessageUri,
|
|
in ACString aContentType, in nsIUrlListener aListener);
|
|
|
|
/**
|
|
* For a single message and attachments, save these attachments to a file, and
|
|
* remove from the message. No warning windows will appear, so this is
|
|
* suitable for use in test and filtering.
|
|
*
|
|
* @param aDestFolder Folder to save files in
|
|
* @param aCount Number of attachments to save
|
|
* @param aContentTypeArray Content types of the attachments
|
|
* @param aUrlArray Urls for the attachments
|
|
* @param aDisplayNameArray Files names to save attachments to. Unique
|
|
* names will be created if needed.
|
|
* @param aMessageUriArray Uri for the source message
|
|
* @param aListener Listener to inform of start and stop of detach
|
|
*/
|
|
void detachAttachmentsWOPrompts(in nsIFile aDestFolder,
|
|
in Array<ACString> aContentTypeArray,
|
|
in Array<ACString> aUrlArray,
|
|
in Array<ACString> aDisplayNameArray,
|
|
in Array<ACString> aMessageUriArray,
|
|
in nsIUrlListener aListener);
|
|
|
|
void detachAttachment(in ACString contentTpe, in ACString url, in ACString displayName, in ACString messageUri, in boolean saveFirst, [optional] in boolean withoutWarning);
|
|
void detachAllAttachments(in Array<ACString> contentTypeArray,
|
|
in Array<ACString> urlArray,
|
|
in Array<ACString> displayNameArray,
|
|
in Array<ACString> messageUriArray,
|
|
in boolean saveFirst,
|
|
[optional] in boolean withoutWarning);
|
|
// saveAttachmentToFolder is used by the drag and drop code to drop an attachment to a destination folder
|
|
// We need to return the actual file path (including the filename).
|
|
nsIFile saveAttachmentToFolder(in ACString contentType, in ACString url, in ACString displayName, in ACString messageUri, in nsIFile aDestFolder);
|
|
|
|
readonly attribute ACString lastDisplayedMessageUri;
|
|
|
|
nsIMsgMessageService messageServiceFromURI(in AUTF8String aUri);
|
|
nsIMsgDBHdr msgHdrFromURI(in AUTF8String aUri);
|
|
// For back forward history, we need a list of visited messages,
|
|
// and where we are in the list.
|
|
|
|
// aPos is relative to the current history cursor - 1 is forward, -1 is back.
|
|
// Unfortunately, you must call this before navigating to this position,
|
|
// because calling this has the side effect of making us adjust our current
|
|
// history pos, and *not* adding the loaded message to the history queue.
|
|
ACString getMsgUriAtNavigatePos(in long aPos);
|
|
ACString getFolderUriAtNavigatePos(in long aPos);
|
|
attribute long navigatePos;
|
|
/**
|
|
* Fetch the message navigation history.
|
|
*
|
|
* @returns An array containing two URIs for each history position.
|
|
* First msgURI, then folderURI. So the array will be
|
|
* twice as long as the number of history positions.
|
|
*/
|
|
Array<ACString> getNavigateHistory();
|
|
AString formatFileSize(in unsigned long long aPos, [optional] in boolean aUseKB);
|
|
};
|
|
|