projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Quassel now handles even huge ChatScenes without slowing to a crawl.
[quassel.git]
/
src
/
qtui
/
chatview.cpp
diff --git
a/src/qtui/chatview.cpp
b/src/qtui/chatview.cpp
index
f76cf2a
..
a458254
100644
(file)
--- a/
src/qtui/chatview.cpp
+++ b/
src/qtui/chatview.cpp
@@
-28,10
+28,15
@@
#include "quasselui.h"
ChatView::ChatView(Buffer *buf, QWidget *parent) : QGraphicsView(parent), AbstractChatView() {
#include "quasselui.h"
ChatView::ChatView(Buffer *buf, QWidget *parent) : QGraphicsView(parent), AbstractChatView() {
+ setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ setOptimizationFlags(QGraphicsView::DontClipPainter
+ |QGraphicsView::DontSavePainterState
+ |QGraphicsView::DontAdjustForAntialiasing);
_scene = new ChatScene(Client::messageModel(), this);
_scene = new ChatScene(Client::messageModel(), this);
+ connect(_scene, SIGNAL(heightChanged(int)), this, SLOT(sceneHeightChanged(int)));
+ //_scene->setWidth(width());
setScene(_scene);
setScene(_scene);
-
- //QGraphicsTextItem *item = scene()->addText(buf->bufferInfo().bufferName());
+ setSceneRect(0, 0, width(), 0);
}
}
@@
-45,6
+50,14
@@
ChatScene *ChatView::scene() const {
return _scene;
}
return _scene;
}
+void ChatView::resizeEvent(QResizeEvent *event) {
+ scene()->setWidth(event->size().width());
+ qDebug() << "resize";
+}
+
+void ChatView::sceneHeightChanged(int h) {
+ setSceneRect(0, 0, width(), h);
+}
void ChatView::clear()
{
void ChatView::clear()
{