kmail

KMMessage Class Reference

#include <kmmessage.h>

Inheritance diagram for KMMessage:

KMMsgBase KMail::ISubject KMail::Interface::Observable List of all members.

Detailed Description

This is a Mime Message.

Definition at line 67 of file kmmessage.h.


Public Types

enum  HeaderFieldType { Unstructured, Structured, Address }

Public Member Functions

 KMMessage (KMFolder *parent=0)
 KMMessage (DwMessage *)
 KMMessage (KMMsgInfo &msgInfo)
 KMMessage (const KMMessage &other)
virtual ~KMMessage ()
KMMsgBasetoMsgBase ()
const KMMsgBasetoMsgBase () const
bool isMessage () const
bool isUrgent () const
void setUnencryptedMsg (KMMessage *unencrypted)
bool hasUnencryptedMsg () const
KMMessageunencryptedMsg () const
KMMessagetakeUnencryptedMsg ()
void del ()
void undel ()
void touch ()
KMMessagecreateReply (KMail::ReplyStrategy replyStrategy=KMail::ReplySmart, QString selection=QString::null, bool noQuote=FALSE, bool allowDecryption=TRUE, bool selectionIsBody=FALSE, const QString &tmpl=QString::null)
KMMessagecreateRedirect (const QString &toStr)
QCString createForwardBody ()
KMMessagecreateForward (const QString &tmpl=QString::null)
KMMessagecreateDeliveryReceipt () const
KMMessagecreateMDN (KMime::MDN::ActionMode a, KMime::MDN::DispositionType d, bool allowGUI=false, QValueList< KMime::MDN::DispositionModifier > m=QValueList< KMime::MDN::DispositionModifier >())
void fromDwString (const DwString &str, bool setStatus=FALSE)
void fromString (const QCString &str, bool setStatus=FALSE)
void fromByteArray (const QByteArray &ba, bool setStatus=false)
const DwString & asDwString () const
const DwMessage * asDwMessage ()
QCString asString () const
QCString asSendableString () const
QCString headerAsSendableString () const
void removePrivateHeaderFields ()
DwMediaType & dwContentType ()
QString headerAsString () const
void parseTextStringFromDwPart (partNode *root, QCString &parsedString, const QTextCodec *&codec, bool &isHTML) const
void initHeader (uint identity=0)
void initFromMessage (const KMMessage *msg, bool idHeaders=TRUE)
uint identityUoid () const
void applyIdentity (uint id)
void cleanupHeader ()
void setAutomaticFields (bool isMultipart=FALSE)
QString dateStr () const
QCString dateShortStr () const
QString dateIsoStr () const
time_t date () const
void setDate (const QCString &str)
void setDate (time_t aUnixTime)
void setDateToday ()
QString to () const
void setTo (const QString &aStr)
QString toStrip () const
QString replyTo () const
void setReplyTo (const QString &aStr)
void setReplyTo (KMMessage *)
QString cc () const
void setCc (const QString &aStr)
QString ccStrip () const
QString bcc () const
void setBcc (const QString &aStr)
QString fcc () const
void setFcc (const QString &aStr)
QString drafts () const
void setDrafts (const QString &aStr)
QString templates () const
void setTemplates (const QString &aStr)
QString from () const
void setFrom (const QString &aStr)
QString fromStrip () const
QString sender () const
QString who () const
QString subject () const
void setSubject (const QString &aStr)
void initStrippedSubjectMD5 ()
QString xmark () const
void setXMark (const QString &aStr)
QString replyToId () const
void setReplyToId (const QString &aStr)
QString replyToIdMD5 () const
QString replyToAuxIdMD5 () const
QString strippedSubjectMD5 () const
QString subjectMD5 () const
bool subjectIsPrefixed () const
QString msgId () const
void setMsgId (const QString &aStr)
QString msgIdMD5 () const
QString references () const
void setReferences (const QCString &aStr)
QCString id () const
void setMsgSerNum (unsigned long newMsgSerNum=0)
QString headerField (const QCString &name) const
void setHeaderField (const QCString &name, const QString &value, HeaderFieldType type=Unstructured, bool prepend=false)
QStringList headerFields (const QCString &name) const
QCString rawHeaderField (const QCString &name) const
QValueList< QCString > rawHeaderFields (const QCString &field) const
KMime::Types::AddressList headerAddrField (const QCString &name) const
KMime::Types::AddrSpecList extractAddrSpecs (const QCString &headerNames) const
void removeHeaderField (const QCString &name)
QCString typeStr () const
int type () const
void setTypeStr (const QCString &aStr)
void setType (int aType)
QCString subtypeStr () const
int subtype () const
void setSubtypeStr (const QCString &aStr)
void setSubtype (int aSubtype)
void setContentTypeParam (const QCString &attr, const QCString &val)
DwHeaders & headers () const
void setNeedsAssembly ()
QCString contentTransferEncodingStr () const
int contentTransferEncoding () const
void setContentTransferEncodingStr (const QCString &aStr)
void setContentTransferEncoding (int aCte)
QCString cteStr () const
int cte () const
void setCteStr (const QCString &aStr)
void setCte (int aCte)
void setBodyFromUnicode (const QString &str)
QString bodyToUnicode (const QTextCodec *codec=0) const
QCString body () const
void setBody (const QCString &aStr)
void setMultiPartBody (const QCString &aStr)
void setBodyEncoded (const QCString &aStr)
void setBodyEncodedBinary (const QByteArray &aStr)
void setBodyAndGuessCte (const QByteArray &aBuf, QValueList< int > &allowedCte, bool allow8Bit=false, bool willBeSigned=false)
void setBodyAndGuessCte (const QCString &aBuf, QValueList< int > &allowedCte, bool allow8Bit=false, bool willBeSigned=false)
QCString bodyDecoded () const
QByteArray bodyDecodedBinary () const
int numBodyParts () const
DwBodyPart * findDwBodyPart (int type, int subtype) const
DwBodyPart * findDwBodyPart (DwBodyPart *part, const QString &partSpecifier)
DwBodyPart * dwBodyPart (int aIdx) const
int partNumber (DwBodyPart *aDwBodyPart) const
DwBodyPart * getFirstDwBodyPart () const
DwMessage * getTopLevelPart () const
void bodyPart (int aIdx, KMMessagePart *aPart) const
DwBodyPart * createDWBodyPart (const KMMessagePart *aPart)
void addDwBodyPart (DwBodyPart *aDwPart)
void addBodyPart (const KMMessagePart *aPart)
void deleteBodyParts ()
void setStatusFields ()
QString replaceHeadersInString (const QString &s) const
QCString charset () const
void setCharset (const QCString &aStr)
const QTextCodec * codec () const
void setOverrideCodec (const QTextCodec *codec)
void setDecodeHTML (bool aDecodeHTML)
QCString getRefStr () const
off_t folderOffset () const
void setFolderOffset (off_t offs)
QString fileName () const
void setFileName (const QString &file)
size_t msgSize () const
void setMsgSize (size_t sz)
size_t msgLength () const
void setMsgLength (size_t sz)
size_t msgSizeServer () const
void setMsgSizeServer (size_t sz)
ulong UID () const
void setUID (ulong uid)
KMMsgStatus status () const
void setStatus (const KMMsgStatus status, int idx=-1)
void setStatus (const char *s1, const char *s2=0)
void setEncryptionState (const KMMsgEncryptionState, int idx=-1)
void setSignatureState (const KMMsgSignatureState, int idx=-1)
void setMDNSentState (KMMsgMDNSentState status, int idx=-1)
KMMsgEncryptionState encryptionState () const
KMMsgSignatureState signatureState () const
KMMsgMDNSentState mdnSentState () const
void link (const KMMessage *aMsg, KMMsgStatus aStatus)
void getLink (int n, ulong *retMsgSerNum, KMMsgStatus *retStatus) const
QString formatString (const QString &) const
void updateBodyPart (const QString partSpecifier, const QByteArray &data)
DwBodyPart * lastUpdatedPart ()
bool isComplete () const
void setComplete (bool v)
bool readyToShow () const
void setReadyToShow (bool v)
void updateAttachmentState (DwBodyPart *part=0)
bool transferInProgress () const
void setTransferInProgress (bool value, bool force=false)
QCString mboxMessageSeparator ()
QString asQuotedString (const QString &headerStr, const QString &indentStr, const QString &selection=QString::null, bool aStripSignature=true, bool allowDecryption=true) const
QString asPlainText (bool stripSignature, bool allowDecryption) const
int getCursorPos ()
void setCursorPos (int pos)

Static Public Member Functions

static KPIM::EmailParseResult isValidEmailAddressList (const QString &aStr, QString &brokenAddress)
static KMime::Types::AddressList splitAddrField (const QCString &str)
static void setDwMediaTypeParam (DwMediaType &mType, const QCString &attr, const QCString &val)
static QValueList< int > determineAllowedCtes (const KMime::CharFreq &cf, bool allow8Bit, bool willBeSigned)
static void bodyPart (DwBodyPart *aDwBodyPart, KMMessagePart *aPart, bool withBody=true)
static QString generateMessageId (const QString &addr)
static QCString html2source (const QCString &src)
static QString encodeMailtoUrl (const QString &str)
static QString decodeMailtoUrl (const QString &url)
static QCString stripEmailAddr (const QCString &emailAddr)
static QString stripEmailAddr (const QString &emailAddr)
static QString quoteHtmlChars (const QString &str, bool removeLineBreaks=false)
static QString emailAddrAsAnchor (const QString &emailAddr, bool stripped=TRUE)
static QStringList stripAddressFromAddressList (const QString &address, const QStringList &addresses)
static QStringList stripMyAddressesFromAddressList (const QStringList &list)
static bool addressIsInAddressList (const QString &address, const QStringList &addresses)
static QString expandAliases (const QString &recipients)
static QString guessEmailAddressFromLoginName (const QString &userName)
static QString smartQuote (const QString &msg, int maxLineLength)
static QCString defaultCharset ()
static const QStringList & preferredCharsets ()
static void readConfig ()

Friends

class ::KMForwardDigestCommand

Constructor & Destructor Documentation

KMMessage::KMMessage KMFolder parent = 0  ) 
 

Straight forward initialization.

Definition at line 108 of file kmmessage.cpp.

KMMessage::KMMessage DwMessage *   ) 
 

Constructor from a DwMessage.

KMMessage takes possession of the DwMessage, so don't dare to delete it.

Definition at line 89 of file kmmessage.cpp.

KMMessage::KMMessage KMMsgInfo msgInfo  ) 
 

Copy constructor.

Does *not* automatically load the message.

Definition at line 115 of file kmmessage.cpp.

KMMessage::KMMessage const KMMessage other  ) 
 

Copy constructor.

Definition at line 132 of file kmmessage.cpp.

KMMessage::~KMMessage  )  [virtual]
 

Destructor.

Definition at line 194 of file kmmessage.cpp.


Member Function Documentation

void KMMessage::addBodyPart const KMMessagePart aPart  ) 
 

Append a body part to the message.

Definition at line 3162 of file kmmessage.cpp.

void KMMessage::addDwBodyPart DwBodyPart *  aDwPart  ) 
 

Append a DwBodyPart to the message.

Definition at line 3154 of file kmmessage.cpp.

bool KMMessage::addressIsInAddressList const QString &  address,
const QStringList &  addresses
[static]
 

Returns true if the given address is contained in the given address list.

Definition at line 3723 of file kmmessage.cpp.

void KMMessage::applyIdentity uint  id  ) 
 

Set the from, to, cc, bcc, encrytion etc headers as specified in the given identity.

Definition at line 1602 of file kmmessage.cpp.

const DwString & KMMessage::asDwString  )  const
 

Return the entire message contents in the DwString.

This function is *fast* even for large message since it does *not* involve a string copy.

Definition at line 286 of file kmmessage.cpp.

QString KMMessage::asPlainText bool  stripSignature,
bool  allowDecryption
const
 

Return the textual content of the message as plain text, converting HTML to plain text if necessary.

Definition at line 739 of file kmmessage.cpp.

QString KMMessage::asQuotedString const QString &  headerStr,
const QString &  indentStr,
const QString &  selection = QString::null,
bool  aStripSignature = true,
bool  allowDecryption = true
const
 

Returns message body with quoting header and indented by the given indentation string.

This is suitable for including the message in another message of for replies, forwards. The header string is a template where the following fields are replaced with the corresponding values:

        D: date of this message
        S: subject of this message
        F: sender (from) of this message
        %%: a single percent sign
    
No attachments are handled if includeAttach is false. The signature is stripped if aStripSignature is true and smart quoting is turned on. Signed or encrypted texts get converted to plain text when allowDecryption is true.

Definition at line 816 of file kmmessage.cpp.

QCString KMMessage::asSendableString  )  const
 

Return the message contents with the headers that should not be sent stripped off.

Definition at line 313 of file kmmessage.cpp.

QCString KMMessage::asString  )  const
 

Return the entire message contents as a string.

This function is slow for large message since it involves a string copy. If you need the string representation only for a short time (i.e. without the chance of calling any function in the underlying mimelib, then you should use the asDwString function.

See also:
asDwString

Definition at line 308 of file kmmessage.cpp.

QString KMMessage::bcc  )  const
 

Get or set the 'Bcc' header field.

Definition at line 1898 of file kmmessage.cpp.

QCString KMMessage::body  )  const
 

Get the message body.

Does not decode the body.

Definition at line 2470 of file kmmessage.cpp.

QCString KMMessage::bodyDecoded  )  const
 

Returns a decoded version of the body from the current content transfer encoding.

The first method returns a null terminated string, the second method is meant for binary data, not null is appended

Definition at line 2507 of file kmmessage.cpp.

void KMMessage::bodyPart int  aIdx,
KMMessagePart aPart
const
 

Get the body part at position in aIdx.

Indexing starts at 0. If there is no body part at that index, aPart will have its attributes set to empty values.

Definition at line 2997 of file kmmessage.cpp.

void KMMessage::bodyPart DwBodyPart *  aDwBodyPart,
KMMessagePart aPart,
bool  withBody = true
[static]
 

Fill the KMMessagePart structure for a given DwBodyPart.

If withBody is false the body of the KMMessagePart will be left empty and only the headers of the part will be filled in

Definition at line 2946 of file kmmessage.cpp.

QString KMMessage::bodyToUnicode const QTextCodec *  codec = 0  )  const
 

Returns the body part decoded to unicode.

Definition at line 4206 of file kmmessage.cpp.

QString KMMessage::cc  )  const
 

Get or set the 'Cc' header field.

Definition at line 1875 of file kmmessage.cpp.

QCString KMMessage::charset  )  const
 

Get the message charset.

Definition at line 3884 of file kmmessage.cpp.

void KMMessage::cleanupHeader  ) 
 

Removes empty fields from the header, e.g.

an empty Cc: or Bcc: field.

Definition at line 1694 of file kmmessage.cpp.

const QTextCodec * KMMessage::codec  )  const
 

Get a QTextCodec suitable for this message part.

Definition at line 4188 of file kmmessage.cpp.

QCString KMMessage::contentTransferEncodingStr  )  const
 

Get or set the 'Content-Transfer-Encoding' header field The member functions that involve enumerated types (ints) will work only for well-known encodings.

Definition at line 2419 of file kmmessage.cpp.

KMMessage * KMMessage::createDeliveryReceipt  )  const
 

Create a new message that is a delivery receipt of this message, filling required header fileds with the proper values.

The returned message is not stored in any folder.

Definition at line 1575 of file kmmessage.cpp.

DwBodyPart * KMMessage::createDWBodyPart const KMMessagePart aPart  ) 
 

Compose a DwBodyPart (needed for adding a part to the message).

Definition at line 3019 of file kmmessage.cpp.

KMMessage * KMMessage::createForward const QString &  tmpl = QString::null  ) 
 

Create a new message that is a forward of this message, filling all required header fields with the proper values.

The returned message is not stored in any folder. Marks this message as forwarded.

Definition at line 1188 of file kmmessage.cpp.

QCString KMMessage::createForwardBody  ) 
 

Create the forwarded body for the message.

Definition at line 1159 of file kmmessage.cpp.

KMMessage* KMMessage::createMDN KMime::MDN::ActionMode  a,
KMime::MDN::DispositionType  d,
bool  allowGUI = false,
QValueList< KMime::MDN::DispositionModifier >  m = QValueList< KMime::MDN::DispositionModifier >()
 

Create a new message that is a MDN for this message, filling all required fields with proper values.

The returned message is not stored in any folder.

Parameters:
a Use AutomaticAction for filtering and ManualAction for user-induced events.
d See docs for KMime::MDN::DispositionType
m See docs for KMime::MDN::DispositionModifier
allowGUI Set to true if this method is allowed to ask the user questions
Returns:
The notification message or 0, if none should be sent.

KMMessage * KMMessage::createRedirect const QString &  toStr  ) 
 

Create a new message that is a redirect to this message, filling all required header fields with the proper values.

The returned message is not stored in any folder. Marks this message as replied. Redirects differ from forwards so they are forwarded to some other user, mail is not changed and the reply-to field is set to the email address of the original sender

Definition at line 1106 of file kmmessage.cpp.

KMMessage * KMMessage::createReply KMail::ReplyStrategy  replyStrategy = KMail::ReplySmart,
QString  selection = QString::null,
bool  noQuote = FALSE,
bool  allowDecryption = TRUE,
bool  selectionIsBody = FALSE,
const QString &  tmpl = QString::null
 

Create a new message that is a reply to this message, filling all required header fields with the proper values.

The returned message is not stored in any folder. Marks this message as replied.

Definition at line 844 of file kmmessage.cpp.

QCString KMMessage::cteStr  )  const [inline]
 

Cte is short for ContentTransferEncoding.

These functions are an alternative to the ones with longer names.

Definition at line 510 of file kmmessage.h.

QCString KMMessage::dateShortStr  )  const
 

Returns the message date in asctime format or an empty string if the message lacks a Date header.

Definition at line 1755 of file kmmessage.cpp.

QString KMMessage::dateStr  )  const [virtual]
 

Get or set the 'Date' header field.

Reimplemented from KMMsgBase.

Definition at line 1737 of file kmmessage.cpp.

QString KMMessage::decodeMailtoUrl const QString &  url  )  [static]
 

Decodes a mailto URL.

Definition at line 3279 of file kmmessage.cpp.

QCString KMMessage::defaultCharset  )  [static]
 

Get the default message charset.

Definition at line 3861 of file kmmessage.cpp.

void KMMessage::del  )  [inline]
 

Mark the message as deleted.

Definition at line 152 of file kmmessage.h.

void KMMessage::deleteBodyParts  ) 
 

Delete all body parts.

Definition at line 3012 of file kmmessage.cpp.

static QValueList<int> KMMessage::determineAllowedCtes const KMime::CharFreq &  cf,
bool  allow8Bit,
bool  willBeSigned
[static]
 

Returns a list of content-transfer-encodings that can be used with the given result of the character frequency analysis of a message or message part under the given restrictions.

QString KMMessage::drafts  )  const [inline]
 

Get or set the 'Drafts' folder.

Definition at line 329 of file kmmessage.h.

DwBodyPart * KMMessage::dwBodyPart int  aIdx  )  const
 

Get the DwBodyPart at position in aIdx.

Indexing starts at 0. If there is no body part at that index, return value will be zero.

Definition at line 2787 of file kmmessage.cpp.

DwMediaType & KMMessage::dwContentType  ) 
 

Return reference to Content-Type header for direct manipulation.

Definition at line 385 of file kmmessage.cpp.

QString KMMessage::emailAddrAsAnchor const QString &  emailAddr,
bool  stripped = TRUE
[static]
 

Converts the email address(es) to (a) nice HTML mailto: anchor(s).

If stripped is TRUE then the visible part of the anchor contains only the name part and not the given emailAddr.

Definition at line 3646 of file kmmessage.cpp.

QString KMMessage::encodeMailtoUrl const QString &  str  )  [static]
 

Encodes an email address as mailto URL.

Definition at line 3268 of file kmmessage.cpp.

KMMsgEncryptionState KMMessage::encryptionState  )  const [inline, virtual]
 

Encryption status of the message.

Implements KMMsgBase.

Definition at line 781 of file kmmessage.h.

QString KMMessage::expandAliases const QString &  recipients  )  [static]
 

Expands aliases (distribution lists and nick names) and appends a domain part to all email addresses which are missing the domain part.

Definition at line 3739 of file kmmessage.cpp.

QString KMMessage::fcc  )  const
 

Get or set the 'Fcc' header field.

Definition at line 1911 of file kmmessage.cpp.

QString KMMessage::fileName void   )  const [inline, virtual]
 

Get/set filename in mail folder.

Implements KMMsgBase.

Definition at line 743 of file kmmessage.h.

DwBodyPart * KMMessage::findDwBodyPart DwBodyPart *  part,
const QString &  partSpecifier
 

Return the first DwBodyPart matching a given partSpecifier or zero, if no found.

Definition at line 4014 of file kmmessage.cpp.

DwBodyPart * KMMessage::findDwBodyPart int  type,
int  subtype
const
 

Return the first DwBodyPart matching a given Content-Type or zero, if no found.

Definition at line 2827 of file kmmessage.cpp.

off_t KMMessage::folderOffset void   )  const [inline, virtual]
 

Get/set offset in mail folder.

Implements KMMsgBase.

Definition at line 739 of file kmmessage.h.

QString KMMessage::formatString const QString &   )  const
 

Convert wildcards into normal string.

Definition at line 420 of file kmmessage.cpp.

QString KMMessage::from  )  const
 

Get or set the 'From' header field.

Definition at line 1945 of file kmmessage.cpp.

void KMMessage::fromDwString const DwString &  str,
bool  setStatus = FALSE
 

Parse the string and create this message from it.

Definition at line 398 of file kmmessage.cpp.

QString KMMessage::generateMessageId const QString &  addr  )  [static]
 

Generates the Message-Id.

It uses either the Message-Id suffix defined by the user or the given email address as suffix. The address must be given as addr-spec as defined in RFC 2822.

Definition at line 3170 of file kmmessage.cpp.

int KMMessage::getCursorPos  )  [inline]
 

Get stored cursor position.

Definition at line 852 of file kmmessage.h.

DwBodyPart * KMMessage::getFirstDwBodyPart  )  const
 

Get the 1st DwBodyPart.

If there is no body part, return value will be zero.

Definition at line 2740 of file kmmessage.cpp.

void KMMessage::getLink int  n,
ulong *  retMsgSerNum,
KMMsgStatus *  retStatus
const
 

Returns the information for the Nth link into retMsg and retStatus.

QCString KMMessage::getRefStr  )  const
 

Creates reference string for reply to messages.

reference = original first reference + original last reference + original msg-id

Definition at line 1078 of file kmmessage.cpp.

QString KMMessage::guessEmailAddressFromLoginName const QString &  userName  )  [static]
 

Uses the hostname as domain part and tries to determine the real name from the entries in the password file.

Definition at line 3789 of file kmmessage.cpp.

bool KMMessage::hasUnencryptedMsg  )  const [inline]
 

Returns TRUE if the message contains an unencrypted copy of itself.

Definition at line 134 of file kmmessage.h.

AddressList KMMessage::headerAddrField const QCString &  name  )  const
 

Returns header address list as string list.

Valid for the following fields: To, Bcc, Cc, ReplyTo, ResentBcc, ResentCc, ResentReplyTo, ResentTo

Definition at line 2181 of file kmmessage.cpp.

QCString KMMessage::headerAsSendableString  )  const
 

Return the message header with the headers that should not be sent stripped off.

Definition at line 322 of file kmmessage.cpp.

QString KMMessage::headerAsString  )  const
 

Return header as string.

Definition at line 374 of file kmmessage.cpp.

QString KMMessage::headerField const QCString &  name  )  const
 

Returns the value of a header field with the given name.

If multiple header fields with the given name might exist then you should use headerFields() instead.

Definition at line 2219 of file kmmessage.cpp.

QStringList KMMessage::headerFields const QCString &  name  )  const
 

Returns a list of the values of all header fields with the given name.

Definition at line 2232 of file kmmessage.cpp.

DwHeaders & KMMessage::headers  )  const
 

get the DwHeaders (make sure to call setNeedsAssembly() function after directly modyfying internal data like the headers)

Definition at line 2456 of file kmmessage.cpp.

QCString KMMessage::html2source const QCString &  src  )  [static]
 

Convert '<' into "&lt;" resp.

'>' into "&gt;" in order to prevent their interpretation by KHTML. Does *not* use the Qt replace function but runs a very fast C code the same way as lf2crlf() does.

Definition at line 3195 of file kmmessage.cpp.

QCString KMMessage::id  )  const
 

Returns the message ID, useful for followups.

Definition at line 211 of file kmmessage.cpp.

uint KMMessage::identityUoid  )  const
 

Returns:
the UOID of the identity for this message. Searches the "x-kmail-identity" header and if that fails, searches with KPIM::IdentityManager::identityForAddress() and if that fails queries the KMMsgBase::parent() folder for a default.

Definition at line 1667 of file kmmessage.cpp.

void KMMessage::initFromMessage const KMMessage msg,
bool  idHeaders = TRUE
 

Initialize headers fields according to the identity and the transport header of the given original message.

Definition at line 1682 of file kmmessage.cpp.

void KMMessage::initHeader uint  identity = 0  ) 
 

Initialize header fields.

Should be called on new messages if they are not set manually. E.g. before composing. Calling of setAutomaticFields(), see below, is still required.

Definition at line 1655 of file kmmessage.cpp.

void KMMessage::initStrippedSubjectMD5  )  [inline, virtual]
 

Calculate strippedSubject.

Implements KMMsgBase.

Definition at line 355 of file kmmessage.h.

bool KMMessage::isComplete  )  const [inline]
 

Return true if the complete message is available without referring to the backing store.

Definition at line 804 of file kmmessage.h.

bool KMMessage::isMessage  )  const [virtual]
 

Returns TRUE if object is a real message (not KMMsgInfo or KMMsgBase).

Reimplemented from KMMsgBase.

Definition at line 233 of file kmmessage.cpp.

bool KMMessage::isUrgent  )  const
 

Returns:
whether the priority: or x-priority headers indicate that this message should be considered urgent

Definition at line 253 of file kmmessage.cpp.

KPIM::EmailParseResult KMMessage::isValidEmailAddressList const QString &  aStr,
QString &  brokenAddress
[static]
 

Validate a list of email addresses, and also allow aliases and distribution lists to be expanded before validation.

Returns:
Enum to describe the error.

brokenAddress the address that was faulty. FIXME: this should be in libemailfucntions but that requires moving expandAliases and all that it brings

Definition at line 267 of file kmmessage.cpp.

DwBodyPart* KMMessage::lastUpdatedPart  )  [inline]
 

Returns the last DwBodyPart that was updated.

Definition at line 801 of file kmmessage.h.

void KMMessage::link const KMMessage aMsg,
KMMsgStatus  aStatus
 

Links this message to aMsg, setting link type to aStatus.

QCString KMMessage::mboxMessageSeparator  ) 
 

Returns an mbox message separator line for this message, i.e.

a string of the form "From local@domain.invalid Sat Jun 12 14:00:00 2004\n".

Definition at line 4216 of file kmmessage.cpp.

KMMsgMDNSentState KMMessage::mdnSentState  )  const [inline, virtual]
 

"MDN send" status of the message.

Implements KMMsgBase.

Definition at line 786 of file kmmessage.h.

QString KMMessage::msgId  )  const
 

Get or set the 'Message-Id' header field.

Definition at line 2112 of file kmmessage.cpp.

size_t KMMessage::msgLength  )  const [inline]
 

Unlike the above function this works also, if the message is not in a folder.

Definition at line 754 of file kmmessage.h.

size_t KMMessage::msgSize void   )  const [inline, virtual]
 

Get/set size of message in the folder including the whole header in bytes.

Can be 0, if the message is not in a folder. The setting of mMsgSize = mMsgLength = sz is needed for popFilter

Implements KMMsgBase.

Definition at line 749 of file kmmessage.h.

size_t KMMessage::msgSizeServer  )  const [virtual]
 

Get/set size on server.

Implements KMMsgBase.

Definition at line 2142 of file kmmessage.cpp.

int KMMessage::numBodyParts  )  const
 

Number of body parts the message has.

This is one for plain messages without any attachment.

Definition at line 2698 of file kmmessage.cpp.

void KMMessage::parseTextStringFromDwPart partNode root,
QCString &  parsedString,
const QTextCodec *&  codec,
bool &  isHTML
const
 

Returns a decoded body part string to be further processed by function asQuotedString().

THIS FUNCTION WILL BE REPLACED ONCE KMime IS FULLY INTEGRATED (khz, June 05 2002)

Definition at line 708 of file kmmessage.cpp.

int KMMessage::partNumber DwBodyPart *  aDwBodyPart  )  const
 

Get the number of the given DwBodyPart.

If no body part is given, return value will be -1.

Definition at line 2747 of file kmmessage.cpp.

const QStringList & KMMessage::preferredCharsets  )  [static]
 

Get a list of preferred message charsets.

Definition at line 3878 of file kmmessage.cpp.

QString KMMessage::quoteHtmlChars const QString &  str,
bool  removeLineBreaks = false
[static]
 

Quotes the following characters which have a special meaning in HTML: '<' '>' '&' '"'. Additionally '\n' is converted to "<br />" if removeLineBreaks is false.

If removeLineBreaks is true, then '\n' is removed. Last but not least '\r' is removed.

Definition at line 3610 of file kmmessage.cpp.

QCString KMMessage::rawHeaderField const QCString &  name  )  const
 

Returns the raw value of a header field with the given name.

If multiple header fields with the given name might exist then you should use rawHeaderFields() instead.

Definition at line 2194 of file kmmessage.cpp.

QValueList< QCString > KMMessage::rawHeaderFields const QCString &  field  )  const
 

Returns a list of the raw values of all header fields with the given name.

Definition at line 2205 of file kmmessage.cpp.

void KMMessage::readConfig  )  [static]
 

Reads config settings from group "KMMessage" and sets all internal variables (e.g.

indent-prefix, etc.)

Reimplemented from KMMsgBase.

Definition at line 3819 of file kmmessage.cpp.

bool KMMessage::readyToShow  )  const [inline]
 

Return if the message is ready to be shown.

Definition at line 809 of file kmmessage.h.

QString KMMessage::references  )  const
 

Get or set the references for this message.

Definition at line 2055 of file kmmessage.cpp.

void KMMessage::removeHeaderField const QCString &  name  ) 
 

Remove header field with given name.

Definition at line 2247 of file kmmessage.cpp.

void KMMessage::removePrivateHeaderFields  ) 
 

Remove all private header fields: *Status: and X-KMail-*.

Definition at line 331 of file kmmessage.cpp.

QString KMMessage::replaceHeadersInString const QString &  s  )  const
 

Replaces every occurrence of "${foo}" in s with headerField("foo").

Definition at line 1562 of file kmmessage.cpp.

QString KMMessage::replyTo  )  const
 

Get or set the 'ReplyTo' header field.

Definition at line 1854 of file kmmessage.cpp.

QString KMMessage::replyToAuxIdMD5  )  const [virtual]
 

Get the second to last id from the References header field.

If outgoing messages are not kept in the same folder as incoming ones, this will be a good place to thread the message beneath. bob <- second to last reference points to this |_kmailuser <- not in our folder, but Outbox |_bob <- In-Reply-To points to our mail above

Thread like this: bob |_bob

using replyToAuxIdMD5

Implements KMMsgBase.

Definition at line 2076 of file kmmessage.cpp.

QString KMMessage::replyToId  )  const
 

Get or set the 'In-Reply-To' header field.

Definition at line 2009 of file kmmessage.cpp.

QString KMMessage::sender  )  const
 

Returns:
The addr-spec of either the Sender: (if one is given) or the first addr-spec in From:

Definition at line 1969 of file kmmessage.cpp.

void KMMessage::setAutomaticFields bool  isMultipart = FALSE  ) 
 

Set fields that are either automatically set (Message-id) or that do not change from one message to another (MIME-Version).

Call this method before sending *after* all changes to the message are done because this method does things different if there are attachments / multiple body parts.

Definition at line 1717 of file kmmessage.cpp.

void KMMessage::setBody const QCString &  aStr  ) 
 

Set the message body.

Does not encode the body.

Definition at line 2677 of file kmmessage.cpp.

void KMMessage::setBodyAndGuessCte const QByteArray &  aBuf,
QValueList< int > &  allowedCte,
bool  allow8Bit = false,
bool  willBeSigned = false
 

Sets body, encoded in the best fitting content-transfer-encoding, which is determined by character frequency count.

Parameters:
aBuf input buffer
allowedCte return: list of allowed cte's
allow8Bit whether "8bit" is allowed as cte.
willBeSigned whether "7bit"/"8bit" is allowed as cte according to RFC 3156

void KMMessage::setBodyEncoded const QCString &  aStr  ) 
 

Set the message body, encoding it according to the current content transfer encoding.

The first method for null terminated strings, the second for binary data

Definition at line 2630 of file kmmessage.cpp.

void KMMessage::setBodyFromUnicode const QString &  str  ) 
 

Sets this body part's content to str.

str is subject to automatic charset and CTE detection.

Definition at line 4177 of file kmmessage.cpp.

void KMMessage::setCharset const QCString &  aStr  ) 
 

Set the message charset.

Definition at line 3900 of file kmmessage.cpp.

void KMMessage::setComplete bool  v  )  [inline]
 

Set if the message is a complete message.

Definition at line 806 of file kmmessage.h.

void KMMessage::setContentTypeParam const QCString &  attr,
const QCString &  val
 

add or change a parameter of the Content-Type field

Definition at line 2409 of file kmmessage.cpp.

void KMMessage::setCursorPos int  pos  )  [inline]
 

Set cursor position as offset from message start.

Definition at line 854 of file kmmessage.h.

void KMMessage::setDate const QCString &  str  )  [virtual]
 

Set date.

Reimplemented from KMMsgBase.

Definition at line 1819 of file kmmessage.cpp.

void KMMessage::setDateToday  ) 
 

Set the 'Date' header field to the current date.

Definition at line 1799 of file kmmessage.cpp.

void KMMessage::setDecodeHTML bool  aDecodeHTML  )  [inline]
 

Allow decoding of HTML for quoting.

Definition at line 726 of file kmmessage.h.

void KMMessage::setDwMediaTypeParam DwMediaType &  mType,
const QCString &  attr,
const QCString &  val
[static]
 

add or change a parameter of a DwMediaType field

Definition at line 2384 of file kmmessage.cpp.

void KMMessage::setEncryptionState const   KMMsgEncryptionState,
int  idx = -1
[virtual]
 

Set encryption status of the message.

Reimplemented from KMMsgBase.

Definition at line 3937 of file kmmessage.cpp.

void KMMessage::setHeaderField const QCString &  name,
const QString &  value,
HeaderFieldType  type = Unstructured,
bool  prepend = false
 

Set the header field with the given name to the given value.

If prepend is set to true, the header is inserted at the beginning and does not overwrite an existing header field with the same name.

Definition at line 2259 of file kmmessage.cpp.

void KMMessage::setMDNSentState KMMsgMDNSentState  status,
int  idx = -1
[virtual]
 

Set "MDN sent" status of the message.

Reimplemented from KMMsgBase.

Definition at line 3955 of file kmmessage.cpp.

void KMMessage::setMsgSerNum unsigned long  newMsgSerNum = 0  ) 
 

Sets the message serial number.

If defaulted to zero, the serial number will be assigned using the dictionary. Note that unless it is explicitely set the serial number will remain 0 as long as the mail is not in a folder.

Definition at line 226 of file kmmessage.cpp.

void KMMessage::setMultiPartBody const QCString &  aStr  ) 
 

Hack to enable structured body parts to be set as flat text.

..

Definition at line 2683 of file kmmessage.cpp.

void KMMessage::setNeedsAssembly  ) 
 

tell the message that internal data were changed (must be called after directly modifying message structures e.g.

when like changing header information by accessing the header via headers() function)

Definition at line 2463 of file kmmessage.cpp.

void KMMessage::setOverrideCodec const QTextCodec *  codec  )  [inline]
 

Set the charset the user selected for the message to display.

Definition at line 723 of file kmmessage.h.

void KMMessage::setReadyToShow bool  v  )  [inline]
 

Set if the message is ready to be shown.

Definition at line 811 of file kmmessage.h.

void KMMessage::setSignatureState const   KMMsgSignatureState,
int  idx = -1
[virtual]
 

Set signature status of the message.

Reimplemented from KMMsgBase.

Definition at line 3946 of file kmmessage.cpp.

void KMMessage::setStatus const KMMsgStatus  status,
int  idx = -1
[virtual]
 

Set status and mark dirty.

Reimplemented from KMMsgBase.

void KMMessage::setStatusFields  ) 
 

Set "Status" and "X-Status" fields of the message from the internal message status.

Definition at line 347 of file kmmessage.cpp.

void KMMessage::setSubject const QString &  aStr  )  [virtual]
 

Set subject/from/date and xmark.

Implements KMMsgBase.

Definition at line 1986 of file kmmessage.cpp.

void KMMessage::setTransferInProgress bool  value,
bool  force = false
 

Set that the message shall not be deleted because it is still required.

Definition at line 246 of file kmmessage.cpp.

void KMMessage::setUnencryptedMsg KMMessage unencrypted  ) 
 

Specifies an unencrypted copy of this message to be stored in a separate member variable to allow saving messages in unencrypted form that were sent in encrypted form.

NOTE: Target of this pointer becomes property of KMMessage, and will be deleted in the d'tor.

Definition at line 259 of file kmmessage.cpp.

KMMsgSignatureState KMMessage::signatureState  )  const [inline, virtual]
 

Signature status of the message.

Implements KMMsgBase.

Definition at line 784 of file kmmessage.h.

QString KMMessage::smartQuote const QString &  msg,
int  maxLineLength
[static]
 

Given argument msg add quoting characters and relayout for max width maxLength.

Parameters:
msg the string which it to be quoted
maxLineLength reformat text to be this amount of columns at maximum, adding linefeeds at word boundaries to make it fit.

Definition at line 640 of file kmmessage.cpp.

AddressList KMMessage::splitAddrField const QCString &  str  )  [static]
 

Splits the given address list into separate addresses.

Definition at line 2168 of file kmmessage.cpp.

KMMsgStatus KMMessage::status void   )  const [inline, virtual]
 

Status of the message.

Implements KMMsgBase.

Definition at line 767 of file kmmessage.h.

QStringList KMMessage::stripAddressFromAddressList const QString &  address,
const QStringList &  addresses
[static]
 

Strips an address from an address list.

This is for example used when replying to all.

Definition at line 3680 of file kmmessage.cpp.

QString KMMessage::stripEmailAddr const QString &  emailAddr  )  [static]
 

Does the same as the above function.

Shouldn't be used.

Definition at line 3448 of file kmmessage.cpp.

QCString KMMessage::stripEmailAddr const QCString &  emailAddr  )  [static]
 

This function generates a displayable string from a list of email addresses.

Input : mailbox-list Output: comma separated list of display name resp. comment resp. address

Definition at line 3289 of file kmmessage.cpp.

QStringList KMMessage::stripMyAddressesFromAddressList const QStringList &  list  )  [static]
 

Strips all the user's addresses from an address list.

This is used when replying.

Definition at line 3702 of file kmmessage.cpp.

QString KMMessage::strippedSubjectMD5  )  const [virtual]
 

Get a hash of the subject with all prefixes such as Re: removed.

Used for threading.

Implements KMMsgBase.

Definition at line 2089 of file kmmessage.cpp.

QString KMMessage::subject  )  const [virtual]
 

Get or set the 'Subject' header field.

Implements KMMsgBase.

Definition at line 1979 of file kmmessage.cpp.

bool KMMessage::subjectIsPrefixed  )  const [virtual]
 

Is the subject prefixed by Re: or similar?

Implements KMMsgBase.

Definition at line 2099 of file kmmessage.cpp.

QString KMMessage::subjectMD5  )  const
 

Get a hash of the subject.

Used for threading.

Definition at line 2094 of file kmmessage.cpp.

QCString KMMessage::subtypeStr  )  const
 

Subtype.

Definition at line 2348 of file kmmessage.cpp.

KMMessage* KMMessage::takeUnencryptedMsg  )  [inline]
 

Returns an unencrypted copy of this message or 0 if none exists.

Note:
This function removes the internal unencrypted message pointer from the message: the process calling takeUnencryptedMsg() must delete the returned pointer when no longer needed.

Definition at line 144 of file kmmessage.h.

QString KMMessage::templates  )  const [inline]
 

Get or set the 'Templates' folder.

Definition at line 333 of file kmmessage.h.

QString KMMessage::to  )  const
 

Get or set the 'To' header field.

Definition at line 1834 of file kmmessage.cpp.

KMMsgBase& KMMessage::toMsgBase  )  [inline]
 

Get KMMsgBase for this object.

Definition at line 114 of file kmmessage.h.

void KMMessage::touch  )  [inline]
 

Touch the message - mark it as read.

Definition at line 158 of file kmmessage.h.

bool KMMessage::transferInProgress  )  const
 

Return, if the message should not be deleted.

Definition at line 239 of file kmmessage.cpp.

QCString KMMessage::typeStr  )  const
 

Get or set the 'Content-Type' header field The member functions that involve enumerated types (ints) will work only for well-known types or subtypes.

Definition at line 2311 of file kmmessage.cpp.

ulong KMMessage::UID  )  const [virtual]
 

Get/set UID.

Implements KMMsgBase.

Definition at line 2155 of file kmmessage.cpp.

void KMMessage::undel  )  [inline]
 

Undelete the message.

Same as touch

Definition at line 155 of file kmmessage.h.

KMMessage* KMMessage::unencryptedMsg  )  const [inline]
 

Returns an unencrypted copy of this message or 0 if none exists.

Definition at line 137 of file kmmessage.h.

void KMMessage::updateBodyPart const QString  partSpecifier,
const QByteArray &  data
 

Sets the body of the specified part.

QString KMMessage::who  )  const
 

Get or set the 'Who' header field.

The actual field that is returned depends on the contents of the owning folders whoField(). Usually this is 'From', but it can also contain 'To'.

Definition at line 1936 of file kmmessage.cpp.

QString KMMessage::xmark  )  const [virtual]
 

Get or set the 'X-Mark' header field.

Implements KMMsgBase.

Definition at line 1994 of file kmmessage.cpp.


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