X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fmessagemodel.h;h=336c07eb622959a785f9def3667dd9fe96c4160a;hp=32e4438e8f3696d3783fb9ef0e25753f2303a41c;hb=f3fc0324c8860dff6af722dafbeb05fcb69a0c41;hpb=16c2a9940b223cf5538efdcb8a6eb011b8258150 diff --git a/src/client/messagemodel.h b/src/client/messagemodel.h index 32e4438e..336c07eb 100644 --- a/src/client/messagemodel.h +++ b/src/client/messagemodel.h @@ -22,8 +22,13 @@ #define MESSAGEMODEL_H_ #include +#include + +#include "message.h" +#include "types.h" class MessageItem; +class MsgId; class MessageModel : public QAbstractItemModel { Q_OBJECT @@ -41,10 +46,10 @@ class MessageModel : public QAbstractItemModel { MessageModel(QObject *parent); virtual ~MessageModel(); - inline QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const { return createIndex(row, column); } - inline QModelIndex parent(const QModelIndex &index) const { return QModelIndex(); } - inline int rowCount(const QModelIndex &parent = QModelIndex()) const { return _messageList.count(); } - inline int columnCount(const QModelIndex &parent = QModelIndex()) const { return 3; } + inline QModelIndex index(int row, int column, const QModelIndex &/*parent*/ = QModelIndex()) const { return createIndex(row, column); } + inline QModelIndex parent(const QModelIndex &) const { return QModelIndex(); } + inline int rowCount(const QModelIndex &/*parent*/ = QModelIndex()) const { return _messageList.count(); } + inline int columnCount(const QModelIndex &/*parent*/ = QModelIndex()) const { return 3; } virtual QVariant data(const QModelIndex &index, int role) const; virtual bool setData(const QModelIndex &index, const QVariant &value, int role); @@ -60,18 +65,29 @@ class MessageModel : public QAbstractItemModel { private: QList _messageList; + int indexForId(MsgId); + }; class MessageItem { - + public: + enum { + TimestampColumn, SenderColumn, TextColumn + }; + MessageItem(const Message &); virtual ~MessageItem(); - - virtual QVariant data(int column, int role) const = 0; + virtual QVariant data(int column, int role) const; virtual bool setData(int column, const QVariant &value, int role) = 0; + private: + QDateTime _timestamp; + MsgId _msgId; + BufferId _bufferId; + Message::Type _type; + Message::Flags _flags; }; #endif