-ChatLine::ChatLine(const QPersistentModelIndex &index_, QGraphicsItem *parent) : QGraphicsItem(parent), _index(index_) {
-
+ChatLine::ChatLine(int row, QAbstractItemModel *model, QGraphicsItem *parent)
+ : QGraphicsItem(parent),
+ _row(row), // needs to be set before the items
+ _timestampItem(ChatLineModel::TimestampColumn, model, this),
+ _senderItem(ChatLineModel::SenderColumn, model, this),
+ _contentsItem(ChatLineModel::ContentsColumn, model, this),
+ _width(0),
+ _height(0),
+ _selection(0)
+{
+ Q_ASSERT(model);
+ QModelIndex index = model->index(row, ChatLineModel::ContentsColumn);
+ setHighlighted(model->data(index, MessageModel::FlagsRole).toInt() & Message::Highlight);