diff options
author | Frederik Gladhorn <frederik.gladhorn@nokia.com> | 2010-08-16 15:18:59 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@nokia.com> | 2010-08-16 15:18:59 +0200 |
commit | 1073a30c2aadd1d10f5e95f308c62c281902917e (patch) | |
tree | ca2ded6fc2a18b4c519a587e1ea1e8665161fe2b | |
parent | da2fbb4276be08bf151e755ddb1a0589f2d72f30 (diff) | |
parent | d60d1c109d07e5a820afce632a872c31c1a87565 (diff) |
Merge branch 'master' of gitorious.org:stuff/qml-dashboard
-rw-r--r-- | multilayer-dashboard/MainWidget.qml | 62 | ||||
-rw-r--r-- | multilayer-dashboard/RowWidget.qml | 82 | ||||
-rw-r--r-- | multilayer-dashboard/TapWidget.qml | 116 | ||||
-rw-r--r-- | stroke-list/Button.qml | 7 |
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)) { |