-void ChatScene::appendMsg(AbstractUiMsg * msg) {
- ChatLine *line = dynamic_cast<ChatLine*>(msg);
- Q_ASSERT(line);
- _lines.append(line);
- addItem(line);
- line->setPos(0, _lines.count() * 30);
- line->setColumnWidths(80, 80, 400);
-}
-
-void ChatScene::prependMsg(AbstractUiMsg * msg) {
- ChatLine *line = dynamic_cast<ChatLine*>(msg);
- Q_ASSERT(line); qDebug() << "prepending";
- _lines.prepend(line);
- addItem(line);
- line->setPos(0, _lines.count() * 30);
+void ChatScene::setWidth(int w) {
+ _width = w;
+ int h = 0;
+ foreach(ChatLine *line, _lines) {
+ line->setPos(0, h);
+ h += line->setColumnWidths(60, 80, w - 60 - 80);
+ }
+ setSceneRect(QRectF(0, 0, w, h));