+QVariant ChatItem::data(int role) const {
+ if(!_index.isValid()) {
+ qWarning() << "ChatItem::data(): Model index is invalid!" << _index;
+ return QVariant();
+ }
+ return _index.data(role);
+}
+
+/*
+QRectF ChatItem::boundingRect() const {
+ return QRectF(0, 0, _width, _height);
+}
+*/
+
+void ChatItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) {
+ Q_UNUSED(option); Q_UNUSED(widget);
+
+ painter->drawText(boundingRect(), data(MessageModel::DisplayRole).toString());
+ painter->setPen(Qt::DotLine);
+ painter->drawRect(boundingRect());
+}
+
+
+
+int ChatItem::setWidth(int w) {
+ _boundingRect.setWidth(w);
+ _boundingRect.setHeight(20); // FIXME
+ return 20;