More WiP stuff for the MessageModel.
[quassel.git] / src / client / messagemodel.h
index 336c07e..afbe89f 100644 (file)
@@ -34,15 +34,21 @@ class MessageModel : public QAbstractItemModel {
   Q_OBJECT
 
   public:
-    enum MessageRoles {
+    enum MessageRole {
       MsgIdRole = Qt::UserRole,
       BufferIdRole,
       TypeRole,
       FlagsRole,
       TimestampRole,
+      DisplayRole,
+      FormatRole,
       UserRole
     };
 
+    enum ColumnType {
+      TimestampColumn, SenderColumn, TextColumn, UserColumnType
+    };
+
     MessageModel(QObject *parent);
     virtual ~MessageModel();
 
@@ -72,10 +78,12 @@ class MessageModel : public QAbstractItemModel {
 class MessageItem {
 
   public:
-    enum {
-      TimestampColumn, SenderColumn, TextColumn
-    };
 
+    //! Creates a MessageItem from a Message object.
+    /** This baseclass implementation takes care of all Message data *except* the stylable strings.
+     *  Subclasses need to provide Qt::DisplayRole at least, which should describe the plaintext
+     *  strings without formattings (e.g. for searching purposes).
+     */
     MessageItem(const Message &);
     virtual ~MessageItem();