X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fmessagemodel.h;h=f4a7655575ed5890c35c12880abcc9e1932d6528;hp=b6b783fb0142150ff0f4aeecd49dc2ad8ecadef2;hb=eb74ba38ec7a8d88fc27c3f8d277859e1a89ae7e;hpb=6094c0f6c518be54335adf4ec3e909493a06ebd3 diff --git a/src/client/messagemodel.h b/src/client/messagemodel.h index b6b783fb..f4a76555 100644 --- a/src/client/messagemodel.h +++ b/src/client/messagemodel.h @@ -34,10 +34,12 @@ class MessageModel : public QAbstractItemModel { Q_OBJECT public: - enum MessageRole { + enum MessageModelRole { DisplayRole = Qt::DisplayRole, EditRole = Qt::EditRole, - MsgIdRole = Qt::UserRole, + BackgroundRole = Qt::BackgroundRole, + MessageRole = Qt::UserRole, + MsgIdRole, BufferIdRole, TypeRole, FlagsRole, @@ -54,7 +56,7 @@ public: MessageModel(QObject *parent); - inline QModelIndex index(int row, int column, const QModelIndex &/*parent*/ = QModelIndex()) const { return createIndex(row, column); } + inline QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; inline QModelIndex parent(const QModelIndex &) const { return QModelIndex(); } inline int rowCount(const QModelIndex &parent = QModelIndex()) const { return parent.isValid() ? 0 : messageCount(); } inline int columnCount(const QModelIndex &/*parent*/ = QModelIndex()) const { return 3; } @@ -109,6 +111,14 @@ private: QHash _messagesWaiting; }; +// inlines +QModelIndex MessageModel::index(int row, int column, const QModelIndex &parent) const { + if(row < 0 || row >= rowCount(parent) || column < 0 || column >= columnCount(parent)) + return QModelIndex(); + + return createIndex(row, column); +} + // ************************************************** // MessageModelItem // ************************************************** @@ -140,7 +150,6 @@ public: static bool lessThan(const MessageModelItem *m1, const MessageModelItem *m2); private: - Message _msg; BufferId _redirectedTo; };