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);