From 5c639a07fd90916d39823e800d5d89f779d892e9 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Fri, 18 Nov 2016 15:02:18 +0100 Subject: TapHandler: add long-press feature MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a longPressed signal, emitted when the point is held long enough. Add the longPressThreshold to control how long that is. Change-Id: I95a65f1e4c62eb41fb9ea02b14bdc3f16aa72ec2 Reviewed-by: Jan Arve Sæther --- tests/manual/pointer/tapHandler.qml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/manual/pointer/tapHandler.qml b/tests/manual/pointer/tapHandler.qml index d099fc7faf..f2a454fb80 100644 --- a/tests/manual/pointer/tapHandler.qml +++ b/tests/manual/pointer/tapHandler.qml @@ -57,6 +57,11 @@ Item { acceptedButtons: (leftAllowedCB.checked ? Qt.LeftButton : Qt.NoButton) | (middleAllowedCB.checked ? Qt.MiddleButton : Qt.NoButton) | (rightAllowedCB.checked ? Qt.RightButton : Qt.NoButton) + onPressedButtonsChanged: switch (pressedButtons) { + case Qt.MiddleButton: borderBlink.blinkColor = "orange"; break; + case Qt.RightButton: borderBlink.blinkColor = "magenta"; break; + default: borderBlink.blinkColor = "green"; break; + } onCanceled: { console.log("canceled @ " + pos) borderBlink.blinkColor = "red" @@ -68,14 +73,13 @@ Item { tapCountLabel.text = tapCount flashAnimation.start() } else { - switch (point.event.button) { - case Qt.LeftButton: borderBlink.blinkColor = "green"; break; - case Qt.MiddleButton: borderBlink.blinkColor = "orange"; break; - case Qt.RightButton: borderBlink.blinkColor = "magenta"; break; - } borderBlink.start() } } + onLongPressed: longPressFeedback.createObject(rect, + {"x": pos.x, "y": pos.y, + "text": "long press", + "color": borderBlink.blinkColor}) } Text { @@ -105,6 +109,11 @@ Item { } } + Component { + id: longPressFeedback + Text { } + } + SequentialAnimation { id: borderBlink property color blinkColor: "blue" -- cgit v1.2.3