kmail

KMFolderImap Class Reference

Inheritance diagram for KMFolderImap:

KMFolderMbox KMFolderIndex FolderStorage List of all members.

Detailed Description

Definition at line 77 of file kmfolderimap.h.


Public Types

enum  imapState { imapNoInformation = 0, imapListingInProgress = 1, imapDownloadInProgress = 2, imapFinished = 3 }

Public Slots

virtual void addMsgQuiet (KMMessage *)
virtual void addMsgQuiet (QPtrList< KMMessage >)
virtual int addMsg (KMMessage *msg, int *index_return=0)
virtual int addMsg (QPtrList< KMMessage > &, QValueList< int > &index_return)
void copyMsg (QPtrList< KMMessage > &msgList)
virtual KMMessagetake (int idx)
virtual void take (QPtrList< KMMessage >)
void slotSimpleData (KIO::Job *job, const QByteArray &data)
static void flagsToStatus (KMMsgBase *msg, int flags, bool newMsg=TRUE)
void slotCopyMsgResult (KMail::FolderJob *job)
void slotSearchDone (QValueList< Q_UINT32 > serNums, const KMSearchPattern *pattern, bool complete)
void slotSearchDone (Q_UINT32 serNum, const KMSearchPattern *pattern, bool matches)
void slotListResult (const QStringList &, const QStringList &, const QStringList &, const QStringList &, const ImapAccountBase::jobData &)
void slotCheckNamespace (const QStringList &, const QStringList &, const QStringList &, const QStringList &, const ImapAccountBase::jobData &)

Signals

void folderComplete (KMFolderImap *folder, bool success)
void deleted (KMFolderImap *)
void directoryListingFinished (KMFolderImap *)

Public Member Functions

virtual imapState getContentState ()
virtual void setContentState (imapState state)
virtual imapState getSubfolderState ()
virtual void setSubfolderState (imapState state)
 KMFolderImap (KMFolder *folder, const char *name=0)
virtual ~KMFolderImap ()
virtual KMFolderType folderType () const
virtual KMMessagegetMsg (int idx)
void setImapPath (const QString &path)
QString imapPath ()
ulong lastUid ()
void setUidValidity (const QString &validity)
QString uidValidity ()
void setAccount (KMAcctImap *acct)
KMAcctImapaccount () const
virtual void removeMsg (int i, bool quiet=FALSE)
virtual void removeMsg (const QPtrList< KMMessage > &msgList, bool quiet=FALSE)
virtual int rename (const QString &newName, KMFolderDir *aParent=0)
virtual void remove ()
bool autoExpunge ()
virtual void writeConfig ()
virtual void readConfig ()
virtual bool listDirectory ()
void getFolder (bool force=FALSE)
void getAndCheckFolder (bool force=FALSE)
void getMessage (KMFolder *folder, KMMessage *msg)
void createFolder (const QString &name, const QString &imapPath=QString::null, bool askUser=true)
void deleteMessage (KMMessage *msg)
void deleteMessage (const QPtrList< KMMessage > &msgList)
virtual void setStatus (int idx, KMMsgStatus status, bool toggle)
virtual void setStatus (QValueList< int > &ids, KMMsgStatus status, bool toggle)
void getUids (QValueList< int > &ids, QValueList< ulong > &uids)
void getUids (const QPtrList< KMMessage > &msgList, QValueList< ulong > &uids)
void expungeFolder (KMFolderImap *aFolder, bool quiet)
virtual int compact (bool)
void sendFolderComplete (bool success)
bool processNewMail (bool interactive)
void setSelected (bool selected)
bool isSelected ()
virtual QString fileName () const
const ulong serNumForUID (ulong uid)
void saveMsgMetaData (KMMessage *msg, ulong uid=0)
virtual void ignoreJobsForMessage (KMMessage *)
bool includeInMailCheck ()
void setIncludeInMailCheck (bool check)
virtual int create ()
virtual bool isAutoExpire () const
virtual void close (bool force=FALSE)
void setCheckingValidity (bool val)
KMFoldertrashFolder () const
void setAlreadyRemoved (bool removed)
bool isReadOnly () const
unsigned int userRights () const
void setUserRights (unsigned int userRights)
virtual void search (const KMSearchPattern *)
virtual void search (const KMSearchPattern *, Q_UINT32 serNum)
virtual bool isMoveable () const
void initializeFrom (KMFolderImap *parent, QString path, QString mimeType)

Static Public Member Functions

static QString cacheLocation ()
static QStringList makeSets (QValueList< ulong > &, bool sort=true)
static QStringList makeSets (const QStringList &, bool sort=true)
static QPtrList< KMMessagesplitMessageList (const QString &set, QPtrList< KMMessage > &msgList)
static QString encodeFileName (const QString &)
static QString decodeFileName (const QString &)
static QTextCodec * utf7Codec ()
static QString statusToFlags (KMMsgStatus status)
static QValueList< ulong > splitSets (const QString)

Protected Slots

void checkValidity ()
void slotCheckValidityResult (KIO::Job *job)
void reallyGetFolder (const QString &startUid=QString::null)
void slotListFolderResult (KIO::Job *job)
void slotListFolderEntries (KIO::Job *job, const KIO::UDSEntryList &uds)
void slotGetMessagesResult (KIO::Job *job)
void slotGetLastMessagesResult (KIO::Job *job)
void slotGetMessagesData (KIO::Job *job, const QByteArray &data)
void slotCreateFolderResult (KIO::Job *job)
void slotRemoveFolderResult (KIO::Job *job)
void slotStatResult (KIO::Job *job)
void slotCompleteMailCheckProgress ()
void slotProcessNewMail (int errorCode, const QString &errorMsg)
void slotCreatePendingFolders (int errorCode, const QString &errorMsg)
void slotListNamespaces ()

Protected Member Functions

virtual FolderJob * doCreateJob (KMMessage *msg, FolderJob::JobType jt, KMFolder *folder, QString partSpecifier, const AttachmentStrategy *as) const
virtual FolderJob * doCreateJob (QPtrList< KMMessage > &msgList, const QString &sets, FolderJob::JobType jt, KMFolder *folder) const
void getMessagesResult (KIO::Job *job, bool lastSet)
virtual int expungeContents ()
void setChildrenState (QString attributes)
void initInbox ()
KMFolderImapfindParent (const QString &path, const QString &name)
void checkFolders (const QStringList &folderNames, const QString &ns)
void finishMailCheck (imapState state)

Protected Attributes

QString mImapPath
ulong mLastUid
imapState mContentState
imapState mSubfolderState
bool mIsSelected
bool mCheckFlags
bool mReadOnly
bool mCheckMail
QGuardedPtr< KMAcctImapmAccount
QString mUidValidity
unsigned int mUserRights

Friends

class ::KMail::ImapJob

Constructor & Destructor Documentation

KMFolderImap::KMFolderImap KMFolder folder,
const char *  name = 0
 

Usually a parent is given.

But in some cases there is no fitting parent object available. Then the name of the folder is used as the absolute path to the folder file.

Definition at line 64 of file kmfolderimap.cpp.


Member Function Documentation

int KMFolderImap::addMsg QPtrList< KMMessage > &  ,
QValueList< int > &  index_return
[virtual, slot]
 

Adds the given messages to the folder.

Behaviour is identical to addMsg(msg)

Reimplemented from FolderStorage.

Definition at line 378 of file kmfolderimap.cpp.

int KMFolderImap::addMsg KMMessage msg,
int *  index_return = 0
[virtual, slot]
 

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).

Reimplemented from KMFolderMbox.

Definition at line 368 of file kmfolderimap.cpp.

void KMFolderImap::addMsgQuiet KMMessage  )  [virtual, slot]
 

Add a message to a folder after is has been added on an IMAP server.

Definition at line 306 of file kmfolderimap.cpp.

bool KMFolderImap::autoExpunge  ) 
 

Automatically expunge deleted messages when leaving the folder.

Definition at line 1723 of file kmfolderimap.cpp.

void KMFolderImap::checkFolders const QStringList &  folderNames,
const QString &  ns
[protected]
 

See if all folders are still present on server, otherwise delete them.

Definition at line 918 of file kmfolderimap.cpp.

void KMFolderImap::checkValidity  )  [protected, slot]
 

Retrieve the whole folder or only the changes.

Definition at line 994 of file kmfolderimap.cpp.

void KMFolderImap::close bool  force = FALSE  )  [virtual]
 

Close folder.

If force is TRUE the files are closed even if others still use it (e.g. other mail reader windows). This also cancels all pending jobs.

Reimplemented from KMFolderMbox.

Definition at line 109 of file kmfolderimap.cpp.

virtual int KMFolderImap::compact bool   )  [inline, virtual]
 

Remove deleted messages from the folder.

Returns zero on success and an errno on failure.

Reimplemented from KMFolderMbox.

Definition at line 211 of file kmfolderimap.h.

void KMFolderImap::copyMsg QPtrList< KMMessage > &  msgList  )  [slot]
 

Copy the messages to this folder.

Definition at line 499 of file kmfolderimap.cpp.

int KMFolderImap::create  )  [virtual]
 

Inherited.

Reimplemented from KMFolderMbox.

Definition at line 2058 of file kmfolderimap.cpp.

void KMFolderImap::createFolder const QString &  name,
const QString &  imapPath = QString::null,
bool  askUser = true
 

Create a new subfolder You may specify the root imap path or this folder will be used If you set askUser to false and the server can only handle folders that contain messages _or_ folders the new folder is set to "contains messages" by default.

Definition at line 1651 of file kmfolderimap.cpp.

void KMFolderImap::deleted KMFolderImap  )  [signal]
 

Emitted, when the account is deleted.

void KMFolderImap::deleteMessage KMMessage msg  ) 
 

Delete a message.

Definition at line 1745 of file kmfolderimap.cpp.

void KMFolderImap::directoryListingFinished KMFolderImap  )  [signal]
 

Emitted at the end of the directory listing.

FolderJob * KMFolderImap::doCreateJob KMMessage msg,
FolderJob::JobType  jt,
KMFolder folder,
QString  partSpecifier,
const AttachmentStrategy as
const [protected, virtual]
 

These two methods actually create the jobs.

They have to be implemented in all folders.

See also:
createJob

Reimplemented from KMFolderMbox.

Definition at line 1576 of file kmfolderimap.cpp.

QString KMFolderImap::encodeFileName const QString &   )  [static]
 

Encode the given string in a filename save 7 bit string.

Definition at line 1708 of file kmfolderimap.cpp.

int KMFolderImap::expungeContents  )  [protected, virtual]
 

Called by KMFolder::expunge() to delete the actual contents.

At the time of the call the folder has already been closed, and the various index files deleted. Returns 0 on success.

Reimplemented from KMFolderMbox.

Definition at line 2117 of file kmfolderimap.cpp.

void KMFolderImap::expungeFolder KMFolderImap aFolder,
bool  quiet
 

Expunge deleted messages from the folder.

Definition at line 1948 of file kmfolderimap.cpp.

virtual QString KMFolderImap::fileName  )  const [inline, virtual]
 

Return the filename of the folder (reimplemented from KFolder).

Reimplemented from FolderStorage.

Definition at line 247 of file kmfolderimap.h.

KMFolderImap * KMFolderImap::findParent const QString &  path,
const QString &  name
[protected]
 

See if there is a better parent then this folder.

Definition at line 891 of file kmfolderimap.cpp.

void KMFolderImap::flagsToStatus KMMsgBase msg,
int  flags,
bool  newMsg = TRUE
[static, slot]
 

Convert IMAP flags to a message status.

Parameters:
newMsg specifies whether unseen messages are new or unread

Definition at line 1383 of file kmfolderimap.cpp.

virtual KMFolderType KMFolderImap::folderType  )  const [inline, virtual]
 

Returns the type of this folder.

Reimplemented from KMFolderMbox.

Definition at line 107 of file kmfolderimap.h.

void KMFolderImap::getAndCheckFolder bool  force = FALSE  ) 
 

same as above but also checks for new mails

Definition at line 1150 of file kmfolderimap.cpp.

void KMFolderImap::getFolder bool  force = FALSE  ) 
 

Retrieve all mails in a folder.

Definition at line 1164 of file kmfolderimap.cpp.

void KMFolderImap::getMessage KMFolder folder,
KMMessage msg
 

Get the whole message.

KMMessage * KMFolderImap::getMsg int  idx  )  [virtual]
 

Read message at given index.

Indexing starts at zero

Reimplemented from FolderStorage.

Definition at line 142 of file kmfolderimap.cpp.

void KMFolderImap::getUids const QPtrList< KMMessage > &  msgList,
QValueList< ulong > &  uids
 

same as above but accepts a Message-List

Definition at line 1934 of file kmfolderimap.cpp.

void KMFolderImap::getUids QValueList< int > &  ids,
QValueList< ulong > &  uids
 

gets the uids of the given ids

Definition at line 1922 of file kmfolderimap.cpp.

void KMFolderImap::ignoreJobsForMessage KMMessage  )  [virtual]
 

Removes and deletes all jobs associated with the particular message.

Reimplemented from FolderStorage.

Definition at line 1439 of file kmfolderimap.cpp.

bool KMFolderImap::includeInMailCheck  )  [inline]
 

If this folder should be included in new-mail-check.

Definition at line 271 of file kmfolderimap.h.

void KMFolderImap::initializeFrom KMFolderImap parent,
QString  path,
QString  mimeType
 

Initialize this storage from another one.

Used when creating a child folder

Definition at line 963 of file kmfolderimap.cpp.

void KMFolderImap::initInbox  )  [protected]
 

Create or find the INBOX and initialize it.

Definition at line 861 of file kmfolderimap.cpp.

virtual bool KMFolderImap::isAutoExpire  )  const [inline, virtual]
 

imap folders cannot expire

Definition at line 278 of file kmfolderimap.h.

bool KMFolderImap::isMoveable  )  const [virtual]
 

Returns true if this folder can be moved.

Reimplemented from FolderStorage.

Definition at line 2271 of file kmfolderimap.cpp.

bool KMFolderImap::isReadOnly  )  const [inline, virtual]
 

Is the folder readonly?

Reimplemented from KMFolderMbox.

Definition at line 298 of file kmfolderimap.h.

ulong KMFolderImap::lastUid  ) 
 

The highest UID in the folder.

Definition at line 1061 of file kmfolderimap.cpp.

bool KMFolderImap::listDirectory  )  [virtual]
 

List a directory and add the contents to kmfoldermgr It uses a ListJob to get the folders returns false if the connection failed.

Definition at line 710 of file kmfolderimap.cpp.

QStringList KMFolderImap::makeSets QValueList< ulong > &  ,
bool  sort = true
[static]
 

generates sets of uids

Definition at line 1868 of file kmfolderimap.cpp.

bool KMFolderImap::processNewMail bool  interactive  ) 
 

Refresh the number of unseen mails Returns false in an error condition.

Definition at line 1977 of file kmfolderimap.cpp.

void KMFolderImap::readConfig  )  [virtual]
 

Read the config file.

Reimplemented from FolderStorage.

Definition at line 175 of file kmfolderimap.cpp.

void KMFolderImap::reallyGetFolder const QString &  startUid = QString::null  )  [protected, slot]
 

Get the folder now (internal).

Definition at line 1184 of file kmfolderimap.cpp.

void KMFolderImap::remove  )  [virtual]
 

Remove the IMAP folder on the server and if successful also locally.

Reimplemented from FolderStorage.

Definition at line 210 of file kmfolderimap.cpp.

void KMFolderImap::removeMsg int  i,
bool  quiet = FALSE
[virtual]
 

Remove (first occurrence of) given message from the folder.

Reimplemented from FolderStorage.

Definition at line 257 of file kmfolderimap.cpp.

int KMFolderImap::rename const QString &  newName,
KMFolderDir aParent = 0
[virtual]
 

Physically rename the folder.

Returns zero on success and an errno on failure.

Reimplemented from FolderStorage.

Definition at line 297 of file kmfolderimap.cpp.

void KMFolderImap::saveMsgMetaData KMMessage msg,
ulong  uid = 0
 

Save the metadata for the UID If the UID is not supplied the one from the message is taken.

Definition at line 2290 of file kmfolderimap.cpp.

void KMFolderImap::search const KMSearchPattern ,
Q_UINT32  serNum
[virtual]
 

Check if the message matches the search criteria The end is signaled with searchDone().

Reimplemented from FolderStorage.

Definition at line 2249 of file kmfolderimap.cpp.

void KMFolderImap::search const KMSearchPattern  )  [virtual]
 

Search for messages The actual search is done in slotSearch and the end is signaled with searchDone().

Reimplemented from FolderStorage.

Definition at line 2225 of file kmfolderimap.cpp.

void KMFolderImap::sendFolderComplete bool  success  )  [inline]
 

Emit the folderComplete signal.

Definition at line 216 of file kmfolderimap.h.

const ulong KMFolderImap::serNumForUID ulong  uid  ) 
 

Get the serial number for the given UID (if available).

Definition at line 2278 of file kmfolderimap.cpp.

void KMFolderImap::setAccount KMAcctImap acct  ) 
 

The imap account associated with this folder.

Definition at line 161 of file kmfolderimap.cpp.

void KMFolderImap::setAlreadyRemoved bool  removed  ) 
 

Mark the folder as already removed from the server If set to true the folder will only be deleted locally This will recursively be applied to all children.

Definition at line 2192 of file kmfolderimap.cpp.

void KMFolderImap::setImapPath const QString &  path  ) 
 

The path to the imap folder on the server.

Definition at line 2300 of file kmfolderimap.cpp.

void KMFolderImap::setSelected bool  selected  )  [inline]
 

Tell the folder, this it is selected and shall also display new mails, not only their number, when checking for mail.

Definition at line 229 of file kmfolderimap.h.

void KMFolderImap::setStatus QValueList< int > &  ids,
KMMsgStatus  status,
bool  toggle
[virtual]
 

Change the status of several messages indicated by ids.

Reimplemented from FolderStorage.

Definition at line 1812 of file kmfolderimap.cpp.

void KMFolderImap::setStatus int  idx,
KMMsgStatus  status,
bool  toggle
[virtual]
 

Change the status of the message indicated by index Overloaded function for the following one.

Reimplemented from FolderStorage.

Definition at line 1806 of file kmfolderimap.cpp.

void KMFolderImap::setUidValidity const QString &  validity  )  [inline]
 

The uidvalidity of the last update.

Definition at line 118 of file kmfolderimap.h.

void KMFolderImap::setUserRights unsigned int  userRights  ) 
 

Set the user's rights on this folder - called by getUserRights.

Definition at line 2147 of file kmfolderimap.cpp.

void KMFolderImap::slotCheckNamespace const QStringList &  ,
const QStringList &  ,
const QStringList &  ,
const QStringList &  ,
const ImapAccountBase::jobData & 
[slot]
 

Connected to slotListNamespaces creates/removes namespace folders.

Definition at line 639 of file kmfolderimap.cpp.

void KMFolderImap::slotCompleteMailCheckProgress  )  [protected, slot]
 

notify the progress item that the mail check for this folder is done.

Definition at line 2154 of file kmfolderimap.cpp.

void KMFolderImap::slotCopyMsgResult KMail::FolderJob job  )  [slot]
 

Connected to the result signal of the copy/move job.

Definition at line 492 of file kmfolderimap.cpp.

void KMFolderImap::slotCreateFolderResult KIO::Job *  job  )  [protected, slot]
 

For creating a new subfolder.

Definition at line 1679 of file kmfolderimap.cpp.

void KMFolderImap::slotCreatePendingFolders int  errorCode,
const QString &  errorMsg
[protected, slot]
 

Is connected when there are folders to be created on startup and the account is still connecting.

Once the account emits the connected signal this slot is called and the folders created.

Definition at line 2210 of file kmfolderimap.cpp.

void KMFolderImap::slotGetMessagesResult KIO::Job *  job  )  [protected, slot]
 

For retrieving a message digest.

Definition at line 1644 of file kmfolderimap.cpp.

void KMFolderImap::slotListFolderResult KIO::Job *  job  )  [protected, slot]
 

For listing the contents of a folder.

Definition at line 1230 of file kmfolderimap.cpp.

void KMFolderImap::slotListNamespaces  )  [protected, slot]
 

Starts a namespace listing.

Definition at line 583 of file kmfolderimap.cpp.

void KMFolderImap::slotListResult const QStringList &  ,
const QStringList &  ,
const QStringList &  ,
const QStringList &  ,
const ImapAccountBase::jobData & 
[slot]
 

Connected to ListJob::receivedFolders creates/removes folders.

Definition at line 744 of file kmfolderimap.cpp.

void KMFolderImap::slotProcessNewMail int  errorCode,
const QString &  errorMsg
[protected, slot]
 

Is called when the slave is connected and triggers a newmail check.

Definition at line 1965 of file kmfolderimap.cpp.

void KMFolderImap::slotRemoveFolderResult KIO::Job *  job  )  [protected, slot]
 

Remove the folder also locally, if removing on the server succeeded.

Definition at line 241 of file kmfolderimap.cpp.

void KMFolderImap::slotSearchDone Q_UINT32  serNum,
const KMSearchPattern pattern,
bool  matches
[slot]
 

Called from the SearchJob when the message was searched.

Definition at line 2264 of file kmfolderimap.cpp.

void KMFolderImap::slotSearchDone QValueList< Q_UINT32 >  serNums,
const KMSearchPattern pattern,
bool  complete
[slot]
 

Called from the SearchJob when the folder is done or messages where found.

Definition at line 2241 of file kmfolderimap.cpp.

void KMFolderImap::slotSimpleData KIO::Job *  job,
const QByteArray &  data
[slot]
 

Add the data a KIO::Job retrieves to the buffer.

Definition at line 1733 of file kmfolderimap.cpp.

void KMFolderImap::slotStatResult KIO::Job *  job  )  [protected, slot]
 

Update the number of unseen messages.

Definition at line 2029 of file kmfolderimap.cpp.

QPtrList< KMMessage > KMFolderImap::splitMessageList const QString &  set,
QPtrList< KMMessage > &  msgList
[static]
 

splits the message list according to sets.

Modifies the .

Definition at line 523 of file kmfolderimap.cpp.

QValueList< ulong > KMFolderImap::splitSets const   QString  )  [static]
 

Splits a uid-set into single uids.

Definition at line 2065 of file kmfolderimap.cpp.

QString KMFolderImap::statusToFlags KMMsgStatus  status  )  [static]
 

Convert message status to a list of IMAP flags.

Definition at line 1420 of file kmfolderimap.cpp.

KMMessage * KMFolderImap::take int  idx  )  [virtual, slot]
 

Detach message from this folder.

Usable to call addMsg() afterwards. Loads the message if it is not loaded up to now.

Reimplemented from FolderStorage.

Definition at line 561 of file kmfolderimap.cpp.

KMFolder * KMFolderImap::trashFolder  )  const [virtual]
 

Return the trash folder.

Reimplemented from FolderStorage.

Definition at line 135 of file kmfolderimap.cpp.

unsigned int KMFolderImap::userRights  )  const [inline]
 

The user's rights on this folder - see bitfield in ACLJobs namespace.

Returns:
0 when not known yet

Definition at line 304 of file kmfolderimap.h.

void KMFolderImap::writeConfig  )  [virtual]
 

Write the config file.

Reimplemented from FolderStorage.

Definition at line 197 of file kmfolderimap.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys