kmail

KMMessage Class Reference

This is a Mime Message. More...

#include <kmmessage.h>

Inherits KMMsgBase, and KMail::ISubject.

List of all members.

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 ()
KMMsgBase & toMsgBase ()
const KMMsgBase & toMsgBase () 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, TQString selection=TQString(), bool noQuote=false, bool allowDecryption=true, const TQString &tmpl=TQString(), const TQString &originatingAccount=TQString())
KMMessagecreateRedirect (const TQString &toStr)
TQCString createForwardBody ()
KMMessagecreateForward (const TQString &tmpl=TQString())
KMMessagecreateDeliveryReceipt () const
KMMessagecreateMDN (KMime::MDN::ActionMode a, KMime::MDN::DispositionType d, bool allowGUI=false, TQValueList< KMime::MDN::DispositionModifier > m=TQValueList< KMime::MDN::DispositionModifier >())
void sanitizeHeaders (const TQStringList &whiteList=TQStringList())
void fromDwString (const DwString &str, bool setStatus=false)
void fromString (const TQCString &str, bool setStatus=false)
void fromByteArray (const TQByteArray &ba, bool setStatus=false)
const DwString & asDwString () const
const DwMessage * asDwMessage ()
TQCString asString () const
TQByteArray asSendableString () const
TQCString headerAsSendableString () const
void removePrivateHeaderFields ()
DwMediaType & dwContentType ()
TQString headerAsString () const
void parseTextStringFromDwPart (partNode *root, TQCString &parsedString, const TQTextCodec *&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)
TQString dateStr () const
TQCString dateShortStr () const
TQString dateIsoStr () const
time_t date () const
void setDate (const TQCString &str)
void setDate (time_t aUnixTime)
void setDateToday ()
TQString to () const
void setTo (const TQString &aStr)
TQString toStrip () const
TQString replyTo () const
void setReplyTo (const TQString &aStr)
void setReplyTo (KMMessage *)
TQString cc () const
void setCc (const TQString &aStr)
TQString ccStrip () const
TQString bcc () const
void setBcc (const TQString &aStr)
TQString fcc () const
void setFcc (const TQString &aStr)
TQString drafts () const
void setDrafts (const TQString &aStr)
TQString templates () const
void setTemplates (const TQString &aStr)
TQString from () const
void setFrom (const TQString &aStr)
TQString fromStrip () const
TQString sender () const
TQString who () const
TQString subject () const
void setSubject (const TQString &aStr)
void initStrippedSubjectMD5 ()
TQString xmark () const
void setXMark (const TQString &aStr)
TQString replyToId () const
void setReplyToId (const TQString &aStr)
TQString replyToIdMD5 () const
TQString replyToAuxIdMD5 () const
TQString strippedSubjectMD5 () const
TQString subjectMD5 () const
bool subjectIsPrefixed () const
TQString msgId () const
void setMsgId (const TQString &aStr)
TQString msgIdMD5 () const
TQString references () const
void setReferences (const TQCString &aStr)
TQCString id () const
void setMsgSerNum (unsigned long newMsgSerNum=0)
TQString headerField (const TQCString &name) const
void setHeaderField (const TQCString &name, const TQString &value, HeaderFieldType type=Unstructured, bool prepend=false)
TQStringList headerFields (const TQCString &name) const
TQCString rawHeaderField (const TQCString &name) const
TQValueList< TQCString > rawHeaderFields (const TQCString &field) const
KMime::Types::AddressList headerAddrField (const TQCString &name) const
KMime::Types::AddrSpecList extractAddrSpecs (const TQCString &headerNames) const
void removeHeaderField (const TQCString &name)
void removeHeaderFields (const TQCString &name)
TQCString typeStr () const
int type () const
void setTypeStr (const TQCString &aStr)
void setType (int aType)
TQCString subtypeStr () const
int subtype () const
void setSubtypeStr (const TQCString &aStr)
void setSubtype (int aSubtype)
void setContentTypeParam (const TQCString &attr, const TQCString &val)
DwHeaders & headers () const
void setNeedsAssembly ()
void assembleIfNeeded ()
TQCString contentTransferEncodingStr () const
int contentTransferEncoding (DwEntity *entity=0) const
void setContentTransferEncodingStr (const TQCString &cteString, DwEntity *entity=0)
void setContentTransferEncoding (int cte, DwEntity *entity=0)
TQCString cteStr () const
int cte (DwEntity *entity=0) const
void setCteStr (const TQCString &aStr, DwEntity *entity=0)
void setCte (int aCte, DwEntity *entity=0)
void setBodyFromUnicode (const TQString &str, DwEntity *entity=0)
TQString bodyToUnicode (const TQTextCodec *codec=0) const
TQCString body () const
void setBody (const TQCString &aStr)
void setBody (const DwString &aStr)
void setBody (const char *aStr)
void setMultiPartBody (const TQCString &aStr)
void setBodyEncoded (const TQCString &aStr, DwEntity *entity=0)
void setBodyEncodedBinary (const TQByteArray &aStr, DwEntity *entity=0)
void setBodyAndGuessCte (const TQByteArray &aBuf, TQValueList< int > &allowedCte, bool allow8Bit=false, bool willBeSigned=false, DwEntity *entity=0)
void setBodyAndGuessCte (const TQCString &aBuf, TQValueList< int > &allowedCte, bool allow8Bit=false, bool willBeSigned=false, DwEntity *entity=0)
TQCString bodyDecoded () const
TQByteArray bodyDecodedBinary () const
int numBodyParts () const
DwBodyPart * findDwBodyPart (int type, int subtype) const
DwBodyPart * findDwBodyPart (const TQCString &type, const TQCString &subtype) const
DwBodyPart * findDwBodyPart (DwBodyPart *part, const TQString &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 ()
bool deleteBodyPart (int partIndex)
void setStatusFields ()
TQString replaceHeadersInString (const TQString &s) const
TQCString charset () const
void setCharset (const TQCString &charset, DwEntity *entity=0)
const TQTextCodec * codec () const
void setOverrideCodec (const TQTextCodec *codec)
void setDecodeHTML (bool aDecodeHTML)
TQCString getRefStr () const
off_t folderOffset () const
void setFolderOffset (off_t offs)
TQString fileName () const
void setFileName (const TQString &file)
TQString originatingAccountName () const
void setOriginatingAccountName (const TQString &account)
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 *reStatus) const
TQString formatString (const TQString &) const
void updateBodyPart (const TQString partSpecifier, const TQByteArray &data)
DwBodyPart * lastUpdatedPart ()
bool isComplete () const
void setComplete (bool v)
bool readyToShow () const
void setReadyToShow (bool v)
void updateAttachmentState (DwBodyPart *part=0)
void updateInvitationState ()
bool transferInProgress () const
void setTransferInProgress (bool value, bool force=false)
TQCString mboxMessageSeparator ()
TQString asQuotedString (const TQString &headerStr, const TQString &indentStr, const TQString &selection=TQString(), bool aStripSignature=true, bool allowDecryption=true) const
TQString asPlainText (bool stripSignature, bool allowDecryption) const
TQString asPlainTextFromObjectTree (partNode *root, bool stripSignature, bool allowDecryption) const
int getCursorPos ()
void setCursorPos (int pos)
KMMsgInfo * msgInfo ()
void setMsgInfo (KMMsgInfo *msgInfo)
bool isBeingParsed () const
void setIsBeingParsed (bool t)
void deleteWhenUnused ()
DwBodyPart * findPart (int index)

Static Public Member Functions

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

Friends

class ::KMForwardDigestCommand

Detailed Description

This is a Mime Message.

Definition at line 68 of file kmmessage.h.


Constructor & Destructor Documentation

KMMessage::KMMessage ( KMFolder parent = 0  ) 

Straight forward initialization.

Definition at line 100 of file kmmessage.cpp.

KMMessage::KMMessage ( DwMessage *  aMsg  ) 

Constructor from a DwMessage.

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

Definition at line 91 of file kmmessage.cpp.

KMMessage::KMMessage ( KMMsgInfo &  msgInfo  ) 

Copy constructor.

Does *not* automatically load the message.

Definition at line 107 of file kmmessage.cpp.

KMMessage::KMMessage ( const KMMessage other  ) 

Copy constructor.

Definition at line 124 of file kmmessage.cpp.

KMMessage::~KMMessage (  )  [virtual]

Destructor.

Definition at line 193 of file kmmessage.cpp.


Member Function Documentation

void KMMessage::addBodyPart ( const KMMessagePart *  aPart  ) 

Append a body part to the message.

Definition at line 3359 of file kmmessage.cpp.

void KMMessage::addDwBodyPart ( DwBodyPart *  aDwPart  ) 

Append a DwBodyPart to the message.

Definition at line 3351 of file kmmessage.cpp.

bool KMMessage::addressIsInAddressList ( const TQString &  address,
const TQStringList &  addresses 
) [static]

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

Definition at line 3940 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 1665 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 295 of file kmmessage.cpp.

TQString 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 825 of file kmmessage.cpp.

TQString KMMessage::asPlainTextFromObjectTree ( partNode *  root,
bool  stripSignature,
bool  allowDecryption 
) const

Same as asPlainText(), only that this method expects an already parsed object tree as paramter.

By passing an already parsed objecttree, this allows to share the objecttree and therefore reduce the amount of parsing (which can include decrypting, which can include a passphrase dialog)

Definition at line 743 of file kmmessage.cpp.

TQString KMMessage::asQuotedString ( const TQString &  headerStr,
const TQString &  indentStr,
const TQString &  selection = TQString(),
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 838 of file kmmessage.cpp.

void KMMessage::assembleIfNeeded (  ) 

Assemble the internal message.

This is done automatically in most cases, but sometimes still necessary to call this manually.

Definition at line 2562 of file kmmessage.cpp.

TQByteArray KMMessage::asSendableString (  )  const

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

Definition at line 322 of file kmmessage.cpp.

TQCString 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 317 of file kmmessage.cpp.

TQString KMMessage::bcc (  )  const

Get or set the 'Bcc' header field.

Definition at line 1971 of file kmmessage.cpp.

TQCString KMMessage::body (  )  const

Get the message body.

Does not decode the body.

Definition at line 2573 of file kmmessage.cpp.

TQCString 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 2611 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 3162 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 3111 of file kmmessage.cpp.

TQString KMMessage::bodyToUnicode ( const TQTextCodec *  codec = 0  )  const

Returns the body part decoded to unicode.

Definition at line 4474 of file kmmessage.cpp.

TQString KMMessage::cc (  )  const

Get or set the 'Cc' header field.

Definition at line 1943 of file kmmessage.cpp.

TQCString KMMessage::charset (  )  const

Get the message charset.

Definition at line 4101 of file kmmessage.cpp.

void KMMessage::cleanupHeader (  ) 

Removes empty fields from the header, e.g.

an empty Cc: or Bcc: field.

Definition at line 1757 of file kmmessage.cpp.

const TQTextCodec * KMMessage::codec (  )  const

Get a TQTextCodec suitable for this message part.

Definition at line 4456 of file kmmessage.cpp.

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

Some functions take a DwEntity as second parameter, which specifies the body part or message of which the CTE will be changed or returned. If this is zero, the toplevel message will be taken.

Definition at line 2502 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 1638 of file kmmessage.cpp.

DwBodyPart * KMMessage::createDWBodyPart ( const KMMessagePart *  aPart  ) 

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

Definition at line 3221 of file kmmessage.cpp.

KMMessage * KMMessage::createForward ( const TQString &  tmpl = TQString()  ) 

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 1232 of file kmmessage.cpp.

TQCString KMMessage::createForwardBody (  ) 

Create the forwarded body for the message.

Definition at line 1185 of file kmmessage.cpp.

KMMessage* KMMessage::createMDN ( KMime::MDN::ActionMode  a,
KMime::MDN::DispositionType  d,
bool  allowGUI = false,
TQValueList< KMime::MDN::DispositionModifier >  m = TQValueList< 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 TQString &  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 1134 of file kmmessage.cpp.

KMMessage * KMMessage::createReply ( KMail::ReplyStrategy  replyStrategy = KMail::ReplySmart,
TQString  selection = TQString(),
bool  noQuote = false,
bool  allowDecryption = true,
const TQString &  tmpl = TQString(),
const TQString &  originatingAccount = TQString() 
)

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 866 of file kmmessage.cpp.

TQCString KMMessage::cteStr (  )  const [inline]

Cte is short for ContentTransferEncoding.

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

Definition at line 531 of file kmmessage.h.

TQCString KMMessage::dateShortStr (  )  const

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

Definition at line 1818 of file kmmessage.cpp.

TQString KMMessage::dateStr ( void   )  const

Get or set the 'Date' header field.

Definition at line 1800 of file kmmessage.cpp.

TQString KMMessage::decodeMailtoUrl ( const TQString &  url  )  [static]

Decodes a mailto URL.

Definition at line 3476 of file kmmessage.cpp.

TQCString KMMessage::defaultCharset (  )  [static]

Get the default message charset.

Definition at line 4078 of file kmmessage.cpp.

void KMMessage::del (  )  [inline]

Mark the message as deleted.

Definition at line 153 of file kmmessage.h.

bool KMMessage::deleteBodyPart ( int  partIndex  ) 

Delete a body part with the specified part index.

A dummy body part with the text "the attachment foo was deleted" will replace the old part.

Definition at line 3184 of file kmmessage.cpp.

void KMMessage::deleteBodyParts (  ) 

Delete all body parts.

Definition at line 3177 of file kmmessage.cpp.

void KMMessage::deleteWhenUnused (  ) 

Delete this message as soon as it no longer in use.

Definition at line 4500 of file kmmessage.cpp.

static TQValueList<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.

TQString KMMessage::drafts (  )  const [inline]

Get or set the 'Drafts' folder.

Definition at line 334 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 2898 of file kmmessage.cpp.

DwMediaType & KMMessage::dwContentType (  ) 

Return reference to Content-Type header for direct manipulation.

Definition at line 392 of file kmmessage.cpp.

TQString KMMessage::emailAddrAsAnchor ( const TQString &  emailAddr,
bool  stripped = true,
const TQString &  cssStyle = TQString(),
bool  link = 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 3843 of file kmmessage.cpp.

TQString KMMessage::encodeMailtoUrl ( const TQString &  str  )  [static]

Encodes an email address as mailto URL.

Definition at line 3465 of file kmmessage.cpp.

KMMsgEncryptionState KMMessage::encryptionState (  )  const [inline]

Encryption status of the message.

Definition at line 845 of file kmmessage.h.

TQString KMMessage::expandAliases ( const TQString &  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 3956 of file kmmessage.cpp.

TQString KMMessage::fcc (  )  const

Get or set the 'Fcc' header field.

Definition at line 1984 of file kmmessage.cpp.

TQString KMMessage::fileName ( void   )  const [inline]

Get/set filename in mail folder.

Definition at line 803 of file kmmessage.h.

DwBodyPart * KMMessage::findDwBodyPart ( DwBodyPart *  part,
const TQString &  partSpecifier 
)

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

Definition at line 4241 of file kmmessage.cpp.

DwBodyPart * KMMessage::findDwBodyPart ( const TQCString &  type,
const TQCString &  subtype 
) const

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

Definition at line 2987 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 2938 of file kmmessage.cpp.

off_t KMMessage::folderOffset ( void   )  const [inline]

Get/set offset in mail folder.

Definition at line 799 of file kmmessage.h.

TQString KMMessage::formatString ( const TQString &  aStr  )  const

Convert wildcards into normal string.

Definition at line 429 of file kmmessage.cpp.

TQString KMMessage::from (  )  const

Get or set the 'From' header field.

Definition at line 2018 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 405 of file kmmessage.cpp.

TQString KMMessage::generateMessageId ( const TQString &  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 3367 of file kmmessage.cpp.

int KMMessage::getCursorPos (  )  [inline]

Get stored cursor position.

Definition at line 926 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 2851 of file kmmessage.cpp.

void KMMessage::getLink ( int  n,
ulong *  retMsgSerNum,
KMMsgStatus *  reStatus 
) const

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

Definition at line 4219 of file kmmessage.cpp.

TQCString KMMessage::getRefStr (  )  const

Creates reference string for reply to messages.

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

Definition at line 1106 of file kmmessage.cpp.

TQString KMMessage::guessEmailAddressFromLoginName ( const TQString &  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 4006 of file kmmessage.cpp.

bool KMMessage::hasUnencryptedMsg (  )  const [inline]

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

Definition at line 135 of file kmmessage.h.

AddressList KMMessage::headerAddrField ( const TQCString &  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 2254 of file kmmessage.cpp.

TQCString KMMessage::headerAsSendableString (  )  const

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

Definition at line 330 of file kmmessage.cpp.

TQString KMMessage::headerAsString (  )  const

Return header as string.

Definition at line 381 of file kmmessage.cpp.

TQString KMMessage::headerField ( const TQCString &  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 2292 of file kmmessage.cpp.

TQStringList KMMessage::headerFields ( const TQCString &  name  )  const

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

Definition at line 2305 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 2549 of file kmmessage.cpp.

TQCString KMMessage::html2source ( const TQCString &  src  )  [static]

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

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

Definition at line 3392 of file kmmessage.cpp.

TQCString 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 1730 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 1745 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 1718 of file kmmessage.cpp.

void KMMessage::initStrippedSubjectMD5 (  )  [inline]

Calculate strippedSubject.

Definition at line 360 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 868 of file kmmessage.h.

bool KMMessage::isMessage ( void   )  const

Returns TRUE if object is a real message (not KMMsgInfo or 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 262 of file kmmessage.cpp.

KPIM::EmailParseResult KMMessage::isValidEmailAddressList ( const TQString &  aStr,
TQString &  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 276 of file kmmessage.cpp.

DwBodyPart* KMMessage::lastUpdatedPart (  )  [inline]

Returns the last DwBodyPart that was updated.

Definition at line 865 of file kmmessage.h.

void KMMessage::link ( const KMMessage aMsg,
KMMsgStatus  aStatus 
)

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

Definition at line 4193 of file kmmessage.cpp.

TQCString 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 4484 of file kmmessage.cpp.

TQString KMMessage::msgId (  )  const

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

Definition at line 2185 of file kmmessage.cpp.

KMMsgInfo* KMMessage::msgInfo (  )  [inline]

Get the KMMsgInfo object that was set with setMsgInfo().

Definition at line 931 of file kmmessage.h.

size_t KMMessage::msgLength (  )  const [inline]

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

Definition at line 818 of file kmmessage.h.

size_t KMMessage::msgSize ( void   )  const [inline]

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

Definition at line 813 of file kmmessage.h.

size_t KMMessage::msgSizeServer ( void   )  const

Get/set size on server.

Definition at line 2215 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 2809 of file kmmessage.cpp.

TQString KMMessage::originatingAccountName (  )  const [inline]

Get/set originating account name.

Definition at line 807 of file kmmessage.h.

void KMMessage::parseTextStringFromDwPart ( partNode *  root,
TQCString &  parsedString,
const TQTextCodec *&  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 717 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 2858 of file kmmessage.cpp.

const TQStringList & KMMessage::preferredCharsets (  )  [static]

Get a list of preferred message charsets.

Definition at line 4095 of file kmmessage.cpp.

TQString KMMessage::quoteHtmlChars ( const TQString &  str,
bool  removeLineBreaks = false 
) [static]

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

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

Definition at line 3807 of file kmmessage.cpp.

TQCString KMMessage::rawHeaderField ( const TQCString &  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 2267 of file kmmessage.cpp.

TQValueList< TQCString > KMMessage::rawHeaderFields ( const TQCString &  field  )  const

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

Definition at line 2278 of file kmmessage.cpp.

void KMMessage::readConfig ( void   )  [static]

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

indent-prefix, etc.)

Definition at line 4036 of file kmmessage.cpp.

bool KMMessage::readyToShow (  )  const [inline]

Return if the message is ready to be shown.

Definition at line 873 of file kmmessage.h.

TQString KMMessage::references (  )  const

Get or set the references for this message.

Definition at line 2128 of file kmmessage.cpp.

void KMMessage::removeHeaderField ( const TQCString &  name  ) 

Remove header field with given name.

Definition at line 2320 of file kmmessage.cpp.

void KMMessage::removeHeaderFields ( const TQCString &  name  ) 

Remove all header fields with given name.

Definition at line 2331 of file kmmessage.cpp.

void KMMessage::removePrivateHeaderFields (  ) 

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

Definition at line 338 of file kmmessage.cpp.

TQString KMMessage::replaceHeadersInString ( const TQString &  s  )  const

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

Definition at line 1613 of file kmmessage.cpp.

TQString KMMessage::replyTo (  )  const

Get or set the 'ReplyTo' header field.

Definition at line 1922 of file kmmessage.cpp.

TQString KMMessage::replyToAuxIdMD5 (  )  const

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

Definition at line 2149 of file kmmessage.cpp.

TQString KMMessage::replyToId (  )  const

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

Definition at line 2082 of file kmmessage.cpp.

void KMMessage::sanitizeHeaders ( const TQStringList &  whiteList = TQStringList()  ) 

Remove all headers but the content description ones, and those in the white list.

Definition at line 1213 of file kmmessage.cpp.

TQString 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 2042 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 1780 of file kmmessage.cpp.

void KMMessage::setBody ( const TQCString &  aStr  ) 

Set the message body.

Does not encode the body.

Definition at line 2777 of file kmmessage.cpp.

void KMMessage::setBodyAndGuessCte ( const TQByteArray &  aBuf,
TQValueList< int > &  allowedCte,
bool  allow8Bit = false,
bool  willBeSigned = false,
DwEntity *  entity = 0 
)

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
entity The body of this message or body part will get changed. If this is 0, the body of the toplevel message will be set.

Definition at line 2688 of file kmmessage.cpp.

void KMMessage::setBodyEncoded ( const TQCString &  aStr,
DwEntity *  entity = 0 
)

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.

Parameters:
entity Specifies the body part or message of which the body will be set. If this is 0, the body of the toplevel message will be set.

Definition at line 2722 of file kmmessage.cpp.

void KMMessage::setBodyFromUnicode ( const TQString &  str,
DwEntity *  entity = 0 
)

Sets this body's content to str.

str is subject to automatic charset and CTE detection.

Parameters:
entity The body of this entity will be changed. If entity is 0, the body of the whole message will be changed.

Definition at line 4443 of file kmmessage.cpp.

void KMMessage::setCharset ( const TQCString &  charset,
DwEntity *  entity = 0 
)

Sets the charset of the message or a subpart of the message.

Only call this when the message or the subpart has a textual mimetype.

Parameters:
aStr the MIME-compliant charset name, like 'ISO-88519-15'.
entity the body part or message of which the charset should be changed. If this is 0, the charset of the toplevel message will be changed.

Definition at line 4117 of file kmmessage.cpp.

void KMMessage::setComplete ( bool  v  )  [inline]

Set if the message is a complete message.

Definition at line 870 of file kmmessage.h.

void KMMessage::setContentTypeParam ( const TQCString &  attr,
const TQCString &  val 
)

add or change a parameter of the Content-Type field

Definition at line 2492 of file kmmessage.cpp.

void KMMessage::setCursorPos ( int  pos  )  [inline]

Set cursor position as offset from message start.

Definition at line 928 of file kmmessage.h.

void KMMessage::setDateToday (  ) 

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

Definition at line 1862 of file kmmessage.cpp.

void KMMessage::setDecodeHTML ( bool  aDecodeHTML  )  [inline]

Allow decoding of HTML for quoting.

Definition at line 786 of file kmmessage.h.

void KMMessage::setDwMediaTypeParam ( DwMediaType &  mType,
const TQCString &  attr,
const TQCString &  val 
) [static]

add or change a parameter of a DwMediaType field

Definition at line 2467 of file kmmessage.cpp.

void KMMessage::setEncryptionState ( const KMMsgEncryptionState  s,
int  idx = -1 
)

Set encryption status of the message.

Definition at line 4163 of file kmmessage.cpp.

void KMMessage::setHeaderField ( const TQCString &  name,
const TQString &  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 2342 of file kmmessage.cpp.

void KMMessage::setMsgInfo ( KMMsgInfo *  msgInfo  )  [inline]

Set the KMMsgInfo object corresponding to this message.

Definition at line 933 of file kmmessage.h.

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 TQCString &  aStr  ) 

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

..

Definition at line 2794 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 2556 of file kmmessage.cpp.

void KMMessage::setOverrideCodec ( const TQTextCodec *  codec  )  [inline]

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

Definition at line 783 of file kmmessage.h.

void KMMessage::setReadyToShow ( bool  v  )  [inline]

Set if the message is ready to be shown.

Definition at line 875 of file kmmessage.h.

void KMMessage::setSignatureState ( const  KMMsgSignatureState,
int  idx = -1 
)

Set signature status of the message.

Definition at line 4172 of file kmmessage.cpp.

void KMMessage::setStatus ( const KMMsgStatus  status,
int  idx = -1 
)

Set status and mark dirty.

Definition at line 4156 of file kmmessage.cpp.

void KMMessage::setStatusFields (  ) 

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

Definition at line 354 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: Ownership of unencrypted transfers to this KMMessage, and it will be deleted in the d'tor.

Definition at line 268 of file kmmessage.cpp.

KMMsgSignatureState KMMessage::signatureState (  )  const [inline]

Signature status of the message.

Definition at line 848 of file kmmessage.h.

TQString KMMessage::smartQuote ( const TQString &  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 649 of file kmmessage.cpp.

AddressList KMMessage::splitAddrField ( const TQCString &  str  )  [static]

Splits the given address list into separate addresses.

Definition at line 2241 of file kmmessage.cpp.

KMMsgStatus KMMessage::status ( void   )  const [inline]

Status of the message.

Definition at line 831 of file kmmessage.h.

TQStringList KMMessage::stripAddressFromAddressList ( const TQString &  address,
const TQStringList &  addresses 
) [static]

Strips an address from an address list.

This is for example used when replying to all.

Definition at line 3897 of file kmmessage.cpp.

TQString KMMessage::stripEmailAddr ( const TQString &  emailAddr  )  [static]

Does the same as the above function.

Shouldn't be used.

Definition at line 3645 of file kmmessage.cpp.

TQCString KMMessage::stripEmailAddr ( const TQCString &  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 3486 of file kmmessage.cpp.

TQStringList KMMessage::stripMyAddressesFromAddressList ( const TQStringList &  list  )  [static]

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

This is used when replying.

Definition at line 3919 of file kmmessage.cpp.

TQString KMMessage::strippedSubjectMD5 (  )  const

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

Used for threading.

Definition at line 2162 of file kmmessage.cpp.

TQString KMMessage::subject ( void   )  const

Get or set the 'Subject' header field.

Definition at line 2052 of file kmmessage.cpp.

bool KMMessage::subjectIsPrefixed (  )  const

Is the subject prefixed by Re: or similar?

Definition at line 2172 of file kmmessage.cpp.

TQString KMMessage::subjectMD5 (  )  const

Get a hash of the subject.

Used for threading.

Definition at line 2167 of file kmmessage.cpp.

TQCString KMMessage::subtypeStr (  )  const

Subtype.

Definition at line 2431 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 145 of file kmmessage.h.

TQString KMMessage::templates (  )  const [inline]

Get or set the 'Templates' folder.

Definition at line 338 of file kmmessage.h.

TQString KMMessage::to (  )  const

Get or set the 'To' header field.

Definition at line 1897 of file kmmessage.cpp.

KMMsgBase& KMMessage::toMsgBase (  )  [inline]

Get KMMsgBase for this object.

Definition at line 115 of file kmmessage.h.

void KMMessage::touch (  )  [inline]

Touch the message - mark it as read.

Definition at line 159 of file kmmessage.h.

bool KMMessage::transferInProgress (  )  const

Return, if the message should not be deleted.

Definition at line 239 of file kmmessage.cpp.

TQCString 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 2394 of file kmmessage.cpp.

ulong KMMessage::UID ( void   )  const

Get/set UID.

Definition at line 2228 of file kmmessage.cpp.

void KMMessage::undel (  )  [inline]

Undelete the message.

Same as touch

Definition at line 156 of file kmmessage.h.

KMMessage* KMMessage::unencryptedMsg (  )  const [inline]

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

Definition at line 138 of file kmmessage.h.

void KMMessage::updateBodyPart ( const TQString  partSpecifier,
const TQByteArray &  data 
)

Sets the body of the specified part.

Definition at line 4273 of file kmmessage.cpp.

TQString 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 2009 of file kmmessage.cpp.

TQString KMMessage::xmark ( void   )  const

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

Definition at line 2067 of file kmmessage.cpp.


The documentation for this class was generated from the following files: