X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatview.cpp;h=fd31645f64be711ffc13f00d17127857da1f4aa8;hp=ed71dd07a2336109fce6053fc72c8725631be96f;hb=20f221fe0c23d6eee52506072aead8b0d547334d;hpb=0c4d5e393048c0f7487c9080d5f2625f016fb41c diff --git a/src/qtui/chatview.cpp b/src/qtui/chatview.cpp index ed71dd07..fd31645f 100644 --- a/src/qtui/chatview.cpp +++ b/src/qtui/chatview.cpp @@ -18,6 +18,7 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include #include #include @@ -55,7 +56,7 @@ void ChatView::init(MessageFilter *filter) { // setOptimizationFlags(QGraphicsView::DontAdjustForAntialiasing); setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate); // setTransformationAnchor(QGraphicsView::NoAnchor); - setTransformationAnchor(QGraphicsView::AnchorViewCenter); + setTransformationAnchor(QGraphicsView::AnchorViewCenter); _scene = new ChatScene(filter, filter->idString(), viewport()->width() - 2, this); // see below: resizeEvent() connect(_scene, SIGNAL(sceneRectChanged(const QRectF &)), this, SLOT(sceneRectChanged(const QRectF &))); @@ -84,7 +85,8 @@ void ChatView::lastLineChanged(QGraphicsItem *chatLine, qreal offset) { Q_UNUSED(chatLine) QAbstractSlider *vbar = verticalScrollBar(); Q_ASSERT(vbar); - if(vbar->maximum() - vbar->value() <= (offset + 5) * _currentScaleFactor ) { // 5px grace area + if(QApplication::mouseButtons() == Qt::NoButton + && vbar->maximum() - vbar->value() <= (offset + 5) * _currentScaleFactor ) { // 5px grace area vbar->setValue(vbar->maximum()); } } @@ -117,7 +119,7 @@ MsgId ChatView::lastMsgId() const { return model->data(model->index(model->rowCount() - 1, 0), MessageModel::MsgIdRole).value(); } -void ChatView::zoomIn() { +void ChatView::zoomIn() { _currentScaleFactor *= 1.2; scale(1.2, 1.2); scene()->setWidth(viewport()->width() / _currentScaleFactor - 2);