118 строки
5.5 KiB
Plaintext
118 строки
5.5 KiB
Plaintext
/*-*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* 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"
|
|
|
|
// This must be limited to unsigned long (uint32_t, no uint64_t)
|
|
// as long as nsIMsgFolder exposes the 'flags' property which contains
|
|
// all the flags values. The callers are used to do
|
|
// (folder.flags & nsMsgFolderFlags.<flagname>) in Javascript
|
|
// which cuts the value to 32bit only. See bug 813459.
|
|
typedef unsigned long nsMsgFolderFlagType;
|
|
|
|
/// Flags about a folder or a newsgroup.
|
|
[scriptable,uuid(440cd0fc-b4b3-4a0f-a492-92fbe7920588)]
|
|
interface nsMsgFolderFlags : nsISupports {
|
|
/**
|
|
* @name Folder Type Flags
|
|
* These flags define the type of folder. Exactly one will be set.
|
|
* @{
|
|
*/
|
|
/// This folder is a newsgroup folder.
|
|
const nsMsgFolderFlagType Newsgroup = 0x00000001;
|
|
/// Used to be for a folder that is a news server (NewsHost).
|
|
const nsMsgFolderFlagType Unused3 = 0x00000002;
|
|
/// This folder is a mail folder.
|
|
const nsMsgFolderFlagType Mail = 0x00000004;
|
|
/** @} */
|
|
|
|
/** Whether this is a directory: NewsHosts are always directories;
|
|
* NewsGroups can be directories if we are in ``show all groups'' mode;
|
|
* Mail folders will have this bit if they are really directories, not files.
|
|
* (Note that directories may have zero children.)
|
|
*/
|
|
const nsMsgFolderFlagType Directory = 0x00000008;
|
|
/** Whether the children of this folder are currently hidden in the listing.
|
|
* This will only be present if the nsMsgFolderFlags::Directory bit is on.
|
|
*/
|
|
const nsMsgFolderFlagType Elided = 0x00000010;
|
|
/// Whether this is a virtual search folder
|
|
const nsMsgFolderFlagType Virtual = 0x00000020;
|
|
|
|
/** @name News Folder Flags
|
|
* These flags only occur in folders which have
|
|
* the nsMsgFolderFlags::Newsgroup bit set, and do
|
|
* not have the nsMsgFolderFlags::Directory or
|
|
* nsMsgFolderFlags::Elided bits set.
|
|
* @{
|
|
*/
|
|
/// Used to be for folders representing a subscribed newsgroup (Subscribed).
|
|
const nsMsgFolderFlagType Unused5 = 0x00000040;
|
|
/// Used to be for new newsgroups added by the `Check New Groups' command.
|
|
const nsMsgFolderFlagType Unused2 = 0x00000080;
|
|
/** @} */
|
|
|
|
/** @name Mail Folder Flags
|
|
* These flags only occur in folders which have
|
|
* the nsMsgFolderFlags::Mail bit set, and do
|
|
* not have the nsMsgFolderFlags::Directory or
|
|
* nsMsgFolderFlags::Elided bits set.
|
|
* @{
|
|
*/
|
|
/// Whether this is the trash folder.
|
|
const nsMsgFolderFlagType Trash = 0x00000100;
|
|
/// Whether this is a folder that sent mail gets delivered to.
|
|
const nsMsgFolderFlagType SentMail = 0x00000200;
|
|
/// Whether this is the folder in which unfinished, unsent messages are saved for later editing.
|
|
const nsMsgFolderFlagType Drafts = 0x00000400;
|
|
/// Whether this is the folder in which messages are queued for later delivery.
|
|
const nsMsgFolderFlagType Queue = 0x00000800;
|
|
/// Whether this is the primary inbox folder.
|
|
const nsMsgFolderFlagType Inbox = 0x00001000;
|
|
/// Whether this folder on online IMAP
|
|
const nsMsgFolderFlagType ImapBox = 0x00002000;
|
|
/// Whether this is an archive folder
|
|
const nsMsgFolderFlagType Archive = 0x00004000;
|
|
/// This used to be used for virtual newsgroups
|
|
const nsMsgFolderFlagType Unused1 = 0x00008000;
|
|
/// Used to be for categories
|
|
const nsMsgFolderFlagType Unused4 = 0x00010000;
|
|
/// Used to be for new msgs in a folder
|
|
const nsMsgFolderFlagType Unused7 = 0x00020000;
|
|
/// Used to be for a folder that is an IMAP server (ImapServer)
|
|
const nsMsgFolderFlagType Unused6 = 0x00040000;
|
|
/// This folder is an IMAP personal folder
|
|
const nsMsgFolderFlagType ImapPersonal = 0x00080000;
|
|
/// This folder is an IMAP public folder
|
|
const nsMsgFolderFlagType ImapPublic = 0x00100000;
|
|
/// This folder is another user's IMAP folder. Think of it like a folder that someone would share.
|
|
const nsMsgFolderFlagType ImapOtherUser = 0x00200000;
|
|
/// Whether this is the template folder
|
|
const nsMsgFolderFlagType Templates = 0x00400000;
|
|
/// This folder is one of your personal folders that is shared with other users
|
|
const nsMsgFolderFlagType PersonalShared = 0x00800000;
|
|
/// This folder is an IMAP \\Noselect folder
|
|
const nsMsgFolderFlagType ImapNoselect = 0x01000000;
|
|
/// This folder created offline (this is never set in current code,
|
|
/// but it is still checked for and obeyed if found on a folder.
|
|
const nsMsgFolderFlagType CreatedOffline = 0x02000000;
|
|
/// This imap folder cannot have children :-(
|
|
const nsMsgFolderFlagType ImapNoinferiors = 0x04000000;
|
|
/// This folder configured for offline use
|
|
const nsMsgFolderFlagType Offline = 0x08000000;
|
|
/// This folder has offline events to play back
|
|
const nsMsgFolderFlagType OfflineEvents = 0x10000000;
|
|
/// This folder is checked for new messages
|
|
const nsMsgFolderFlagType CheckNew = 0x20000000;
|
|
/// This folder is for spam messages
|
|
const nsMsgFolderFlagType Junk = 0x40000000;
|
|
/// This folder is in favorites view
|
|
const nsMsgFolderFlagType Favorite = 0x80000000;
|
|
/// Special-use folders
|
|
const nsMsgFolderFlagType SpecialUse = Inbox|Drafts|Trash|SentMail|
|
|
Templates|Junk|Archive|Queue;
|
|
/** @} */
|
|
};
|