X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fchatlinemodelitem.h;h=9fe4b8bc1c88af5a1fc31e91cbe47cdd7c07cc6e;hb=b62a657656223ee79dc0de04ac0194c90709c1de;hp=4b4213b5f5ea27ca742825f7717893ab38e3d009;hpb=22c14264fd1ad9bd0752eb4f711c3d34bfd8abbf;p=quassel.git diff --git a/src/qtui/chatlinemodelitem.h b/src/qtui/chatlinemodelitem.h index 4b4213b5..9fe4b8bc 100644 --- a/src/qtui/chatlinemodelitem.h +++ b/src/qtui/chatlinemodelitem.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -21,33 +21,33 @@ #ifndef CHATLINEMODELITEM_H_ #define CHATLINEMODELITEM_H_ -#include +#include "messagemodel.h" -#include "chatlinemodel.h" #include "uistyle.h" -struct ChatLineModelItemPrivate; - class ChatLineModelItem : public MessageModelItem { public: ChatLineModelItem(const Message &); - ~ChatLineModelItem(); + virtual QVariant data(int column, int role) const; - virtual inline bool setData(int column, const QVariant &value, int role) { Q_UNUSED(column); Q_UNUSED(value); Q_UNUSED(role); return false; } -private: - void computeWrapList() 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(); } - struct ChatLinePart { - QString plainText; - UiStyle::FormatList formatList; - }; - ChatLinePart _timestamp, _sender, _contents; +private: + QVariant timestampData(int role) const; + QVariant senderData(int role) const; + QVariant contentsData(int role) const; - ChatLineModelItemPrivate *_data; + QVariant backgroundBrush(UiStyle::FormatType subelement, bool selected = false) const; + quint32 messageLabel() const; - static unsigned char *TextBoundaryFinderBuffer; - static int TextBoundaryFinderBufferSize; + UiStyle::StyledMessage _styledMsg; }; #endif