X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatscene.cpp;h=10ebfc7a6a4253f1744bef3239763d49e03dc3be;hp=d4255556f8c7805f72feb511c8424f90dc7916e5;hb=920feae12b62b749299014ce85241165e09b7f4b;hpb=da2b5b2e4e2b0ea1847a0a5f0cb4a3752fc655c9;ds=sidebyside diff --git a/src/qtui/chatscene.cpp b/src/qtui/chatscene.cpp index d4255556..10ebfc7a 100644 --- a/src/qtui/chatscene.cpp +++ b/src/qtui/chatscene.cpp @@ -27,7 +27,7 @@ #include "chatscene.h" #include "quasselui.h" -ChatScene::ChatScene(MessageModel *model, QObject *parent) : QGraphicsScene(parent), _model(model) { +ChatScene::ChatScene(QAbstractItemModel *model, QObject *parent) : QGraphicsScene(parent), _model(model) { _width = 0; _timestampWidth = 60; _senderWidth = 80; @@ -37,6 +37,7 @@ ChatScene::ChatScene(MessageModel *model, QObject *parent) : QGraphicsScene(pare _lines.append(line); addItem(line); } + emit heightChanged(height()); } ChatScene::~ChatScene() { @@ -66,7 +67,7 @@ void ChatScene::rowsInserted(const QModelIndex &index, int start, int end) { for(int i = end+1; i < _lines.count(); i++) { _lines.value(i)->moveBy(0, h); } - setSceneRect(QRectF(0, 0, _width, _height)); + emit heightChanged(height()); } } @@ -77,7 +78,7 @@ void ChatScene::setWidth(int w) { line->setPos(0, _height); _height += line->setColumnWidths(_timestampWidth, _senderWidth, w - _timestampWidth - _senderWidth); } - setSceneRect(QRectF(0, 0, _width, _height)); + emit heightChanged(_height); } void ChatScene::mousePressEvent ( QGraphicsSceneMouseEvent * mouseEvent ) {