Make double and triple click selection work
[quassel.git] / src / qtui / chatscene.cpp
index 9a3bca6..393058b 100644 (file)
@@ -573,8 +573,10 @@ void ChatScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
       if(_clickTimer.isActive()) _clickTimer.stop();
       if(_clickMode == SingleClick && isPosOverSelection(_clickPos))
         initiateDrag(event->widget());
-      else
+      else {
+        _clickMode = DragStartClick;
         handleClick(Qt::LeftButton, _clickPos);
+      }
       _clickMode = NoClick;
     }
     if(_isSelecting) {
@@ -621,7 +623,8 @@ void ChatScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) {
   if(!event->buttons() & Qt::LeftButton) {
     _leftButtonPressed = false;
     if(_clickMode != NoClick) {
-      clearSelection();
+      if(_clickMode == SingleClick)
+        clearSelection();
       event->accept();
       if(!_clickTimer.isActive())
         handleClick(Qt::LeftButton, _clickPos);