diff options
author | Paul Olav Tvete <paul.tvete@theqtcompany.com> | 2016-05-12 09:56:40 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@theqtcompany.com> | 2016-05-12 12:41:03 +0000 |
commit | ec03a06576d13c6984797936e1c8c2b68f46799a (patch) | |
tree | 0365070b35160bf188c3948725814e511c99ec07 | |
parent | c07dc0c5cd138db2f222c6c58bc5778532cecf42 (diff) |
Let inputEventsEnabled control mouse press/release
...in addition to hover events
Change-Id: Ibf434acc5e39637dd701f52d867d582339b93de3
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickitem.cpp | 3 | ||||
-rw-r--r-- | src/compositor/compositor_api/qwaylandquickitem_p.h | 21 |
2 files changed, 15 insertions, 9 deletions
diff --git a/src/compositor/compositor_api/qwaylandquickitem.cpp b/src/compositor/compositor_api/qwaylandquickitem.cpp index f79e61934..7a044b855 100644 --- a/src/compositor/compositor_api/qwaylandquickitem.cpp +++ b/src/compositor/compositor_api/qwaylandquickitem.cpp @@ -1083,8 +1083,7 @@ void QWaylandQuickItem::setInputEventsEnabled(bool enabled) { Q_D(QWaylandQuickItem); if (d->inputEventsEnabled != enabled) { - d->inputEventsEnabled = enabled; - setAcceptHoverEvents(enabled); + d->setInputEventsEnabled(enabled); emit inputEventsEnabledChanged(); } } diff --git a/src/compositor/compositor_api/qwaylandquickitem_p.h b/src/compositor/compositor_api/qwaylandquickitem_p.h index 5c953771e..679d218ee 100644 --- a/src/compositor/compositor_api/qwaylandquickitem_p.h +++ b/src/compositor/compositor_api/qwaylandquickitem_p.h @@ -128,19 +128,26 @@ public: q->setSmooth(true); - q->setAcceptedMouseButtons(Qt::LeftButton | Qt::MiddleButton | Qt::RightButton | - Qt::ExtraButton1 | Qt::ExtraButton2 | Qt::ExtraButton3 | Qt::ExtraButton4 | - Qt::ExtraButton5 | Qt::ExtraButton6 | Qt::ExtraButton7 | Qt::ExtraButton8 | - Qt::ExtraButton9 | Qt::ExtraButton10 | Qt::ExtraButton11 | - Qt::ExtraButton12 | Qt::ExtraButton13); - q->setAcceptHoverEvents(true); - + setInputEventsEnabled(true); QObject::connect(q, &QQuickItem::windowChanged, q, &QWaylandQuickItem::updateWindow); QObject::connect(view.data(), &QWaylandView::surfaceChanged, q, &QWaylandQuickItem::surfaceChanged); QObject::connect(view.data(), &QWaylandView::surfaceChanged, q, &QWaylandQuickItem::handleSurfaceChanged); QObject::connect(view.data(), &QWaylandView::surfaceDestroyed, q, &QWaylandQuickItem::surfaceDestroyed); } + + void setInputEventsEnabled(bool enable) + { + Q_Q(QWaylandQuickItem); + q->setAcceptedMouseButtons(enable ? (Qt::LeftButton | Qt::MiddleButton | Qt::RightButton | + Qt::ExtraButton1 | Qt::ExtraButton2 | Qt::ExtraButton3 | Qt::ExtraButton4 | + Qt::ExtraButton5 | Qt::ExtraButton6 | Qt::ExtraButton7 | Qt::ExtraButton8 | + Qt::ExtraButton9 | Qt::ExtraButton10 | Qt::ExtraButton11 | + Qt::ExtraButton12 | Qt::ExtraButton13) : Qt::NoButton); + q->setAcceptHoverEvents(enable); + inputEventsEnabled = enable; + } + bool shouldSendInputEvents() const { return view->surface() && inputEventsEnabled; } int scaleFactor() const { return view->output() ? view->output()->scaleFactor() : 1; } |