Standard Roles should be the same in MessageModel and in Qt
[quassel.git] / src / client / messagemodel.h
index d37100c..c381f0f 100644 (file)
 #include "types.h"
 
 class MessageModelItem;
-class MsgId;
+struct MsgId;
 
 class MessageModel : public QAbstractItemModel {
   Q_OBJECT
 
   public:
     enum MessageRole {
+      DisplayRole = Qt::DisplayRole,
+      EditRole = Qt::EditRole,
       MsgIdRole = Qt::UserRole,
       BufferIdRole,
       TypeRole,
       FlagsRole,
       TimestampRole,
-      DisplayRole,
       FormatRole,
+      ColumnTypeRole,
       UserRole
     };
 
     enum ColumnType {
-      TimestampColumn, SenderColumn, TextColumn, UserColumnType
+      TimestampColumn, SenderColumn, ContentsColumn, UserColumnType
     };
 
     MessageModel(QObject *parent);
@@ -62,9 +64,11 @@ class MessageModel : public QAbstractItemModel {
 
     //virtual Qt::ItemFlags flags(const QModelIndex &index) const;
 
-    void insertMessage(const Message &);
+    bool insertMessage(const Message &, bool fakeMsg = false);
     void insertMessages(const QList<Message> &);
 
+    void clear();
+
   protected:
     virtual MessageModelItem *createMessageModelItem(const Message &) = 0;