return model()->data(index, role);
}
-qreal ChatItem::setWidth(qreal w) {
+qreal ChatItem::setGeometry(qreal w, qreal h) {
if(w == _boundingRect.width()) return _boundingRect.height();
prepareGeometryChange();
_boundingRect.setWidth(w);
- qreal h = computeHeight();
+ if(h < 0) h = computeHeight();
_boundingRect.setHeight(h);
if(haveLayout()) updateLayout();
return h;
virtual QVariant data(int role) const;
// returns height
- qreal setWidth(qreal width);
+ qreal setGeometry(qreal width, qreal height = -1);
// selection stuff, to be called by the scene
void clearSelection();
qreal firstsep = QtUi::style()->firstColumnSeparator()/2;
qreal secondsep = QtUi::style()->secondColumnSeparator()/2;
- _timestampItem.setWidth(firstHandlePos - firstsep);
- _senderItem.setWidth(secondHandlePos - firstHandlePos - (firstsep+secondsep));
- _height = _contentsItem.setWidth(width - secondHandlePos - secondsep);
+ _height = _contentsItem.setGeometry(width - secondHandlePos - secondsep);
+ _timestampItem.setGeometry(firstHandlePos - firstsep, _height);
+ _senderItem.setGeometry(secondHandlePos - firstHandlePos - (firstsep+secondsep), _height);
_senderItem.setPos(firstHandlePos + firstsep, 0);
_contentsItem.setPos(secondHandlePos + secondsep, 0);