Fix issues with single and double clicks in ChatView
authorManuel Nickschas <sputnick@quassel-irc.org>
Sun, 23 Nov 2008 18:32:53 +0000 (19:32 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 23 Nov 2008 18:32:53 +0000 (19:32 +0100)
src/qtui/chatscene.cpp
src/qtui/chatscene.h

index 6e4dda1..ae63e55 100644 (file)
@@ -624,7 +624,13 @@ void ChatScene::mousePressEvent(QGraphicsSceneMouseEvent *event) {
       clearSelection();
     }
     if(_clickMode != NoClick && _clickTimer.isActive()) {
       clearSelection();
     }
     if(_clickMode != NoClick && _clickTimer.isActive()) {
-      _clickMode = (ClickMode)(_clickMode == TripleClick ? DoubleClick : _clickMode + 1);
+      switch(_clickMode) {
+        case NoClick: _clickMode = SingleClick; break;
+        case SingleClick: _clickMode = DoubleClick; break;
+        case DoubleClick: _clickMode = TripleClick; break;
+        case TripleClick: _clickMode = DoubleClick; break;
+        case DragStartClick: break;
+      }
       handleClick(Qt::LeftButton, _clickPos);
     } else {
       _clickMode = SingleClick;
       handleClick(Qt::LeftButton, _clickPos);
     } else {
       _clickMode = SingleClick;
index b40561e..a941fd9 100644 (file)
@@ -62,8 +62,8 @@ public:
 
   enum ClickMode {
     NoClick,
 
   enum ClickMode {
     NoClick,
-    SingleClick,
     DragStartClick,
     DragStartClick,
+    SingleClick,
     DoubleClick,
     TripleClick
   };
     DoubleClick,
     TripleClick
   };