-qreal ChatLine::setGeometry(qreal width) {
- if(width != _width)
- prepareGeometryChange();
- QRectF firstColHandleRect = chatScene()->firstColumnHandleRect();
- QRectF secondColHandleRect = chatScene()->secondColumnHandleRect();
+// WARNING: setColumns should not be used without either:
+// a) calling prepareGeometryChange() immediately before setColumns()
+// b) calling Chatline::setPos() immediately afterwards
+//
+// NOTE: senderPos and contentsPos are in ChatLines coordinate system!
+qreal ChatLine::setColumns(const qreal ×tampWidth, const qreal &senderWidth, const qreal &contentsWidth,
+ const QPointF &senderPos, const QPointF &contentsPos) {
+ _height = _contentsItem.setGeometryByWidth(contentsWidth);
+ _senderItem.setGeometry(senderWidth, _height);
+ _timestampItem.setGeometry(timestampWidth, _height);
+
+ _senderItem.setPos(senderPos);
+ _contentsItem.setPos(contentsPos);