summaryrefslogtreecommitdiffstats
path: root/src/input/frontend/qmousehandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/input/frontend/qmousehandler.cpp')
-rw-r--r--src/input/frontend/qmousehandler.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/src/input/frontend/qmousehandler.cpp b/src/input/frontend/qmousehandler.cpp
index dab6d95cd..175b6cc45 100644
--- a/src/input/frontend/qmousehandler.cpp
+++ b/src/input/frontend/qmousehandler.cpp
@@ -10,31 +10,34 @@
QT_BEGIN_NAMESPACE
+namespace Qt3DInput {
+
using namespace Qt3DCore;
+using namespace std::chrono_literals;
-namespace Qt3DInput {
/*! \internal */
QMouseHandlerPrivate::QMouseHandlerPrivate()
: QComponentPrivate()
, m_mouseDevice(nullptr)
, m_containsMouse(false)
- , m_pressAndHoldTimer(new QTimer)
{
m_shareable = false;
- m_pressAndHoldTimer->setSingleShot(true);
- m_pressAndHoldTimer->setInterval(800);
- QObject::connect(m_pressAndHoldTimer, &QTimer::timeout, [this] {
- emit q_func()->pressAndHold(m_lastPressedEvent.data());
- });
}
QMouseHandlerPrivate::~QMouseHandlerPrivate()
{
}
-void QMouseHandlerPrivate::init(QObject *parent)
+void QMouseHandlerPrivate::init()
{
- m_pressAndHoldTimer->setParent(parent);
+ Q_Q(QMouseHandler);
+
+ m_pressAndHoldTimer = new QTimer(q);
+ m_pressAndHoldTimer->setSingleShot(true);
+ m_pressAndHoldTimer->setInterval(800ms);
+ QObject::connect(m_pressAndHoldTimer, &QTimer::timeout, q, [this, q] {
+ emit q->pressAndHold(m_lastPressedEvent.data());
+ });
}
void QMouseHandlerPrivate::mouseEvent(const QMouseEventPtr &event)
@@ -229,7 +232,7 @@ QMouseHandler::QMouseHandler(QNode *parent)
: QComponent(*new QMouseHandlerPrivate, parent)
{
Q_D(QMouseHandler);
- d->init(this);
+ d->init();
}
QMouseHandler::~QMouseHandler()