diff options
author | Ulf Hermann <ulf.hermann@digia.com> | 2014-02-24 12:45:39 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-25 18:39:35 +0100 |
commit | 2befbab62808fa75658cb974ce92e8b1ac558e8e (patch) | |
tree | 4b1cc31d9f05c1c0c1f62edecca63aa6c3070735 | |
parent | 360a51efbea5c236f0d2ac531e65d7614b95ab3b (diff) |
Add double-click to QQuickWidget
Task-number: QTBUG-36935
Change-Id: I498561f6bbd5a9b279034d16ef5ae4fb36607ed3
Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
-rw-r--r-- | src/quickwidgets/qquickwidget.cpp | 15 | ||||
-rw-r--r-- | src/quickwidgets/qquickwidget.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/quickwidgets/qquickwidget.cpp b/src/quickwidgets/qquickwidget.cpp index 7458d2de01..d530e0c18f 100644 --- a/src/quickwidgets/qquickwidget.cpp +++ b/src/quickwidgets/qquickwidget.cpp @@ -754,6 +754,21 @@ void QQuickWidget::mouseMoveEvent(QMouseEvent *e) d->offscreenWindow->mouseMoveEvent(&mappedEvent); } +void QQuickWidget::mouseDoubleClickEvent(QMouseEvent *e) +{ + Q_D(QQuickWidget); + Q_QUICK_PROFILE(addEvent<QQuickProfiler::Mouse>()); + + // As the second mouse press is suppressed in widget windows we emulate it here for QML. + // See QTBUG-25831 + QMouseEvent pressEvent(QEvent::MouseButtonPress, e->localPos(), e->screenPos(), e->button(), + e->buttons(), e->modifiers()); + d->offscreenWindow->mousePressEvent(&pressEvent); + QMouseEvent mappedEvent(e->type(), e->localPos(), e->screenPos(), e->button(), e->buttons(), + e->modifiers()); + d->offscreenWindow->mouseDoubleClickEvent(&mappedEvent); +} + void QQuickWidget::showEvent(QShowEvent *e) { Q_D(QQuickWidget); diff --git a/src/quickwidgets/qquickwidget.h b/src/quickwidgets/qquickwidget.h index 92b060647f..614d5b82a6 100644 --- a/src/quickwidgets/qquickwidget.h +++ b/src/quickwidgets/qquickwidget.h @@ -111,6 +111,7 @@ protected: virtual void mousePressEvent(QMouseEvent *); virtual void mouseReleaseEvent(QMouseEvent *); virtual void mouseMoveEvent(QMouseEvent *); + virtual void mouseDoubleClickEvent(QMouseEvent *); virtual void showEvent(QShowEvent *); virtual void hideEvent(QHideEvent *); |