summaryrefslogtreecommitdiffstats
path: root/stroke-list
diff options
context:
space:
mode:
authorDenis Dzyubenko <denis.dzyubenko@nokia.com>2010-07-20 16:40:44 +0200
committerDenis Dzyubenko <denis.dzyubenko@nokia.com>2010-07-20 16:40:44 +0200
commita1638918727fc04e15c80907b3951f642dad766e (patch)
treeb31dbcb96777de7a551d3503dae1c506d0d7253c /stroke-list
parentb10e7c8763987d9bb4f5f533a1cf8ca423f7528c (diff)
Improved swipe gesture handling
Diffstat (limited to 'stroke-list')
-rw-r--r--stroke-list/Button.qml13
1 files changed, 13 insertions, 0 deletions
diff --git a/stroke-list/Button.qml b/stroke-list/Button.qml
index d98c340..651637b 100644
--- a/stroke-list/Button.qml
+++ b/stroke-list/Button.qml
@@ -103,8 +103,19 @@ Rectangle {
property bool handled: false
+ function isHorizontalSwipe(angle) {
+ if (angle > 160 && angle < 200)
+ return true;
+ if (angle > 0 && angle < 20)
+ return true;
+ if (angle > 340 && angle < 360)
+ return true;
+ return false;
+ }
+
GestureArea {
anchors.fill: parent
+
Tap {
when: button.enabled && gesture.state == Qt.GestureStarted
script: { button.state = "pressed" }
@@ -128,11 +139,13 @@ Rectangle {
Swipe {
when: gesture.state == Qt.GestureFinished
+ && isHorizontalSwipe(gesture.swipeAngle)
&& gesture.horizontalDirection == QSwipeGesture.Left
script: button.state = ""
}
Swipe {
when: gesture.state == Qt.GestureFinished
+ && isHorizontalSwipe(gesture.swipeAngle)
&& gesture.horizontalDirection == QSwipeGesture.Right
script: button.state = "disabled"
}