diff options
author | Jens Bache-Wiig <jens.bache-wiig@digia.com> | 2013-08-22 17:20:52 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-13 17:51:48 +0200 |
commit | 406d6d33a6c0c5f99dfa31e2eb681b1fefcd5fe0 (patch) | |
tree | c365e466a5ba74a29ab1bc1f51aab6f407d105b9 /src/quick/items/qquickwindow.cpp | |
parent | ee6cc22ebd0ec236454bc2112fe5f82e31299143 (diff) |
Expose drag threshold in MouseArea
In several cases such as for creating a Slider, it is useful to have a
0 pixel threshold in order to initiate a drag operation. We have
previously hardcoded this to a platform dependent (usually 10 pixel)
value for MouseArea.
Note that we have no way of indicating the version/revision number
in a grouped property for documentation at the moment.
In addition we deliberately had to remove the REVISION from the
property because it is blocked by QTBUG-33179. However, since
this is not a user-creatable type it should not cause any
issues in practice.
This patch adds MouseArea.drag.threshold in order to improve on this.
Change-Id: Ia4871e64fab39e30c4494f00be99ad38cdd630df
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'src/quick/items/qquickwindow.cpp')
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index c8bc026868..513c3da0a2 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -2077,13 +2077,13 @@ bool QQuickWindowPrivate::sendFilteredMouseEvent(QQuickItem *target, QQuickItem return false; } -bool QQuickWindowPrivate::dragOverThreshold(qreal d, Qt::Axis axis, QMouseEvent *event) +bool QQuickWindowPrivate::dragOverThreshold(qreal d, Qt::Axis axis, QMouseEvent *event, int startDragThreshold) { QStyleHints *styleHints = qApp->styleHints(); int caps = QGuiApplicationPrivate::mouseEventCaps(event); bool dragVelocityLimitAvailable = (caps & QTouchDevice::Velocity) && styleHints->startDragVelocity(); - bool overThreshold = qAbs(d) > styleHints->startDragDistance(); + bool overThreshold = qAbs(d) > (startDragThreshold >= 0 ? startDragThreshold : styleHints->startDragDistance()); if (dragVelocityLimitAvailable) { QVector2D velocityVec = QGuiApplicationPrivate::mouseEventVelocity(event); qreal velocity = axis == Qt::XAxis ? velocityVec.x() : velocityVec.y(); |