diff options
Diffstat (limited to 'src/input/frontend/qmousehandler.cpp')
-rw-r--r-- | src/input/frontend/qmousehandler.cpp | 23 |
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() |