From: Manuel Nickschas Date: Mon, 3 Nov 2008 22:37:32 +0000 (+0100) Subject: Don't scroll if a mouse button is pressed X-Git-Tag: 0.3.1~77 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=20f221fe0c23d6eee52506072aead8b0d547334d;ds=sidebyside Don't scroll if a mouse button is pressed --- 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);