projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixing issues with moving the mouse while double/triple clicking
[quassel.git]
/
src
/
qtui
/
chatscene.cpp
diff --git
a/src/qtui/chatscene.cpp
b/src/qtui/chatscene.cpp
index
8ccdfca
..
6e4dda1
100644
(file)
--- a/
src/qtui/chatscene.cpp
+++ b/
src/qtui/chatscene.cpp
@@
-110,10
+110,6
@@
ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal w
_clickTimer.setSingleShot(true);
connect(&_clickTimer, SIGNAL(timeout()), SLOT(clickTimeout()));
_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);
}
setItemIndexMethod(QGraphicsScene::NoIndex);
}
@@
-599,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()) {
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 {
if(_clickMode == SingleClick && isPosOverSelection(_clickPos))
initiateDrag(event->widget());
else {
@@
-612,7
+609,7
@@
void ChatScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event) {
updateSelection(event->scenePos());
emit mouseMoveWhileSelecting(event->scenePos());
event->accept();
updateSelection(event->scenePos());
emit mouseMoveWhileSelecting(event->scenePos());
event->accept();
- } else if(_clickHandled)
+ } else if(_clickHandled
&& _clickMode < DoubleClick
)
QGraphicsScene::mouseMoveEvent(event);
} else
QGraphicsScene::mouseMoveEvent(event);
QGraphicsScene::mouseMoveEvent(event);
} else
QGraphicsScene::mouseMoveEvent(event);
@@
-628,14
+625,12
@@
void ChatScene::mousePressEvent(QGraphicsSceneMouseEvent *event) {
}
if(_clickMode != NoClick && _clickTimer.isActive()) {
_clickMode = (ClickMode)(_clickMode == TripleClick ? DoubleClick : _clickMode + 1);
}
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 {
_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);
}
if(event->type() == QEvent::GraphicsSceneMouseDoubleClick)
QGraphicsScene::mouseDoubleClickEvent(event);