_clickTimer.setSingleShot(true);
connect(&_clickTimer, SIGNAL(timeout()), SLOT(clickTimeout()));
+ _clickTimer.setInterval(QApplication::doubleClickInterval());
+ _clickTimer.setSingleShot(true);
+ connect(&_clickTimer, SIGNAL(timeout()), SLOT(clickTimeout()));
+
setItemIndexMethod(QGraphicsScene::NoIndex);
}
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) {
if(!event->buttons() & Qt::LeftButton) {
_leftButtonPressed = false;
if(_clickMode != NoClick) {
- clearSelection();
+ if(_clickMode == SingleClick)
+ clearSelection();
event->accept();
if(!_clickTimer.isActive())
handleClick(Qt::LeftButton, _clickPos);