diff options
author | Mitch Curtis <[email protected]> | 2021-08-12 14:39:51 +0200 |
---|---|---|
committer | Mitch Curtis <[email protected]> | 2021-08-16 12:52:59 +0200 |
commit | 809339d1484cf556512534367b8170bc26baf072 (patch) | |
tree | 12871313b658f36d058b5ef25af1e247e9c46ce9 /src/quicktemplates2/qquickpresshandler.cpp | |
parent | b01b4f00eae8022c6a97d90f54dac395144ae095 (diff) |
Now that qtquickcontrols2 has been merged into qtdeclarative,
we should make it obvious that this repo should no longer be
used, by preventing it from being built.
Task-number: QTBUG-95173
Pick-to: 6.2
Change-Id: I95bd6a214f3d75a865ab163ee0a1f9ffbeb7a051
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Volker Hilsheimer <[email protected]>
Diffstat (limited to 'src/quicktemplates2/qquickpresshandler.cpp')
-rw-r--r-- | src/quicktemplates2/qquickpresshandler.cpp | 147 |
1 files changed, 0 insertions, 147 deletions
diff --git a/src/quicktemplates2/qquickpresshandler.cpp b/src/quicktemplates2/qquickpresshandler.cpp deleted file mode 100644 index d9ed484b..00000000 --- a/src/quicktemplates2/qquickpresshandler.cpp +++ /dev/null @@ -1,147 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ -** -** This file is part of the Qt Quick Templates 2 module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL3$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see http://www.qt.io/terms-conditions. For further -** information use the contact form at http://www.qt.io/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 3 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPLv3 included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 3 requirements -** will be met: https://www.gnu.org/licenses/lgpl.html. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 2.0 or later as published by the Free -** Software Foundation and appearing in the file LICENSE.GPL included in -** the packaging of this file. Please review the following information to -** ensure the GNU General Public License version 2.0 requirements will be -** met: http://www.gnu.org/licenses/gpl-2.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qquickpresshandler_p_p.h" - -#include <QtCore/private/qobject_p.h> -#include <QtGui/qguiapplication.h> -#include <QtGui/qstylehints.h> -#include <QtQuick/qquickitem.h> -#include <QtQuick/private/qquickevents_p_p.h> -#include <QtQuickTemplates2/private/qquicktextarea_p.h> -#include <QtQuickTemplates2/private/qquicktextfield_p.h> - -QT_BEGIN_NAMESPACE - -void QQuickPressHandler::mousePressEvent(QMouseEvent *event) -{ - longPress = false; - pressPos = event->position(); - if (Qt::LeftButton == (event->buttons() & Qt::LeftButton)) { - timer.start(QGuiApplication::styleHints()->mousePressAndHoldInterval(), control); - delayedMousePressEvent = new QMouseEvent(event->type(), event->position().toPoint(), event->button(), event->buttons(), event->modifiers()); - } else { - timer.stop(); - } - - if (isSignalConnected(control, "pressed(QQuickMouseEvent*)", pressedSignalIndex)) { - QQuickMouseEvent mev; - mev.reset(pressPos.x(), pressPos.y(), event->button(), event->buttons(), - event->modifiers(), false/*isClick*/, false/*wasHeld*/); - mev.setAccepted(true); - QQuickMouseEvent *mevPtr = &mev; - void *args[] = { nullptr, &mevPtr }; - QMetaObject::metacall(control, QMetaObject::InvokeMetaMethod, pressedSignalIndex, args); - event->setAccepted(mev.isAccepted()); - } -} - -void QQuickPressHandler::mouseMoveEvent(QMouseEvent *event) -{ - if (qAbs(int(event->position().x() - pressPos.x())) > QGuiApplication::styleHints()->startDragDistance()) - timer.stop(); -} - -void QQuickPressHandler::mouseReleaseEvent(QMouseEvent *event) -{ - if (!longPress) { - timer.stop(); - - if (isSignalConnected(control, "released(QQuickMouseEvent*)", releasedSignalIndex)) { - QQuickMouseEvent mev; - mev.reset(pressPos.x(), pressPos.y(), event->button(), event->buttons(), - event->modifiers(), false/*isClick*/, false/*wasHeld*/); - mev.setAccepted(true); - QQuickMouseEvent *mevPtr = &mev; - void *args[] = { nullptr, &mevPtr }; - QMetaObject::metacall(control, QMetaObject::InvokeMetaMethod, releasedSignalIndex, args); - event->setAccepted(mev.isAccepted()); - } - } -} - -void QQuickPressHandler::timerEvent(QTimerEvent *) -{ - timer.stop(); - clearDelayedMouseEvent(); - - longPress = isSignalConnected(control, "pressAndHold(QQuickMouseEvent*)", pressAndHoldSignalIndex); - if (longPress) { - QQuickMouseEvent mev; -QT_WARNING_PUSH -QT_WARNING_DISABLE_DEPRECATED - mev.reset(pressPos.x(), pressPos.y(), Qt::LeftButton, Qt::LeftButton, - QGuiApplication::keyboardModifiers(), false/*isClick*/, true/*wasHeld*/); -QT_WARNING_POP - mev.setAccepted(true); - // Use fast signal invocation since we already got its index - QQuickMouseEvent *mevPtr = &mev; - void *args[] = { nullptr, &mevPtr }; - QMetaObject::metacall(control, QMetaObject::InvokeMetaMethod, pressAndHoldSignalIndex, args); - if (!mev.isAccepted()) - longPress = false; - } -} - -void QQuickPressHandler::clearDelayedMouseEvent() -{ - if (delayedMousePressEvent) { - delete delayedMousePressEvent; - delayedMousePressEvent = 0; - } -} - -bool QQuickPressHandler::isActive() -{ - return !(timer.isActive() || longPress); -} - -bool QQuickPressHandler::isSignalConnected(QQuickItem *item, const char *signalName, int &signalIndex) -{ - if (signalIndex == -1) - signalIndex = item->metaObject()->indexOfSignal(signalName); - Q_ASSERT(signalIndex != -1); - const auto signalMetaMethod = item->metaObject()->method(signalIndex); - if (QQuickTextArea *textArea = qobject_cast<QQuickTextArea*>(item)) { - return textArea->isSignalConnected(signalMetaMethod); - } else if (QQuickTextField *textField = qobject_cast<QQuickTextField*>(item)) { - return textField->isSignalConnected(signalMetaMethod); - } - qFatal("Unhandled control type for signal name: %s", signalName); - return false; -} - -QT_END_NAMESPACE |