summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@nokia.com>2010-08-16 15:18:59 +0200
committerFrederik Gladhorn <frederik.gladhorn@nokia.com>2010-08-16 15:18:59 +0200
commit1073a30c2aadd1d10f5e95f308c62c281902917e (patch)
treeca2ded6fc2a18b4c519a587e1ea1e8665161fe2b
parentda2fbb4276be08bf151e755ddb1a0589f2d72f30 (diff)
parentd60d1c109d07e5a820afce632a872c31c1a87565 (diff)
Merge branch 'master' of gitorious.org:stuff/qml-dashboard
-rw-r--r--multilayer-dashboard/MainWidget.qml62
-rw-r--r--multilayer-dashboard/RowWidget.qml82
-rw-r--r--multilayer-dashboard/TapWidget.qml116
-rw-r--r--stroke-list/Button.qml7
4 files changed, 193 insertions, 74 deletions
diff --git a/multilayer-dashboard/MainWidget.qml b/multilayer-dashboard/MainWidget.qml
index bf178c3..96003b6 100644
--- a/multilayer-dashboard/MainWidget.qml
+++ b/multilayer-dashboard/MainWidget.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import Qt.labs.gestures 1.0
@@ -8,23 +48,23 @@ Rectangle {
id: dashboard
Rectangle {
- id: rowWidgetContainer
- RowWidget {
- id: firstRow
+ id: rowWidgetContainer
+ RowWidget {
+ id: firstRow
reparentWidget: dashboard
topLevel: dashboard
- }
+ }
- RowWidget {
- id: secondRow
- anchors.left : firstRow.right
+ RowWidget {
+ id: secondRow
+ anchors.left : firstRow.right
reparentWidget: dashboard
topLevel: dashboard
}
- RowWidget {
- id: thirdRow
- anchors.left : secondRow.right
+ RowWidget {
+ id: thirdRow
+ anchors.left : secondRow.right
//reparentWidget: dashboard
topLevel: dashboard
}
@@ -41,7 +81,7 @@ Rectangle {
anchors.fill: dashboard
Pan {
- when: gesture.delta.y < 5 && gesture.delta.x != 0
+ when: Math.abs(gesture.delta.y) < Math.abs(gesture.delta.x)
onUpdated: {
rowWidgetContainer.pos.x = rowWidgetContainer.pos.x + gesture.delta.x;
diff --git a/multilayer-dashboard/RowWidget.qml b/multilayer-dashboard/RowWidget.qml
index f7f950b..fed0681 100644
--- a/multilayer-dashboard/RowWidget.qml
+++ b/multilayer-dashboard/RowWidget.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import Qt.labs.gestures 1.0
@@ -9,29 +49,29 @@ Rectangle {
property variant topLevel: myRow
Rectangle {
- id: tapWidgetContainer
+ id: tapWidgetContainer
- TapWidget {
- x: 10
- id: firstWidget
- color: "green"
+ TapWidget {
+ x: 10
+ id: firstWidget
+ color: "green"
reparentWidget: myRow.reparentWidget
- }
- TapWidget {
- x:10
- anchors.top : firstWidget.bottom
- anchors.topMargin : 2.0
- id: secondWidget
- color: "blue"
+ }
+ TapWidget {
+ x:10
+ anchors.top : firstWidget.bottom
+ anchors.topMargin : 2.0
+ id: secondWidget
+ color: "blue"
reparentWidget: myRow.reparentWidget
- }
- TapWidget {
- x:10
- anchors.top : secondWidget.bottom
- anchors.topMargin : 2.0
- id: thirdWidget
+ }
+ TapWidget {
+ x:10
+ anchors.top : secondWidget.bottom
+ anchors.topMargin : 2.0
+ id: thirdWidget
reparentWidget: myRow.reparentWidget
- }
+ }
property int maxY : (tapWidgetContainer.childrenRect.height > topLevel.height) ?
0 :
@@ -42,11 +82,11 @@ Rectangle {
} // end Rectangle
GestureArea {
- id: rowGestureArea
+ id: rowGestureArea
anchors.fill: parent
Pan {
- when: gesture.delta.x < 5 && gesture.delta.y != 0
+ when: Math.abs(gesture.delta.y) > Math.abs(gesture.delta.x)
onUpdated: {
tapWidgetContainer.pos.y = tapWidgetContainer.pos.y + gesture.delta.y;
diff --git a/multilayer-dashboard/TapWidget.qml b/multilayer-dashboard/TapWidget.qml
index e3442cc..b80787f 100644
--- a/multilayer-dashboard/TapWidget.qml
+++ b/multilayer-dashboard/TapWidget.qml
@@ -1,3 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
import Qt 4.7
import Qt.labs.gestures 1.0
@@ -9,49 +49,49 @@ Rectangle {
property variant reparentWidget : testWidget
Rectangle {
- id: innerWidget
- color: "steelblue"
- radius: 10
- opacity: 0.3
- anchors.fill: testWidget
-
- property bool fullScreen : false
-
- Text {
- id: labelText
- text: "Press me, Hold me!!!"
- anchors.centerIn: parent
- }
-
- MouseArea {
- anchors.fill: parent
- hoverEnabled: true
- onEntered: { if (!innerWidget.fullScreen) parent.opacity = 0.8 }
- onExited: { if (!innerWidget.fullScreen) parent.opacity = 0.3 }
- }
-
- GestureArea {
- id: tapGestureArea
- anchors.fill: parent
- TapAndHold {
+ id: innerWidget
+ color: "steelblue"
+ radius: 10
+ opacity: 0.3
+ anchors.fill: testWidget
+
+ property bool fullScreen : false
+
+ Text {
+ id: labelText
+ text: "Press me, Hold me!!!"
+ anchors.centerIn: parent
+ }
+
+ MouseArea {
+ anchors.fill: parent
+ hoverEnabled: true
+ onEntered: { if (!innerWidget.fullScreen) parent.opacity = 0.8 }
+ onExited: { if (!innerWidget.fullScreen) parent.opacity = 0.3 }
+ }
+
+ GestureArea {
+ id: tapGestureArea
+ anchors.fill: parent
+ TapAndHold {
onFinished: {
- if (!innerWidget.fullScreen) {
+ if (!innerWidget.fullScreen) {
innerWidget.opacity = 1.0
- innerWidget.fullScreen = true
+ innerWidget.fullScreen = true
innerWidget.parent = testWidget.reparentWidget
innerWidget.anchors.fill = testWidget.reparentWidget
- labelText.text = "Full Screen Widget"
- }
- else {
- innerWidget.parent = testWidget
- innerWidget.anchors.fill = testWidget
- innerWidget.fullScreen = false
- labelText.text = "Press me, Hold me!!!"
- }
- }
- }
- }
+ labelText.text = "Full Screen Widget"
+ }
+ else {
+ innerWidget.parent = testWidget
+ innerWidget.anchors.fill = testWidget
+ innerWidget.fullScreen = false
+ labelText.text = "Press me, Hold me!!!"
+ }
+ }
+ }
+ }
}
}
diff --git a/stroke-list/Button.qml b/stroke-list/Button.qml
index b53d54a..a3fdfe1 100644
--- a/stroke-list/Button.qml
+++ b/stroke-list/Button.qml
@@ -104,11 +104,9 @@ Rectangle {
property bool handled: false
function isHorizontalSwipe(angle) {
- if (angle > 160 && angle < 200)
+ if (angle > 150 && angle < 210)
return true;
- if (angle > 0 && angle < 20)
- return true;
- if (angle > 340 && angle < 360)
+ if (angle > 330 || angle < 30)
return true;
return false;
}
@@ -139,6 +137,7 @@ Rectangle {
}
Swipe {
+ when: gesture.speed > 25
onStarted: button.handled = true
onFinished: {
if (isHorizontalSwipe(gesture.swipeAngle)) {