Wow, interesting whitespace you got there... /D
On Sun, Nov 29, 2015 at 04:16:47PM +0100, Robert C. Helling wrote: > From 2c368f47a3bbfae34feb31e3932006fbff22a1bb Mon Sep 17 00:00:00 2001 > From: "Robert C. Helling" <[email protected]> > Date: Sun, 29 Nov 2015 16:13:57 +0100 > Subject: [PATCH] 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 <[email protected]> > --- > desktop-widgets/divepicturewidget.cpp | 31 +++++++++++++++++++------------ > 1 file changed, 19 insertions(+), 12 deletions(-) > > diff --git a/desktop-widgets/divepicturewidget.cpp > b/desktop-widgets/divepicturewidget.cpp > index c612ab6..d743867 100644 > --- a/desktop-widgets/divepicturewidget.cpp > +++ b/desktop-widgets/divepicturewidget.cpp > @@ -30,22 +30,29 @@ void DivePictureWidget::doubleClicked(const QModelIndex > &index) > > void DivePictureWidget::mousePressEvent(QMouseEvent *event) > { > + ulong doubleClickInterval = > static_cast<ulong>(qApp->styleHints()->mouseDoubleClickInterval()); > + static ulong lasttime = 0L; > > - QPixmap pixmap = model()->data(indexAt(event->pos()), > Qt::DecorationRole).value<QPixmap>(); > + 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(); > + QString filename = model()->data(indexAt(event->pos()), > Qt::DisplayPropertyRole).toString(); > > - QByteArray itemData; > - QDataStream dataStream(&itemData, QIODevice::WriteOnly); > - dataStream << filename << event->pos(); > + QByteArray itemData; > + QDataStream dataStream(&itemData, QIODevice::WriteOnly); > + dataStream << filename << event->pos(); > > - QMimeData *mimeData = new QMimeData; > - mimeData->setData("application/x-subsurfaceimagedrop", itemData); > + QMimeData *mimeData = new QMimeData; > + mimeData->setData("application/x-subsurfaceimagedrop", itemData); > > - QDrag *drag = new QDrag(this); > - drag->setMimeData(mimeData); > - drag->setPixmap(pixmap); > - drag->setHotSpot(event->pos() - > rectForIndex(indexAt(event->pos())).topLeft()); > + QDrag *drag = new QDrag(this); > + drag->setMimeData(mimeData); > + drag->setPixmap(pixmap); > + drag->setHotSpot(event->pos() - > rectForIndex(indexAt(event->pos())).topLeft()); > > - drag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction); > + drag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction); > + } > } > -- > 1.9.5 (Apple Git-50.3) > _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
