/***************************************************************************
- * 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 *
#ifndef CHATLINEMODELITEM_H_
#define CHATLINEMODELITEM_H_
-#include <QVector>
-#include <QPair>
+#include "messagemodel.h"
-#include "chatlinemodel.h"
#include "uistyle.h"
class ChatLineModelItem : public MessageModelItem {
+public:
+ ChatLineModelItem(const Message &);
- public:
+ virtual QVariant data(int column, int role) const;
- ChatLineModelItem(const Message &);
- //virtual ~ChatLineModelItem() {};
+ 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(); }
- virtual QVariant data(int column, int role) const;
- virtual bool setData(int column, const QVariant &value, int role);
+private:
+ QVariant timestampData(int role) const;
+ QVariant senderData(int role) const;
+ QVariant contentsData(int role) const;
- private:
- void computeWrapList();
+ QVariant backgroundBrush(UiStyle::FormatType subelement, bool selected = false) const;
+ quint32 messageLabel() const;
- struct ChatLinePart {
- QString plainText;
- UiStyle::FormatList formatList;
- };
- ChatLinePart _timestamp, _sender, _contents;
-
- ChatLineModel::WrapList _wrapList;
+ UiStyle::StyledMessage _styledMsg;
};
#endif