- enum SelectionMode { NoSelection, PartialSelection, FullSelection };
- SelectionMode _selectionMode;
- qint16 _selectionStart, _selectionEnd;
+ QTextLayout *_layout;
+};
+
+/*************************************************************************************************/
+
+//! A ChatItem for the timestamp column
+class TimestampChatItem : public ChatItem {
+
+public:
+ TimestampChatItem(QAbstractItemModel *model, QGraphicsItem *parent) : ChatItem(column(), model, parent) {}
+ inline ChatLineModel::ColumnType column() const { return ChatLineModel::TimestampColumn; }
+
+};
+
+/*************************************************************************************************/
+
+//! A ChatItem for the sender column
+class SenderChatItem : public ChatItem {
+
+public:
+ SenderChatItem(QAbstractItemModel *model, QGraphicsItem *parent) : ChatItem(column(), model, parent) {}
+ inline ChatLineModel::ColumnType column() const { return ChatLineModel::SenderColumn; }
+
+ virtual void updateLayout();
+};
+
+/*************************************************************************************************/
+
+//! A ChatItem for the contents column
+class ContentsChatItem : public ChatItem {
+
+public:
+ ContentsChatItem(QAbstractItemModel *model, QGraphicsItem *parent);
+ virtual ~ContentsChatItem();