Make pictures respond to double clicks again

The Drag & Drop functionality swallowd the click events so double
clicks never happend. So here, we detect this and call the handler
explicitly.

Signed-off-by: Robert C. Helling <helling@atdotde.de>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Robert C. Helling 2015-11-29 16:13:57 +01:00 committed by Dirk Hohndel
parent 3413dc30e5
commit 82d9709357

View file

@ -30,7 +30,13 @@ void DivePictureWidget::doubleClicked(const QModelIndex &index)
void DivePictureWidget::mousePressEvent(QMouseEvent *event)
{
ulong doubleClickInterval = static_cast<ulong>(qApp->styleHints()->mouseDoubleClickInterval());
static ulong lasttime = 0L;
if (event->timestamp() - lasttime <= doubleClickInterval) {
doubleClicked(indexAt(event->pos()));
} else {
lasttime = event->timestamp();
QPixmap pixmap = model()->data(indexAt(event->pos()), Qt::DecorationRole).value<QPixmap>();
QString filename = model()->data(indexAt(event->pos()), Qt::DisplayPropertyRole).toString();
@ -48,4 +54,5 @@ void DivePictureWidget::mousePressEvent(QMouseEvent *event)
drag->setHotSpot(event->pos() - rectForIndex(indexAt(event->pos())).topLeft());
drag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction);
}
}