X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatscene.cpp;h=6e4dda17452fbd00ee8905d1c2b8ccba7846a928;hp=f85e34445f41f032037c0b4236ee14aaea9b2090;hb=a06b72f5cc0ff48e7f00de7a7e45ee11c2bba16b;hpb=aa2d0a85c3e04a99d46c05512165c20414a669ec diff --git a/src/qtui/chatscene.cpp b/src/qtui/chatscene.cpp index f85e3444..6e4dda17 100644 --- a/src/qtui/chatscene.cpp +++ b/src/qtui/chatscene.cpp @@ -595,7 +595,8 @@ void ChatScene::contextMenuEvent(QGraphicsSceneContextMenuEvent *event) { void ChatScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { if(event->buttons() == Qt::LeftButton) { if(!_clickHandled && (event->scenePos() - _clickPos).toPoint().manhattanLength() >= QApplication::startDragDistance()) { - if(_clickTimer.isActive()) _clickTimer.stop(); + if(_clickTimer.isActive()) + _clickTimer.stop(); if(_clickMode == SingleClick && isPosOverSelection(_clickPos)) initiateDrag(event->widget()); else { @@ -608,7 +609,7 @@ void ChatScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { updateSelection(event->scenePos()); emit mouseMoveWhileSelecting(event->scenePos()); event->accept(); - } else if(_clickHandled) + } else if(_clickHandled && _clickMode < DoubleClick) QGraphicsScene::mouseMoveEvent(event); } else QGraphicsScene::mouseMoveEvent(event); @@ -624,14 +625,12 @@ void ChatScene::mousePressEvent(QGraphicsSceneMouseEvent *event) { } if(_clickMode != NoClick && _clickTimer.isActive()) { _clickMode = (ClickMode)(_clickMode == TripleClick ? DoubleClick : _clickMode + 1); - handleClick(Qt::LeftButton, event->scenePos()); + handleClick(Qt::LeftButton, _clickPos); } else { _clickMode = SingleClick; _clickPos = event->scenePos(); } _clickTimer.start(); - } else if(event->buttons() == Qt::RightButton) { - handleClick(Qt::RightButton, event->scenePos()); } if(event->type() == QEvent::GraphicsSceneMouseDoubleClick) QGraphicsScene::mouseDoubleClickEvent(event);