kmail
KMFolder Class Reference
#include <kmfolder.h>

Detailed Description
Mail folder.(description will be here).
Accounts
The accounts (of KMail) that are fed into the folder are represented as the children of the folder. They are only stored here during runtime to have a reference for which accounts point to a specific folder.Definition at line 69 of file kmfolder.h.
Public Types | |
| enum | CompactOptions { CompactLater, CompactNow, CompactSilentlyNow } |
| enum | ExpireAction { ExpireDelete, ExpireMove } |
Public Slots | |
| void | reallyAddCopyOfMsg (KMMessage *aMsg) |
| void | reallyAddMsg (KMMessage *aMsg) |
| int | updateIndex () |
Signals | |
| void | changed () |
| void | cleared () |
| void | closed () |
| void | expunged (KMFolder *) |
| void | folderSizeChanged (KMFolder *) |
| void | iconsChanged () |
| void | msgAdded (KMFolder *, quint32 sernum) |
| void | msgAdded (int idx) |
| void | msgChanged (KMFolder *, quint32 sernum, int delta) |
| void | msgHeaderChanged (KMFolder *, int) |
| void | msgRemoved (KMFolder *) |
| void | msgRemoved (int idx, const QString &msgIdMD5) |
| void | msgRemoved (KMFolder *, quint32 sernum) |
| void | nameChanged () |
| void | numUnreadMsgsChanged (KMFolder *) |
| void | removed (KMFolder *, bool) |
| void | shortcutChanged (KMFolder *) |
| void | statusMsg (const QString &) |
| void | viewConfigChanged () |
Public Member Functions | |
| AccountList * | acctList () |
| int | addMessages (QList< KMMessage * > &, QList< int > &index_return) |
| int | addMsg (KMMessage *msg, int *index_return=0) |
| int | addMsgKeepUID (KMMessage *msg, int *index_return=0) |
| virtual bool | canAccess () const |
| KMFolderDir * | child () const |
| void | close (const char *owner, bool force=false) |
| void | compact (CompactOptions options) |
| void | correctUnreadMsgsCount () |
| int | count (bool cache=false) const |
| int | countUnread () |
| int | countUnreadRecursive () |
| KMFolderDir * | createChildFolder () |
| FolderJob * | createJob (QList< KMMessage * > &msgList, const QString &sets, FolderJob::JobType jt=FolderJob::tGetMessage, KMFolder *folder=0) const |
| FolderJob * | createJob (KMMessage *msg, FolderJob::JobType jt=FolderJob::tGetMessage, KMFolder *folder=0, const QString &partSpecifier=QString(), const AttachmentStrategy *as=0) const |
| void | daysToExpire (int &unreadDays, int &readDays) |
| bool | dirty () const |
| void | emitMsgAddedSignals (int idx) |
| ExpireAction | expireAction () const |
| void | expireOldMessages (bool immediate) |
| QString | expireToFolderId () const |
| int | expunge () |
| int | expungeOldMsg (int days) |
| QString | fileName () const |
| int | find (const KMMessage *msg) const |
| int | find (const KMMsgBase *msg) const |
| KMFolderType | folderType () const |
| DwString | getDwString (int idx) |
| KMMessage * | getMsg (int idx) |
| KMMsgBase * | getMsgBase (int idx) |
| const KMMsgBase * | getMsgBase (int idx) const |
| int | getReadExpireAge () const |
| ExpireUnits | getReadExpireUnits () const |
| int | getUnreadExpireAge () const |
| ExpireUnits | getUnreadExpireUnits () const |
| bool | hasAccounts () const |
| uint | identity () const |
| virtual QString | idsLocation () const |
| QString | idString () const |
| void | ignoreJobsForMessage (KMMessage *) |
| bool | ignoreNewMail () const |
| virtual QString | indexLocation () const |
| bool | isAutoExpire () const |
| bool | isDrafts () |
| bool | isMailingListEnabled () const |
| bool | isMainInbox () |
| bool | isMessage (int idx) |
| bool | isMoveable () const |
| bool | isOpened () const |
| bool | isOutbox () |
| bool | isReadOnly () const |
| bool | isSent () |
| bool | isSystemFolder () const |
| bool | isTemplates () |
| bool | isTrash () |
| KMFolder (KMFolderDir *parent, const QString &name, KMFolderType aFolderType, bool withIndex=true, bool exportedSernums=true) | |
| virtual QString | label () const |
| QString | location () const |
| MailingList | mailingList () const |
| QString | mailingListPostAddress () const |
| void | markNewAsUnread () |
| void | markUnreadAsRead () |
| bool | moveInProgress () const |
| int | moveMsg (QList< KMMessage * >, int *index_return=0) |
| int | moveMsg (KMMessage *msg, int *index_return=0) |
| void | msgStatusChanged (const MessageStatus &oldStatus, const MessageStatus &newStatus, int idx) |
| bool | needsCompacting () const |
| bool | noChildren () const |
| bool | noContent () const |
| QString | normalIconPath () const |
| int | open (const char *owner) |
| KMMsgBase * | operator[] (int idx) |
| const KMMsgBase * | operator[] (int idx) const |
| virtual QString | prettyUrl () const |
| bool | putRepliesInSameFolder () const |
| void | quiet (bool beQuiet) |
| void | readConfig (KConfigGroup &config) |
| void | remove () |
| void | removeJobs () |
| void | removeMessages (QList< KMMessage * > msgList, bool imapQuiet=false) |
| void | removeMsg (int i, bool imapQuiet=false) |
| int | rename (const QString &newName, KMFolderDir *aParent=0) |
| void | setAcctList (AccountList *list) |
| void | setAutoExpire (bool enabled) |
| void | setChild (KMFolderDir *aChild) |
| void | setDirty (bool f) |
| void | setExpireAction (ExpireAction a) |
| void | setExpireToFolderId (const QString &id) |
| void | setIconPaths (const QString &normalPath, const QString &unreadPath) |
| void | setIdentity (uint identity) |
| void | setIgnoreNewMail (bool b) |
| void | setLabel (const QString &l) |
| void | setMailingList (const MailingList &mlist) |
| void | setMailingListEnabled (bool enabled) |
| void | setMoveInProgress (bool b) |
| void | setNeedsCompacting (bool f) |
| void | setNoChildren (bool aNoChildren) |
| void | setNoContent (bool aNoContent) |
| void | setPutRepliesInSameFolder (bool b) |
| void | setReadExpireAge (int age) |
| void | setReadExpireUnits (ExpireUnits units) |
| void | setShortcut (const KShortcut &) |
| void | setStatus (QList< int > &ids, const MessageStatus &status, bool toggle=false) |
| void | setStatus (int idx, const MessageStatus &status, bool toggle=false) |
| void | setSystemFolder (bool itIs) |
| void | setSystemLabel (const QString &l) |
| void | setUnreadExpireAge (int age) |
| void | setUnreadExpireUnits (ExpireUnits units) |
| void | setUseCustomIcons (bool useCustomIcons) |
| void | setUseDefaultIdentity (bool useDefaultIdentity) |
| void | setUserWhoField (const QString &whoField, bool writeConfig=true) |
| void | setWhoField (const QString &aWhoField) |
| const KShortcut & | shortcut () const |
| virtual QString | sortedLocation () const |
| const FolderStorage * | storage () const |
| FolderStorage * | storage () |
| QString | subdirLocation () const |
| void | sync () |
| virtual QString | systemLabel () const |
| KMMessage * | take (int idx) |
| void | takeMessages (const QList< KMMessage * > &msgList) |
| KMFolder * | trashFolder () const |
| KMMsgInfo * | unGetMsg (int idx) |
| QString | unreadIconPath () const |
| bool | useCustomIcons () const |
| bool | useDefaultIdentity () const |
| QString | userWhoField (void) |
| QString | whoField () const |
| void | writeConfig (KConfigGroup &config) const |
| int | writeIndex (bool createEmptyIndex=false) |
| ~KMFolder () | |
Member Enumeration Documentation
Constructor & Destructor Documentation
| KMFolder::KMFolder | ( | KMFolderDir * | parent, | |
| const QString & | name, | |||
| KMFolderType | aFolderType, | |||
| bool | withIndex = true, |
|||
| bool | exportedSernums = true | |||
| ) |
Constructs a new Folder object.
- Parameters:
-
parent The directory in the folder storage hierarchy under which the folder's storage will be found or created. name If name of the folder. In case there is no parent directory, because the folder is free-standing (/var/spool/mail/foo), this is used for the full path to the folder's storage location. aFolderType The type of folder to create. withIndex Wether this folder has an index. No-index folders are those used by KMail internally, the Outbox, and those of local spool accounts, for example. exportedSernums whether this folder exports its serial numbers to the global MsgDict for lookup.
- Returns:
- A new folder instance.
Definition at line 50 of file kmfolder.cpp.
| KMFolder::~KMFolder | ( | ) |
Definition at line 154 of file kmfolder.cpp.
Member Function Documentation
| AccountList* KMFolder::acctList | ( | ) | [inline] |
Definition at line 126 of file kmfolder.h.
Adds the given messages to the folder.
Behaviour is identical to addMsg(msg)
Definition at line 422 of file kmfolder.cpp.
| int KMFolder::addMsg | ( | KMMessage * | msg, | |
| int * | index_return = 0 | |||
| ) |
Add the given message to the folder.
Usually the message is added at the end of the folder. Returns zero on success and an errno error code on failure. The index of the new message is stored in index_return if given. Please note that the message is added as is to the folder and the folder takes ownership of the message (deleting it in the destructor).
Definition at line 412 of file kmfolder.cpp.
| int KMFolder::addMsgKeepUID | ( | KMMessage * | msg, | |
| int * | index_return = 0 | |||
| ) |
(Note(bo): This needs to be fixed better at a later point.
) This is overridden by dIMAP because addMsg strips the X-UID header from the mail.
Definition at line 417 of file kmfolder.cpp.
| bool KMFolder::canAccess | ( | ) | const [virtual] |
Check folder for permissions.
- Returns:
- true if readable and writable.
Definition at line 506 of file kmfolder.cpp.
| void KMFolder::changed | ( | ) | [signal] |
Emitted when the status, name, or associated accounts of this folder changed.
| KMFolderDir* KMFolder::child | ( | ) | const [inline] |
Returns the folder directory associated with this node or 0 if no such directory exists.
Definition at line 164 of file kmfolder.h.
| void KMFolder::cleared | ( | ) | [signal] |
Emitted when the contents of a folder have been cleared (new search in a search folder, for example).
| void KMFolder::close | ( | const char * | owner, | |
| bool | force = false | |||
| ) |
Close folder.
open() and close() use reference counting. If force is true the files are closed even if others are still using it (e.g. other mail reader windows). owner is for debugging.
Definition at line 511 of file kmfolder.cpp.
| void KMFolder::closed | ( | ) | [signal] |
Emitted when the folder is closed for real - ticket holders should discard any messages.
| void KMFolder::compact | ( | CompactOptions | options | ) |
Compact this folder.
Options: CompactLater: schedule it as a background task CompactNow: do it now, and inform the user of the result (manual compaction) CompactSilentlyNow: do it now, and keep silent about it (e.g. for outbox)
Definition at line 824 of file kmfolder.cpp.
| void KMFolder::correctUnreadMsgsCount | ( | ) |
A cludge to help make sure the count of unread messges is kept in sync.
Definition at line 713 of file kmfolder.cpp.
| int KMFolder::count | ( | bool | cache = false |
) | const |
| int KMFolder::countUnread | ( | ) |
| int KMFolder::countUnreadRecursive | ( | ) |
Number of new or unread messages in this folder and all folders contained by this folder.
Definition at line 477 of file kmfolder.cpp.
| KMFolderDir * KMFolder::createChildFolder | ( | ) |
Create a child folder directory and associates it with this folder.
Definition at line 284 of file kmfolder.cpp.
| FolderJob * KMFolder::createJob | ( | QList< KMMessage * > & | msgList, | |
| const QString & | sets, | |||
| FolderJob::JobType | jt = FolderJob::tGetMessage, |
|||
| KMFolder * | folder = 0 | |||
| ) | const |
Definition at line 375 of file kmfolder.cpp.
| FolderJob* KMFolder::createJob | ( | KMMessage * | msg, | |
| FolderJob::JobType | jt = FolderJob::tGetMessage, |
|||
| KMFolder * | folder = 0, |
|||
| const QString & | partSpecifier = QString(), |
|||
| const AttachmentStrategy * | as = 0 | |||
| ) | const |
These methods create respective FolderJob (You should derive FolderJob for each derived KMFolder).
| void KMFolder::daysToExpire | ( | int & | unreadDays, | |
| int & | readDays | |||
| ) |
Definition at line 809 of file kmfolder.cpp.
| bool KMFolder::dirty | ( | ) | const |
Returns true if the table of contents is dirty.
This happens when a message is deleted from the folder. The toc will then be re-created when the folder is closed.
Definition at line 558 of file kmfolder.cpp.
| void KMFolder::emitMsgAddedSignals | ( | int | idx | ) |
Called by derived classes implementation of addMsg.
Emits msgAdded signals
Definition at line 427 of file kmfolder.cpp.
| ExpireAction KMFolder::expireAction | ( | ) | const [inline] |
| void KMFolder::expireOldMessages | ( | bool | immediate | ) |
Expire old messages in this folder.
If immediate is true, do it immediately; otherwise schedule it for later
Definition at line 814 of file kmfolder.cpp.
| QString KMFolder::expireToFolderId | ( | ) | const [inline] |
If expiry should move to folder, return the ID of that folder.
Definition at line 487 of file kmfolder.h.
| int KMFolder::expunge | ( | ) |
Delete entire folder.
Forces a close *but* opens the folder again afterwards. Returns errno(3) error code or zero on success. see KMFolder::expungeContents
Definition at line 548 of file kmfolder.cpp.
| void KMFolder::expunged | ( | KMFolder * | ) | [signal] |
Emitted after an expunge.
If not quiet, changed() will be emmitted first.
| int KMFolder::expungeOldMsg | ( | int | days | ) |
Delete messages in the folder that are older than days.
Return the number of deleted messages.
Definition at line 442 of file kmfolder.cpp.
| QString KMFolder::fileName | ( | ) | const |
Returns the filename of the folder (reimplemented in KMFolderImap).
Definition at line 248 of file kmfolder.cpp.
| int KMFolder::find | ( | const KMMessage * | msg | ) | const |
Definition at line 462 of file kmfolder.cpp.
| int KMFolder::find | ( | const KMMsgBase * | msg | ) | const |
Returns the index of the given message or -1 if not found.
Definition at line 457 of file kmfolder.cpp.
| void KMFolder::folderSizeChanged | ( | KMFolder * | ) | [signal] |
Emitted when the folder's size changes.
| KMFolderType KMFolder::folderType | ( | ) | const |
| DwString KMFolder::getDwString | ( | int | idx | ) |
| KMMessage * KMFolder::getMsg | ( | int | idx | ) |
| KMMsgBase * KMFolder::getMsgBase | ( | int | idx | ) |
Definition at line 387 of file kmfolder.cpp.
| const KMMsgBase * KMFolder::getMsgBase | ( | int | idx | ) | const |
Provides access to the basic message fields that are also stored in the index.
Whenever you only need subject, from, date, status you should use this method instead of getMsg() because getMsg() will load the message if necessary and this method does not.
Definition at line 382 of file kmfolder.cpp.
| int KMFolder::getReadExpireAge | ( | ) | const [inline] |
Get the age at which read messages are expired.
Units are determined by getReadExpireUnits().
Definition at line 463 of file kmfolder.h.
| ExpireUnits KMFolder::getReadExpireUnits | ( | ) | const [inline] |
Units getReadExpireAge() is returned in.
1 = days, 2 = weeks, 3 = months.
Definition at line 475 of file kmfolder.h.
| int KMFolder::getUnreadExpireAge | ( | ) | const [inline] |
Get the age at which unread messages are expired.
Units are determined by getUnreadExpireUnits().
Definition at line 457 of file kmfolder.h.
| ExpireUnits KMFolder::getUnreadExpireUnits | ( | ) | const [inline] |
Units getUnreadExpireAge() is returned in.
1 = days, 2 = weeks, 3 = months.
Definition at line 469 of file kmfolder.h.
| bool KMFolder::hasAccounts | ( | ) | const [inline] |
Returns true if accounts are associated with this folder.
Definition at line 129 of file kmfolder.h.
| void KMFolder::iconsChanged | ( | ) | [signal] |
Emitted when the icon paths are set.
| uint KMFolder::identity | ( | ) | const |
Definition at line 653 of file kmfolder.cpp.
| QString KMFolder::idsLocation | ( | ) | const [virtual] |
| QString KMFolder::idString | ( | ) | const |
Returns a string that can be used to identify this folder.
Definition at line 718 of file kmfolder.cpp.
| void KMFolder::ignoreJobsForMessage | ( | KMMessage * | m | ) |
Removes and deletes all jobs associated with the particular message.
Definition at line 363 of file kmfolder.cpp.
| bool KMFolder::ignoreNewMail | ( | ) | const [inline] |
Returns true if the user doesn't want to get notified about new mail in this folder.
Definition at line 534 of file kmfolder.h.
| QString KMFolder::indexLocation | ( | ) | const [virtual] |
| bool KMFolder::isAutoExpire | ( | ) | const [inline] |
| bool KMFolder::isDrafts | ( | ) | [inline] |
Returns true if this folder is the drafts box of the local account, or is configured to be the drafts box of any of the users identities.
Definition at line 115 of file kmfolder.h.
| bool KMFolder::isMailingListEnabled | ( | ) | const [inline] |
Definition at line 388 of file kmfolder.h.
| bool KMFolder::isMainInbox | ( | ) | [inline] |
Returns true if this folder is the inbox on the local disk.
Definition at line 96 of file kmfolder.h.
| bool KMFolder::isMessage | ( | int | idx | ) |
| bool KMFolder::isMoveable | ( | ) | const |
| bool KMFolder::isOpened | ( | ) | const |
| bool KMFolder::isOutbox | ( | ) | [inline] |
Returns true only if this is the outbox for outgoing mail.
Definition at line 100 of file kmfolder.h.
| bool KMFolder::isReadOnly | ( | ) | const |
| bool KMFolder::isSent | ( | ) | [inline] |
Returns true if this folder is the sent-mail box of the local account, or is configured to be the sent mail box of any of the users identities.
Definition at line 105 of file kmfolder.h.
| bool KMFolder::isSystemFolder | ( | ) | const [inline] |
Returns true if the folder is a kmail system folder.
These are the folders 'inbox', 'outbox', 'sent', 'trash', 'drafts', 'templates'. The name of these folders is nationalized in the folder display and they cannot have accounts associated. Deletion is also forbidden. Etc.
Definition at line 372 of file kmfolder.h.
| bool KMFolder::isTemplates | ( | ) | [inline] |
Returns true if this folder is the templates folder of the local account, or is configured to be the templates folder of any of the users identities.
Definition at line 121 of file kmfolder.h.
| bool KMFolder::isTrash | ( | ) | [inline] |
Returns true if this folder is configured as a trash folder, locally or for one of the accounts.
Definition at line 110 of file kmfolder.h.
| QString KMFolder::label | ( | void | ) | const [virtual] |
Returns the label of the folder for visualization.
Reimplemented from KMFolderNode.
Definition at line 588 of file kmfolder.cpp.
| QString KMFolder::location | ( | void | ) | const |
| MailingList KMFolder::mailingList | ( | ) | const [inline] |
Definition at line 391 of file kmfolder.h.
| QString KMFolder::mailingListPostAddress | ( | ) | const |
Definition at line 612 of file kmfolder.cpp.
| void KMFolder::markNewAsUnread | ( | ) |
| void KMFolder::markUnreadAsRead | ( | ) |
| bool KMFolder::moveInProgress | ( | ) | const [inline] |
Returns true if there is currently a move or copy operation going on with this folder as target.
Definition at line 546 of file kmfolder.h.
Definition at line 452 of file kmfolder.cpp.
| int KMFolder::moveMsg | ( | KMMessage * | msg, | |
| int * | index_return = 0 | |||
| ) |
Detaches the given message from it's current folder and adds it to this folder.
Returns zero on success and an errno error code on failure. The index of the new message is stored in index_return if given.
Definition at line 447 of file kmfolder.cpp.
| void KMFolder::msgAdded | ( | KMFolder * | , | |
| quint32 | sernum | |||
| ) | [signal] |
| void KMFolder::msgAdded | ( | int | idx | ) | [signal] |
Emitted when a message is added from the folder.
| void KMFolder::msgChanged | ( | KMFolder * | , | |
| quint32 | sernum, | |||
| int | delta | |||
| ) | [signal] |
Emitted, when the status of a message is changed.
| void KMFolder::msgHeaderChanged | ( | KMFolder * | , | |
| int | ||||
| ) | [signal] |
Emitted when a field of the header of a specific message changed.
| void KMFolder::msgRemoved | ( | KMFolder * | ) | [signal] |
| void KMFolder::msgRemoved | ( | int | idx, | |
| const QString & | msgIdMD5 | |||
| ) | [signal] |
Emitted after a message is removed from the folder.
| void KMFolder::msgRemoved | ( | KMFolder * | , | |
| quint32 | sernum | |||
| ) | [signal] |
Emitted before a message is removed from the folder.
| void KMFolder::msgStatusChanged | ( | const MessageStatus & | oldStatus, | |
| const MessageStatus & | newStatus, | |||
| int | idx | |||
| ) |
Called by KMMsgBase::setStatus when status of a message has changed required to keep the number of unread messages variable current.
Definition at line 495 of file kmfolder.cpp.
| void KMFolder::nameChanged |
KDE 4.2 API Reference