Here as promised my refactoring of Kopete::Message

Just cleaning up the constructor and added some accessor really helped to 
clarify the usage of Kopete::Message :)

instead of:
Kopete::Message msg( from, to, body, Kopete::Message::Internal, QString(), 
Kopete::Message::TypeAction);

now a Kopete::Message is build like:
Kopete::Message msg( from, to );
msg.setPlainBody( body );
msg.setDirection( Kopete::Message::Internal );
msg.setType( Kopete::Message::TypeAction );

I left the fromContact and toContact in the constructor, it make some sense to 
me to construct a message with its originator and its recipient.

Also renamed fg(), bg() and related to foregroundColor(), backgroundColor()

Comments before I commit ?
-- 
Michaël Larouche
KDE developer working on Kopete, Gamefu(KDE), Solid...on dial-up :P
--------------------------------------
Website: http://www.tehbisnatch.org/
MSN: [EMAIL PROTECTED]
IRC: irc.freenode.org/DarkShock
Jabber/email: [EMAIL PROTECTED]

Attachment: kopete_messagerefactoring_full.patch.gz
Description: GNU Zip compressed data

Index: kopetemessage.h
===================================================================
--- kopetemessage.h	(révision 656934)
+++ kopetemessage.h	(copie de travail)
@@ -3,7 +3,8 @@
 
     Copyright (c) 2002-2003 by Martijn Klingens      <[EMAIL PROTECTED]>
     Copyright (c) 2002-2004 by Olivier Goffart       <[EMAIL PROTECTED]>
-	Copyright (c) 2006-2007 by Charles Connell       <[EMAIL PROTECTED]>
+    Copyright (c) 2006-2007 by Charles Connell       <[EMAIL PROTECTED]>
+    Copyright (c) 2007      by Michaël Larouche      <[EMAIL PROTECTED]>
 
     Kopete    (c) 2002-2007 by the Kopete developers <[email protected]>
 
@@ -20,23 +21,19 @@
 #ifndef __KOPETE_MESSAGE_H__
 #define __KOPETE_MESSAGE_H__
 
-#include "kopetecontact.h"
+#include <QtCore/QSharedData>
+#include <QtCore/QList>
+#include <QtCore/Qt>
 
-#include <qstring.h>
-#include <qdom.h>
-#include <qcolor.h>
-#include <qfont.h>
-#include <qdatetime.h>
-#include <QByteArray>
-#include <QSharedDataPointer>
-#include <QList>
-#include <QByteArray>
-
 #include "kopete_export.h"
 
-
+class QByteArray;
+class QColor;
 class QDateTime;
+class QFont;
+class QTextCodec;
 class QTextDocument;
+class QStringList;
 
 namespace Kopete {
 
@@ -46,51 +43,76 @@
 
 
 /**
+ * @brief Representation of a message in Kopete
+ *
  * @author Martijn Klingens <[EMAIL PROTECTED]>
  * @author Olivier Goffart <[EMAIL PROTECTED]>
  * @author Charles Connell <[EMAIL PROTECTED]>
+ * @author Michaël Larouche <[EMAIL PROTECTED]>
  *
  * Message represents any kind of messages shown on a chat view.
+ * The message may contain a simple plain text string, or a rich text HTML
+ * message. Also, Message can use a QTextDocument to structure the message.
  *
- * The message may be a simple plaintext string, or a Richtext HTML like message,
- * this is indicated by the @ref format() flag.
- * PlainText message can however have a color, or specific fonts with the flag
- * @ref bg(), @ref fg(), @ref font()
- * It is recommended to use these flags, even for RichText messages, so the user can disable
- * custom colors in the chat window style.
+ * Message in plain text can however have a color or a specific font. You can
+ * set color with setForegroundColor() and setBackgroundColor() and change the font
+ * with setFont()
+ *
+ * Message have a direction from where the message come from. By default, the direction
+ * is Internal but it is strongly advised to set the direction explicitly.
+ * 
+ * @section plainMessage Creating a plain text message
+ * @code
+Kopete::Message newMessage(sourceContact, destionationContact);
+newMessage.setPlainBody( QString("A plain text message") );
+newMessage.setDirection( Kopete::Message::Inbound );
+ * @endcode
+ *
+ * @section richTextMessage Creating a complete rich text message
+ * @code
+Kopete::Message richTextMessage(sourceContact, destinationContactList);
+richTextMessage.setTimestamp( QDateTime::currentDateTime() );
+richTextMessage.setDirection( Kopete::Message::Outbound );
+richTextMessage.setSubjet( QString("Kopete API documentation thread") );
+richTextMessage.setHtmlBody( QString("<b>A bold text</b>") );
+ * @endcode
  */
 class KOPETE_EXPORT Message
 {
 public:
 	/**
 	 * Direction of a message.
-	 * - Inbound: Message is from the chat partner
-	 * - Outbound: Message sent by the user.
-	 * - Internal: Messages which are not sent via the network. This is just a notification a plugin can show in a chat view
-	 * - Action: For the /me command , like on irc
 	 */
-	enum MessageDirection { Inbound = 0, Outbound = 1, Internal= 2 };
+	enum MessageDirection
+	{
+		Inbound = 0, ///< Message is from the chat partner
+		Outbound = 1, ///< Message sent by the user
+		Internal= 2 ///< (Default) Message which are not sent via the network. This is just a notification a plugin can show in a chat view
+	};
 
 	/**
 	 * Specifies the type of the message.
-	 * Currently supported types are:
-	 * - Normal: a message
-	 * - Action: an IRC-style DESCRIBE action.
 	 */
-	enum MessageType { TypeNormal, TypeAction };
+	enum MessageType
+	{
+		TypeNormal, ///< A typical message
+		TypeAction ///< An IRC-style action.
+	};
 
 	/**
 	 * Specifies the type of notification that will be sent with this message
-	 * - Low: almost no notifications. automatically used in groupChat
-	 * - Normal: Default notification, for normal message
-	 * - Highlight: Highlight notification, for most important messages, which require particular attentions.
 	 */
-	enum MessageImportance { Low = 0, Normal = 1, Highlight = 2 };
+	enum MessageImportance
+	{
+		Low = 0, ///< almost no notifications. automatically used in groupChat
+		Normal = 1, ///< Default notification, for normal message
+		Highlight = 2 ///< Highlight notification, for most important messages, which require particular attentions.
+	};
 
 	/**
 	 * Constructs a new empty message
 	 */
-	Message();
+	explicit Message();
 
 	/**
 	 * Deref and clean private object if refcount == 0
@@ -98,81 +120,22 @@
 	~Message();
 
 	/**
-	 * Constructs a new message. See @ref setBody() to more information about the format
-	 * @param fromKC The Contact that the message is coming from
-	 * @param toKC List of Contacts the message is going to
-	 * @param body Message body
-	 * @param direction The direction of the message, Message::Inbound, Message::Outbound, Message::Internal
-	 * @param format Format of the message
-	 * @param requestedPlugin Requested view plugin for the message
-	 * @param type Type of the message, see @ref MessageType
+	 * @brief Constructs a new message with a from and to contact
+	 *
+	 * This constructor is a convience of the constructor who
+	 * take a list of contacts for destination
+	 * @param fromKC Contact who send the message
+	 * @param toKC Contact which the message is destined.
 	 */
-	Message( const Contact *fromKC, const QList<Contact*> &toKC, const QString &body,
-		 MessageDirection direction, Qt::TextFormat format = Qt::PlainText,
-		 const QString &requestedPlugin = QString(), MessageType type = TypeNormal );
-
+	explicit Message( const Contact *fromKC, const Contact *toKC );
 	/**
-	 * Constructs a new message. See @ref setBody() to more information about the format
-	 * @param fromKC The Contact that the message is coming from
-	 * @param toKC List of Contacts the message is going to
-	 * @param body Message body
-	 * @param direction The direction of the message, Message::Inbound, Message::Outbound, Message::Internal
-	 * @param format Format of the message
-	 * @param requestedPlugin Requested view plugin for the message
-	 * @param type Type of the message, see @ref MessageType
+	 * @brief Constructs a new message with many contacts as the destination.
+	 * @param fromKC Contact who send the message
+	 * @param contacts List of Contact to send the message
 	 */
-	Message( const Contact *fromKC, const Contact *toKC, const QString &body,
-		 MessageDirection direction, Qt::TextFormat format = Qt::PlainText,
-		 const QString &requestedPlugin = QString(), MessageType type = TypeNormal );
+	explicit Message( const Contact *fromKC, const QList<Contact*> &contacts);
 
 	/**
-	 * Constructs a new message. See @ref setBody() to more information about the format
-	 * @param fromKC The Contact that the message is coming from
-	 * @param toKC List of Contacts the message is going to
-	 * @param body Message body
-	 * @param subject The subject of the message
-	 * @param direction The direction of the message, Message::Inbound, Message::Outbound, Message::Internal
-	 * @param format Format of the message
-	 * @param requestedPlugin Requested view plugin for the message
-	 * @param type Type of the message, see @ref MessageType
-	 */
-	Message( const Contact *fromKC, const QList<Contact*> &toKC, const QString &body,
-		 const QString &subject, MessageDirection direction, Qt::TextFormat format = Qt::PlainText,
-		 const QString &requestedPlugin = QString(), MessageType type = TypeNormal );
-
-	/**
-	 * Constructs a new message. See @ref setBody() to more information about the format
-	 * @param timeStamp Timestamp for the message
-	 * @param fromKC The Contact that the message is coming from
-	 * @param toKC List of Contacts the message is going to
-	 * @param body Message body
-	 * @param direction The direction of the message, Message::Inbound, Message::Outbound, Message::Internal
-	 * @param format Format of the message
-	 * @param requestedPlugin Requested view plugin for the message
-	 * @param type Type of the message, see @ref MessageType
-	 */
-	Message( const QDateTime &timeStamp, const Contact *fromKC, const QList<Contact*> &toKC,
-		 const QString &body, MessageDirection direction, Qt::TextFormat format = Qt::PlainText,
-		 const QString &requestedPlugin = QString(), MessageType type = TypeNormal );
-
-	/**
-	 * Constructs a new message. See @ref setBody() to more information about the format
-	 * @param timeStamp Timestamp for the message
-	 * @param fromKC The Contact that the message is coming from
-	 * @param toKC List of Contacts the message is going to
-	 * @param body Message body
-	 * @param subject The subject of the message
-	 * @param direction The direction of the message, Message::Inbound, Message::Outbound, Message::Internal
-	 * @param format Format of the message
-	 * @param requestedPlugin Requested view plugin for the message
-	 * @param type Type of the message, see @ref MessageType
-	 */
-	Message( const QDateTime &timeStamp, const Contact *fromKC, const QList<Contact*> &toKC,
-		const QString &body, const QString &subject, MessageDirection direction,
-		Qt::TextFormat format = Qt::PlainText, const QString &requestedPlugin = QString(),
-		MessageType type = TypeNormal );
-
-	/**
 	 * Copy constructor.
 	 * Just adds a reference, doesn't actually copy.
 	 */
@@ -191,6 +154,12 @@
 	QDateTime timestamp() const;
 
 	/**
+	 * @brief Set the message timestamp
+	 * @param timestamp timestamp as QDateTime. By default the current date and time.
+	 */
+	void setTimestamp(const QDateTime &timestamp);
+
+	/**
 	 * @brief Accessor method for the Contact that sent this message
 	 * @return The Contact who sent this message
 	 */
@@ -210,6 +179,13 @@
 	MessageType type() const;
 
 	/**
+	 * @brief Set message type
+	 * @param type The type of the message
+	 * @see MessageType
+	 */
+	void setType(MessageType type);
+
+	/**
 	 * @brief Accessor method for the preferred plugin
 	 * If null, Kopete will use the user's preferred plugin.
 	 * @return The preferred plugin
@@ -217,16 +193,26 @@
 	QString requestedPlugin() const;
 
 	/**
+	 * @brief Set a view plugin which will display the message
+	 *
+	 * This is used mostly by Jabber plugin to select between
+	 * the email window or the chat window depending of the
+	 * type of message.
+	 * @param requesedPlugin View plugin name
+	 */
+	void setRequestedPlugin(const QString &requestedPlugin);
+
+	/**
 	 * @brief Accessor method for the foreground color
 	 * @return The message's foreground color
 	 */
-	QColor fg() const;
+	QColor foregroundColor() const;
 
 	/**
 	 * @brief Accessor method for the background color of the message
 	 * @return The message's background color
 	 */
-	QColor bg() const;
+	QColor backgroundColor() const;
 
 	/**
 	 * @brief Accesssor method for the direction of the text based on what language it is in
@@ -247,6 +233,12 @@
 	QString subject() const;
 
 	/**
+	 * @brief Set message subject
+	 * @param subject Message's subject
+	 */
+	void setSubject(const QString &subject);
+
+	/**
 	 * @brief Accessor method for the body of the message
 	 * This is used internaly, to modify it make a copy of it with QTextDocument::clone()
 	 * @return The message body
@@ -266,6 +258,13 @@
 	MessageDirection direction() const;
 
 	/**
+	 * @brief Set the message direction
+	 * @param direction The message direction
+	 * @see MessageDirection
+	 */
+	void setDirection(MessageDirection direction);
+
+	/**
 	 * @brief Accessor method for the importance
 	 * @see setImportance
 	 * @return The message importance (low/normal/highlight)
@@ -281,17 +280,17 @@
 
 	/**
 	 * @brief Sets the foreground color for the message
-	 * @see fg
+	 * @see foregroundColor
 	 * @param color The color
 	 */
-	void setFg( const QColor &color );
+	void setForegroundColor( const QColor &color );
 
 	/**
 	 * @brief Sets the background color for the message
-	 * @see bg
+	 * @see backgroundColor
 	 * @param color The color
 	 */
-	void setBg( const QColor &color );
+	void setBackgroundColor( const QColor &color );
 
 	/**
 	 * @brief Sets the font for the message
@@ -362,24 +361,21 @@
 
 	/**
 	 * @brief Enables the use of a background for a message
-	 * @see bgOverride
 	 * @param enable A flag to indicate if the background should be enabled or disabled.
 	 */
-	void setBgOverride( bool enable );
+	void setBackgroundOverride( bool enable );
 
 	/**
 	 * @brief Enables the use of a foreground for a message
-	 * @see fgOverride
 	 * @param enable A flag to indicate if the foreground should be enabled or disabled.
 	 */
-	void setFgOverride( bool enable );
+	void setForegroundOverride( bool enable );
 
 	/**
 	 * @brief Enables the use of a RTF formatting for a message
-	 * @see rtfOverride
 	 * @param enable A flag to indicate if the RTF formatting should be enabled or disabled.
 	 */
-	void setRtfOverride( bool enable );
+	void setRichTextOverride( bool enable );
 
 	/**
 	 * @brief Return HTML style attribute for this message.
Index: kopetemessage.cpp
===================================================================
--- kopetemessage.cpp	(révision 656934)
+++ kopetemessage.cpp	(copie de travail)
@@ -4,6 +4,7 @@
     Copyright (c) 2002-2003 by Martijn Klingens       <[EMAIL PROTECTED]>
     Copyright (c) 2002-2006 by Olivier Goffart        <[EMAIL PROTECTED]>
     Copyright (c) 2006-2007 by Charles Connell        <[EMAIL PROTECTED]>
+    Copyright (c) 2007      by Michaël Larouche      <[EMAIL PROTECTED]>
 
     Kopete    (c) 2002-2005 by the Kopete developers  <[email protected]>
 
@@ -19,22 +20,16 @@
 
 #include <stdlib.h>
 
-#include <qcolor.h>
-#include <qbuffer.h>
-#include <qimage.h>
-#include <QTextDocument>
-#include <qregexp.h>
-#include <qtextcodec.h>
-#include <QByteArray>
-#include <QSharedData>
-#include <QPointer>
+#include <QtCore/QDateTime>
 #include <QtCore/QLatin1String>
+#include <QtCore/QPointer>
+#include <QtCore/QRegExp>
+#include <QtCore/QTextCodec>
+#include <QtGui/QTextDocument>
+#include <QtGui/QColor>
 
 #include <kdebug.h>
-#include <klocale.h>
-#include <kiconloader.h>
 #include <kstringhandler.h>
-#include <kcodecs.h>
 
 #include "kopetemessage.h"
 #include "kopetemetacontact.h"
@@ -51,31 +46,33 @@
 	: public QSharedData
 {
 public:
-	Private( const QDateTime &timeStamp, const Contact *from, const ContactPtrList &to,
-	         const QString &subject, MessageDirection direction,
-	         const QString &requestedPlugin, MessageType type );
+	Private()
+		: direction(Internal), format(Qt::PlainText), type(TypeNormal), importance(Normal), backgroundOverride(false),
+		  foregroundOverride(false), richTextOverride(false), isRightToLeft(false), timeStamp( QDateTime::currentDateTime() ),
+		  body(new QTextDocument), escapedBodyDirty(true)
+	{}
 	Private (const Private &other);
-	~Private ();
+	~Private();
 
 	QPointer<Contact> from;
 	ContactPtrList to;
-	ChatSession *manager;
+	QPointer<ChatSession> manager;
 
 	MessageDirection direction;
 	Qt::TextFormat format;
 	MessageType type;
 	QString requestedPlugin;
 	MessageImportance importance;
-	bool bgOverride;
-	bool fgOverride;
-	bool rtfOverride;
+	bool backgroundOverride;
+	bool foregroundOverride;
+	bool richTextOverride;
 	bool isRightToLeft;
 	QDateTime timeStamp;
 	QFont font;
 	QStringList classes;
 
-	QColor fgColor;
-	QColor bgColor;
+	QColor foregroundColor;
+	QColor backgroundColor;
 	QString subject;
 
 	QTextDocument* body;
@@ -83,15 +80,6 @@
 	mutable bool escapedBodyDirty;
 };
 
-Message::Private::Private( const QDateTime &timeStamp, const Contact *from,
-		const ContactPtrList &to, const QString &subject,
-		MessageDirection direction, const QString &requestedPlugin, MessageType type )
-	: from( const_cast<Contact*>(from) ), to(to), manager(0), direction(direction), format(Qt::PlainText), type(type)
-	, requestedPlugin(requestedPlugin), importance( (to.count() <= 1) ? Normal : Low ), bgOverride(false), fgOverride(false)
-	, rtfOverride(false), isRightToLeft (false), timeStamp(timeStamp), subject(subject), body(new QTextDocument()), escapedBodyDirty(true)
-{
-}
-
 Message::Private::Private (const Message::Private &other)
 	: QSharedData (other)
 {
@@ -104,16 +92,16 @@
 	type = other.type;
 	requestedPlugin = other.requestedPlugin;
 	importance = other.importance;
-	bgOverride = other.bgOverride;
-	fgOverride = other.fgOverride;
-	rtfOverride = other.rtfOverride;
+	backgroundOverride = other.backgroundOverride;
+	foregroundOverride = other.foregroundOverride;
+	richTextOverride = other.richTextOverride;
 	isRightToLeft = other.isRightToLeft;
 	timeStamp = other.timeStamp;
 	font = other.font;
 	classes = other.classes;
 
-	fgColor = other.fgColor;
-	bgColor = other.bgColor;
+	foregroundColor = other.foregroundColor;
+	backgroundColor = other.backgroundColor;
 	subject = other.subject;
 
 	body = other.body->clone();
@@ -127,49 +115,27 @@
 }
 
 Message::Message()
-    : d( new Private( QDateTime::currentDateTime(), 0L, ContactPtrList(), QString(), Internal,
-	QString(), TypeNormal ) )
+ : d( new Private )
 {
 }
 
-Message::Message( const Contact *fromKC, const QList<Contact*> &toKC, const QString &body,
-		  MessageDirection direction, Qt::TextFormat f, const QString &requestedPlugin, MessageType type )
-    : d( new Private( QDateTime::currentDateTime(), fromKC, toKC, QString(), direction, requestedPlugin, type ) )
+Message::Message( const Contact *fromKC, const Contact *toKC )
+ : d(new Private)
 {
-	doSetBody(body, f);
-}
+	d->from = const_cast<Contact*>(fromKC);
+	QList<Contact *> contacts;
+	contacts << const_cast<Contact*>(toKC);
 
-Message::Message( const Contact *fromKC, const Contact *toKC, const QString &body,
-		  MessageDirection direction, Qt::TextFormat f, const QString &requestedPlugin, MessageType type )
-{
-	QList<Contact*> to;
-	to.append((Kopete::Contact*)toKC);
-	d = new Private( QDateTime::currentDateTime(), fromKC, to, QString(), direction, requestedPlugin, type );
-	doSetBody(body, f);
+	d->to = contacts;
 }
 
-Message::Message( const Contact *fromKC, const QList<Contact*> &toKC, const QString &body,
-		  const QString &subject, MessageDirection direction, Qt::TextFormat f, const QString &requestedPlugin, MessageType type )
-    : d( new Private( QDateTime::currentDateTime(), fromKC, toKC, subject, direction, requestedPlugin, type ) )
+Message::Message( const Contact *fromKC, const QList<Contact*> &toKC )
+ : d( new Private )
 {
-	doSetBody(body, f);
+	d->from = const_cast<Contact*>(fromKC);
+	d->to = toKC;
 }
 
-Message::Message( const QDateTime &timeStamp, const Contact *fromKC, const QList<Contact*> &toKC,
-		  const QString &body, MessageDirection direction, Qt::TextFormat f, const QString &requestedPlugin, MessageType type )
-    : d( new Private( timeStamp, fromKC, toKC, QString(), direction, requestedPlugin, type ) )
-{
-	doSetBody(body, f);
-}
-
-
-Message::Message( const QDateTime &timeStamp, const Contact *fromKC, const QList<Contact*> &toKC,
-		  const QString &body, const QString &subject, MessageDirection direction, Qt::TextFormat f, const QString &requestedPlugin, MessageType type )
-    : d( new Private( timeStamp, fromKC, toKC, subject, direction, requestedPlugin, type ) )
-{
-	doSetBody(body, f);
-}
-
 Message::Message( const Message &other )
 	: d(other.d)
 {
@@ -185,29 +151,29 @@
 {
 }
 
-void Message::setBgOverride( bool enabled )
+void Message::setBackgroundOverride( bool enabled )
 {
-	d->bgOverride = enabled;
+	d->backgroundOverride = enabled;
 }
 
-void Message::setFgOverride( bool enabled )
+void Message::setForegroundOverride( bool enabled )
 {
-	d->fgOverride = enabled;
+	d->foregroundOverride = enabled;
 }
 
-void Message::setRtfOverride( bool enabled )
+void Message::setRichTextOverride( bool enabled )
 {
-	d->rtfOverride = enabled;
+	d->richTextOverride = enabled;
 }
 
-void Message::setFg( const QColor &color )
+void Message::setForegroundColor( const QColor &color )
 {
-	d->fgColor=color;
+	d->foregroundColor=color;
 }
 
-void Message::setBg( const QColor &color )
+void Message::setBackgroundColor( const QColor &color )
 {
-	d->bgColor=color;
+	d->backgroundColor=color;
 }
 
 void Message::setFont( const QFont &font )
@@ -342,7 +308,7 @@
 
 QString Message::escapedBody() const
 {
-//	kDebug(14010) << k_funcinfo << escapedBody() << " " << d->rtfOverride << endl;
+//	kDebug(14010) << k_funcinfo << escapedBody() << " " << d->richTextOverride << endl;
 
 //	the escaped body is cached because QRegExp is very expensive, so it shouldn't be used any more than nescessary
 	if (!d->escapedBodyDirty)
@@ -360,7 +326,7 @@
 		badStuff.setPattern ("</?body[^<>]*>");
 		html = html.remove (badStuff);
 //		remove newlines that may be present, since they end up being displayed in the chat window. real newlines are represented with <br>, so we know \n's are meaningless (I hope this is true, could anybody confirm? (C Connell))
-		html.remove ("\n");
+		html = html.remove ("\n");
 		d->escapedBody = html;
 		d->escapedBodyDirty = false;
 		return html;
@@ -370,13 +336,9 @@
 QString Message::parsedBody() const
 {
 	//kDebug(14000) << k_funcinfo << "messageformat: " << d->format << endl;
-#ifdef __GNUC__
-#warning Disable Emoticon parsing for now, it make QString cause a ASSERT error. (DarkShock)
-#endif
-#if 0
+
+	// TODO: Maybe cache parsed body ?
 	return Kopete::Emoticons::parseEmoticons(parseLinks(escapedBody(), Qt::RichText));
-#endif
-	return escapedBody();
 }
 
 static QString makeRegExp( const char *pattern )
@@ -459,6 +421,11 @@
 	return d->timeStamp;
 }
 
+void Message::setTimestamp(const QDateTime &timestamp)
+{
+	d->timeStamp = timestamp;
+}
+
 const Contact *Message::from() const
 {
 	return d->from;
@@ -474,25 +441,36 @@
 	return d->type;
 }
 
+void Message::setType(MessageType type)
+{
+	d->type = type;
+}
+
 QString Message::requestedPlugin() const
 {
 	return d->requestedPlugin;
 }
 
-QColor Message::fg() const
+void Message::setRequestedPlugin(const QString &requestedPlugin)
 {
-	return d->fgColor;
+	d->requestedPlugin = requestedPlugin;
 }
 
-QColor Message::bg() const
+QColor Message::foregroundColor() const
 {
-	return d->bgColor;
+	return d->foregroundColor;
 }
 
+QColor Message::backgroundColor() const
+{
+	return d->backgroundColor;
+}
+
 bool Message::isRightToLeft() const
 {
 	return d->isRightToLeft;
 }
+
 QFont Message::font() const
 {
 	return d->font;
@@ -503,6 +481,11 @@
 	return d->subject;
 }
 
+void Message::setSubject(const QString &subject)
+{
+	d->subject = subject;
+}
+
 const QTextDocument *Message::body() const
 {
 	return d->body;
@@ -518,6 +501,11 @@
 	return d->direction;
 }
 
+void Message::setDirection(MessageDirection direction)
+{
+	d->direction = direction;
+}
+
 Message::MessageImportance Message::importance() const
 {
 	return d->importance;
@@ -540,17 +528,17 @@
 	styleAttribute = QString::fromUtf8("style=\"");
 
 	// Affect foreground(color) and background color to message.
-	if( !d->fgOverride && d->fgColor.isValid() )
+	if( !d->foregroundOverride && d->foregroundColor.isValid() )
 	{
-		styleAttribute += QString::fromUtf8("color: %1; ").arg(d->fgColor.name());
+		styleAttribute += QString::fromUtf8("color: %1; ").arg(d->foregroundColor.name());
 	}
-	if( !d->bgOverride && d->bgColor.isValid() )
+	if( !d->backgroundOverride && d->backgroundColor.isValid() )
 	{
-		styleAttribute += QString::fromUtf8("background-color: %1; ").arg(d->bgColor.name());
+		styleAttribute += QString::fromUtf8("background-color: %1; ").arg(d->backgroundColor.name());
 	}
 	
 	// Affect font parameters.
-	if( !d->rtfOverride && d->font!=QFont() )
+	if( !d->richTextOverride && d->font!=QFont() )
 	{
 		QString fontstr;
 		if(!d->font.family().isNull())

Attachment: pgpgLmVDP5SPl.pgp
Description: PGP signature

_______________________________________________
kopete-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/kopete-devel

Reply via email to