X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatlinemodelitem.h;fp=src%2Fqtui%2Fchatlinemodelitem.h;h=5382a7b85de4554c6553f972f87745d88b6631c0;hp=d4979cdf1b55d75bde29175354301bae7e3f3dd8;hb=ed9a0a3e6d1af81cc07a54d4feebb8a01c451fb8;hpb=1566f62849f9011656d9111b99f023d694bb8805 diff --git a/src/qtui/chatlinemodelitem.h b/src/qtui/chatlinemodelitem.h index d4979cdf..5382a7b8 100644 --- a/src/qtui/chatlinemodelitem.h +++ b/src/qtui/chatlinemodelitem.h @@ -23,16 +23,22 @@ #include "messagemodel.h" -class ChatLineModelItemPrivate; +#include "uistyle.h" class ChatLineModelItem : public MessageModelItem { public: ChatLineModelItem(const Message &); - ChatLineModelItem(const ChatLineModelItem &other); - ~ChatLineModelItem(); virtual QVariant data(int column, int role) const; + virtual inline const Message &message() const { return _styledMsg; } + virtual inline const QDateTime ×tamp() const { return _styledMsg.timestamp(); } + virtual inline const MsgId &msgId() const { return _styledMsg.msgId(); } + virtual inline const BufferId &bufferId() const { return _styledMsg.bufferId(); } + virtual inline void setBufferId(BufferId bufferId) { _styledMsg.setBufferId(bufferId); } + virtual inline Message::Type msgType() const { return _styledMsg.type(); } + virtual inline Message::Flags msgFlags() const { return _styledMsg.flags(); } + /// Used to store information about words to be used for wrapping struct Word { quint16 start; @@ -43,7 +49,17 @@ public: typedef QVector WrapList; private: - ChatLineModelItemPrivate *_data; + virtual QVariant timestampData(int role) const; + virtual QVariant senderData(int role) const; + virtual QVariant contentsData(int role) const; + + void computeWrapList() const; + + mutable WrapList _wrapList; + UiStyle::StyledMessage _styledMsg; + + static unsigned char *TextBoundaryFinderBuffer; + static int TextBoundaryFinderBufferSize; }; #endif