X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fchatlinemodelitem.h;h=9fe4b8bc1c88af5a1fc31e91cbe47cdd7c07cc6e;hb=ced47a86a4e196498d1f57f581a6cc7976cb3558;hp=d4979cdf1b55d75bde29175354301bae7e3f3dd8;hpb=86831c8857f0a729580cee547e10c9621d50c780;p=quassel.git diff --git a/src/qtui/chatlinemodelitem.h b/src/qtui/chatlinemodelitem.h index d4979cdf..9fe4b8bc 100644 --- a/src/qtui/chatlinemodelitem.h +++ b/src/qtui/chatlinemodelitem.h @@ -23,27 +23,31 @@ #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; - /// Used to store information about words to be used for wrapping - struct Word { - quint16 start; - qreal endX; - qreal width; - qreal trailing; - }; - typedef QVector WrapList; + 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(); } private: - ChatLineModelItemPrivate *_data; + QVariant timestampData(int role) const; + QVariant senderData(int role) const; + QVariant contentsData(int role) const; + + QVariant backgroundBrush(UiStyle::FormatType subelement, bool selected = false) const; + quint32 messageLabel() const; + + UiStyle::StyledMessage _styledMsg; }; #endif